このエントリは、2019/06/05現在の情報を基にした備忘録として記述しているものです。この中で、Logic Appはインスタンス、ロジック アプリはLogic Appインスタンスで作成したアプリケーションを指すものとします。
統合サービス環境 (ISE: Integration Service Environment) とは
Azureが提供する、Logic Appの分離された (isolated) プライベートインスタンスを作成するための環境。App Service Environment (ASE) のLogic App版。2019年5月に一部のリージョンを除きGA(東・西日本リージョンでも利用可能)。
統合サービス環境 (ISE) を使用して、Azure Logic Apps から Azure Virtual Network リソースにアクセスする / Access to Azure Virtual Network resources from Azure Logic Apps by using integration service environments (ISEs)
https://docs.microsoft.com/azure/logic-apps/connect-virtual-network-vnet-isolated-environment-overview
メリット
- ストレージなど、専用リソースを使えるため、Noisy Neighborの影響を受けなくてすむ
- 仮想ネットワーク内のシステムや仮想ネットワークに接続されているシステムに直接アクセスできる(つまり、プライベート IP アドレスを利用して非公開でサービス リソースと通信できる)
ISEインスタンスの作り方
前提条件
ドキュメントに記載の通りだが、特に注意しておくべきは以下。
- 仮想ネットワークがすでに存在していること(ISE作成時に仮想ネットワークが存在しないと作成ができない)。
- 必要なサブネットを作成済みであること(各サブネットに32個のアドレスが必要なので、最低でも /27のサブネットが4個必要)。

- サブネットの名称が命名規則に合っていること。
- ISEが必要とするポートが開いていること。具体的には以下のURLに記載がある。
https://docs.microsoft.com/azure/logic-apps/connect-virtual-network-vnet-isolated-environment#set-up-network-ports
所要時間
ドキュメントには最長2時間かかる可能性がある、との記述がある。実際に作成した際には80分ほど要したので、帰宅前に仕込むぐらいの気持ちのほうがよい。
利用可能なコネクター
ドキュメントは以下(2019/06/05現在日本語ドキュメントは英語版に追いついていないので、英語版のみ)。
https://docs.microsoft.com/azure/logic-apps/connect-virtual-network-vnet-isolated-environment-overview#difference
前提
When you create your logic app, you select your ISE as your app’s location, which gives your logic app direct access to your virtual network and the resources in that network.
https://docs.microsoft.com/azure/logic-apps/connect-virtual-network-vnet-isolated-environment-overview#isolated-versus-global
ロジック アプリを作成するときにアプリの場所として ISE を選択すると、ロジック アプリは仮想ネットワークとそのネットワーク内のリソースに直接アクセスできるようになります。
グローバル(ISEではない)のLogic Appで利用可能なビルトイン コネクターだけでなく、ISE内専用のコネクターも利用できる。コネクター選択時にわかるようになっている。
ロジック アプリが稼働するのと同じISE内で利用できるビルトイン トリガーやアクションには、Coreというラベルが付いている。

ISEで動作するコネクターには、グローバル利用可能なコネクターも存在する。
- ISEのラベルが付いたもの:ロジック アプリと同じISE内で実行したい場合に利用
- ISEラベルのないもの:グローバルのLogic Appサービスで実行

オンプレミスのデータソースへのアクセス
仮想ネットワークに接続済みのオンプレミスシステムの場合、ISEを当該ネットワークに参加させると、ロジック アプリは以下のようなコネクターやアクションを使って、直接システム間での通信が可能。
- ISEラベルの付いたコネクター(例:SQL Server)
- HTTPアクション
- カスタムコネクター
- On-premise Data Gatewayが必要であれば、ISEの外でコネクターを作成すると、ISE内のロジック アプリはこれらのコネクターを利用可能
- ISE内で作成されたカスタムコネクターは、On-premise Data Gatewayを使った接続はできないが、ISEがホストされている仮想ネットワークに接続されているオンプレミスのデータソースに直接アクセス可能なので、ISE内のロジック アプリの場合、通常はOn-premise Data Gatewayを必要としない。
当然ながら、仮想ネットワークに接続していないオンプレミスシステムや、ISE版のコネクターがないオンプレミスシステムの場合、On-premise Data Gatewayを構成する必要がある。
Integration Account (統合アカウント)
統合アカウントは、EDIアーティファクト(トレーディングパートナー、アグリーメント、マップ、スキーマ、証明書など)を作成・格納・管理するために利用する。ロジック アプリがLogic App B2Bコネクターを使う場合には、ロジック アプリに統合アカウントを紐付ける必要がある。
注意点
統合アカウントはISE内でも利用可能だが、以下の注意点がある。
ISE内のロジック アプリは、実行環境であるISEに紐付けられた統合アカウントしか参照できないため、統合アカウントはLogic Appと同じISEを使わなければならない。
これはグローバルのロジック アプリでも同様で、以下のような注意書きがドキュメントに存在する。
Your integration account and logic app must exist in the same region.
https://docs.microsoft.com/azure/logic-apps/logic-apps-enterprise-integration-create-integration-account#link-to-logic-app
統合アカウントとロジック アプリは同じリージョン内にあることが必要です。
環境のスケールアウト
スループットが必要であれば、スケールユニットを追加可能(自動スケールも可能)。メトリックに基づくスケール、特定インスタンス数へのスケールを設定できる。

その後、自動スケールのルールを設定する。

ドキュメントは以下から。