App Service Multi-plan subnet joinとは?
Microsoft Ignite 2023で限定公開プレビューとして発表されたApp Service Multi-plan subnet join(MPSJ)とは、App ServiceのVnet統合時に1つのサブネットに対して複数のApp ServiceをVnet統合できるようになりました。
今までは1つのサブネットに対して1つのApp Service PlanしかVnet統合ができなかったため、複数のApp Service PlanをVnet統合を利用したうえで管理する場合にはApp Service Planの数だけサブネットを増やす必要がありました。
現在は West Central US と France Central のみで利用できるとのアナウンスがされています。今年中には複数のリージョンでのサポートが追加、来年の初めには全てのリージョンで利用可能になる予定とのことです。
注意点としてAzureポータルからの設定がまだサポートされていないので、Azure CLIを利用して設定する必要があります。
試してみる
まずはApp Service Planを作成します。
現在限定公開プレビューのためリージョンはFrance Centralを指定します。
今回は複数App Service Planを1つのサブネットにVnet統合するため、同様の手順で2つのApp Service Planを用意します。
上記で作成したApp Service Planを利用し、App Service(Webアプリ)を作成します。
App Service(Webアプリ)も同様にそれぞれのApp Service Planに作成します。
続いて、仮想ネットワークを作成します。
仮想ネットワーク作成の中でApp Service をVnet統合するためのsubnetを作成します。
今回はこちらのsubnetに2つのApp ServiceをVnet統合で紐づけます。
AzureポータルのApp Serviceのブレードから[ネットワーク]を選択し、仮想ネットワーク統合からVnet統合の設定をします。
上記で作成した仮想ネットワークとサブネットを選択し接続します。
指定したサブネットでVnet統合が設定できたことを確認します。
同様の手順でAzureポータルから2つ目のApp ServiceのVnet統合を設定しよう上記で作成したサブネットを指定すると「統合に使用不可」と表示されアナウンス通りポータルからは設定ができないことを確認できます。
Azure CLIを利用し以下のコマンドを実行することで2つ目以降のApp ServiceのVnet統合が可能になります。
※webAppsNameやsubscriptionsIDなどは適宜環境に応じて変更してください。
az resource update --name <webAppsName> --resource-type "Microsoft.Web/sites" --resource-group <resource-group-name> --set properties.virtualNetworkSubnetId="/subscriptions/ <subscriptionsID> /resourceGroups/ <resource-group-name> /providers/Microsoft.Network/virtualNetworks/ <virtualNetwork-name> /subnets/ <subnet-name> "
上記コマンドを実行すると、2つ目のApp Serviceも1つ目のApp Serviceと同じサブネットにVnet統合することができました。
Multi-plan subnet joinの対応によりシングルサブネットに複数App ServiceをVnet統合できることが確認できました。
最後に
Multi-plan subnet joinの対応はこちらの記事執筆時点の2023/12/20では限定公開プレビューの機能となっております。
そのため現時点では以下の注意点があります。
- GAではサブネットサイズの最小要件は/26となる予定。プレビュー時点では強制されていない。
- 2023/12/20時点で利用可能なリージョンはWest Central US と France Central のみ。
- 2つ目以降のApp ServiceをVnet統合するためにはCLIまたはARMを使用する必要がある。
その他細かい注意点も存在するため、公式のアナウンスページをご確認ください。
以上となります。
今回の検証が参考となれば幸いです。