Standard Logic Apps から VNet 経由で別リソースにアクセスする方法

Last Update: feedback 共有

こんにちは。Azure Integration サポート チームの髙橋です。

Standard Logic Apps から VNet 経由で別リソースにアクセスする方法について説明いたします。

こんな方におすすめです

  • VNet 統合を有効化し、VNet 経由で Azure Blob Storage 等にアクセスされたい方

VNet を経由する条件

Logic Apps から別リソースにアクセスする際に、VNet を経由するためにはいくつかの条件があります。

  • Standard Logic Apps を利用する
  • VNet 統合を有効化する
  • built-in (組み込み) タイプのコネクタを利用する
  • アクセス先のリソースに、プライベート エンドポイントを用意する

手順

以下の例では、VNet を経由して Azure Blob Storage にアクセスする方法をご紹介します。

Standard Logic Apps を利用する

Standard Logic Apps を新規に作成します。

Standard Logic Apps と従量課金 タイプの違いにつきましては、以下の公開情報に記載があります。

VNet 統合を有効化する

VNet 統合の有効化につきましては、以下の公開情報にも詳細について記載があります。

適宜 VNet を作成し、Logic Apps 用のサブネットを用意します。
[設定 - ネットワーク] を開き、「送信トラフィック」の「VNet 統合」を選択します。

作成しておいた Logic Apps 用のサブネットを選択します。
このとき、VNet 統合に利用するサブネットは空で、かつ委任されていない状態である必要があります。
別リソースで既に利用されているものは、「統合に使用不可」となり選択いただくことができかねます。

なお、ご参考とはなりますが、同一 App Service プランを利用している複数の Standard Logic Apps において、
それぞれで異なるサブネットを VNet 統合に利用することは推奨されておりません。
設定自体は可能でございますが、[問題の診断と解決] - [Networking] - [VNet 統合に関する情報] にて、以下のような警告が表示されます。

Logic Apps 側の公開情報ではなく、類似製品の Web Apps 側の公開情報とはなりますが、以下のような記載があります。

built-in (組み込み) タイプのコネクタを利用する

built-in (組み込み) タイプのコネクタは、トリガーおよびアクション追加時に「ランタイム」にて「アプリ内」にチェックを入れることで検索いただくことが可能です。
今回の例では、built-in タイプの「Azure Blob Storage」コネクタを利用します。

「Azure Blob Storage」コネクタには、built-in (組み込み) タイプのコネクタと、マネージド コネクタの 2 種類のご用意がございます。
「アプリ内」マークがございますのが、built-in (組み込み) タイプとなります。

built-in (組み込み) タイプのコネクタは、Azure Functions 拡張性モデルに基づいており、Azure Logic Apps ランタイムと同じプロセスで実行されます。
詳細につきましては、以下の公開情報があります。

以下に記載の通り、built-in (組み込み) タイプのコネクタをご利用いただいた場合のみ、VNet を経由することが可能です。

また、built-in (組み込み) タイプのコネクタは、マネージド コネクタに比べて種類が少ないため、ご希望のリソースに対応しているコネクタのご用意がない場合もございます。
この点につきましても、ご理解賜れますと幸いです。

なお、マネージド コネクタをご利用いただいた場合には、VNet 統合を有効化していてもコネクタを経由した後に対象リソースへアクセスする動作となりますので、
パブリック IP アドレスからの通信となります。
ただし、アクセス先のリソースが Microsoft 製品の場合、Microsoft のネットワークにルーティングされ、パブリック インターネットは経由いたしません。
以下、公開資料からの抜粋となります。

VNet 統合を有効化していて、かつマネージド コネクタもご利用されたい場合には、マネージド コネクタへ向かう通信 (サービス タグ「AzureConnectors.{リージョン}」を宛先とする通信) を、
NSG や Azure Firewall 等で許可する必要があります。

アクセス先のリソースに、プライベート エンドポイントを用意する

今回の例では、ストレージ アカウント側で blob のプライベート エンドポイントを作成します。
Standard Logic Apps の VNet 統合に利用したサブネットと、同一 VNet 内の異なるサブネットに配置しています。

上記の設定によって、VNet およびプライベート エンドポイントを経由しての通信が可能です。

まとめ

本記事では、Standard Logic Apps から VNet 経由で別の Azure リソースにアクセスする方法についてご案内いたしました。
本記事が少しでもお役に立ちましたら幸いです。

※本情報の内容(添付文書、リンク先などを含む)は、作成日時点でのものであり、予告なく変更される場合があります。