📑

App Service の 仮想ネットワーク統合とサブネットの関係性

2024/01/13に公開

概要

App Service の 仮想ネットワーク統合を実施しようとして、既に統合されているサブネットが使用できるのか、1 つの App Service プランは、いくつの Vnet 統合を設定できるのか、といった点で時折迷ってしまうので、とりあえずこれだけ覚えておいたらよさそうな事を 3 点記載しておきます。

  • 同一 App Service プラン上の App Service は同じサブネットに仮想ネットワーク統合できる
  • 1 つの サブネットは 1 つの App Service プランでしか統合に使えない。
  • 1 つの Windows App Service プランにつき、セットできる仮想ネットワーク統合は 2 つまで。Linux なら 1 つのみ。

詳細

まず、詳細は公式ドキュメントに記載されています。

■ 制限事項
https://learn.microsoft.com/ja-jp/azure/app-service/overview-vnet-integration#limitations

  • この機能は、Premium v2 と Premium v3 のすべての App Service デプロイから使用できます。 また、Basic および Standard レベルでも使用できますが、新しい App Service のデプロイからのみ利用できます。 以前のデプロイを使用している場合は、Premium v2 App Service プランからのみ、この機能を使用できます。 Basic または Standard App Service プランでこの機能を使用できるようにするには、Premium v3 App Service プランでアプリを作成します。 それらのプランは、最新のデプロイでのみサポートされます。 プランを作成した後に、必要に応じてスケールダウンできます。
  • この機能は、App Service Environment の Isolated プラン アプリでは使用できません。
  • 従来の仮想ネットワークでは、ピアリング接続でリソースにアクセスすることはできません。
  • この機能を使用するには、Azure Resource Manager 仮想ネットワークで、/28 より大きい IPv4 のブロックからなる未使用のサブネットが必要です。
  • アプリと仮想ネットワークが同じリージョンに存在する必要があります。
  • 統合仮想ネットワークで IPv6 アドレス空間を定義することはできません。
  • 統合サブネットでは、サービス エンドポイント ポリシーを有効にすることはできません。
  • 統合サブネットは、1 つの App Service プランでしか使用できません。
  • 統合アプリがある仮想ネットワークを削除することはできません。 仮想ネットワークを削除する前に、統合を削除してください。
  • 1 つの Windows App Service プランにつき、2 つを超える仮想ネットワーク統合を持つことはできません。 1 つの Linux App Service プランにつき、複数の仮想ネットワーク統合を持つことはできません。 同じ App Service プラン内の複数のアプリで、同じ仮想ネットワーク統合を使用できます。
  • 仮想ネットワーク統合を使っているアプリがあるときに、アプリまたはプランのサブスクリプションを変更することはできません。

ポイントとしては、ひとまず以下 3 点を把握すればいいかと思います。

1.
同じ App Service プラン上の 複数の App Service は、同一サブネットに仮想ネットワーク統合することができる。具体的には、例えば以下のように、2 つ目以降の App Service で仮想ネットワーク統合するときに、同一 App Service プラン上ですでに別の App Service が仮想ネットワーク統合をしていれば、既存の接続を選択する事が可能です。

2.
あるサブネットに仮想ネットワーク統合をしたら、そのサブネットは、別の App Service プラン上の App Service からの仮想ネットワーク統合はできない。(同じ App Service プラン上の App Service からであれば、1 に記載したとおり、仮想ネットワーク統合可能です)
要するに公式ドキュメントに書いてある通り、**「統合サブネットは、1 つの App Service プランでしか使用できません」**という事ですね。

3.
公式ドキュメントをそのまま引用しますが、「1 つの Windows App Service プランにつき、2 つを超える仮想ネットワーク統合を持つことはできません。 1 つの Linux App Service プランにつき、複数の仮想ネットワーク統合を持つことはできません
Linux の App Service プランだと、1 つだけなのですね。
実際にやってみましたが、以下の通り、1 つの Linux の App Service プラン上に、2 つ App Service を作成し、2 つ目の App Service の仮想ネットワーク統合を行おうとしましたが、すでに存在する接続 (もう一方の App Service で作成したもの) しか選べません。Windows の App Service プランであればここで、新規作成のオプションがあります。

まとめ

とりあえず覚えておきたい 3 ポイントを纏めました。

  • 同一 App Service プラン上の App Service は同じサブネットに仮想ネットワーク統合できる
  • 1 つの サブネットは 1 つの App Service プランでしか統合に使えない。
  • 1 つの Windows App Service プランにつき、セットできる仮想ネットワーク統合は 2 つまで。Linux なら 1 つのみ。

Discussion