はじめに
App Serviceを仮想ネットワークに接続して外からアクセスできないようにし、さらに別の仮想ネットワークからアクセスしたいといったケースがありましたので、その方法をご紹介します。
準備
まずはプライベートエンドポイントを使って、App Serviceと仮想ネットワーク(VNET1)を接続します。(プライベートエンドポイントには専用のサブネットが必要です)
App Serviceのネットワーク設定からプライベートエンドポイントを作成
これでApp Serviceにプライベート接続できるようになります。また、外からアクセスできなくなります。
App ServiceのプライベートDNSゾーンも同時に作成されます(未作成の場合)。
課題
この時点ではピアリングしている仮想ネットワーク(VNET2)から、App ServiceのプライベートIPアドレスやドメイン名を使ってもApp Serviceにアクセスすることができません。
VNET2上の仮想マシンからプライベートIPアドレスでアクセス
解決方法
VNET2からアクセスできるようにするには、VNET2からもApp ServiceのプライベートDNSゾーンを参照するようにします。プライベートDNSゾーンで仮想ネットワークリンクを作成します。
これでVNET2上の仮想マシンからドメイン名でApp Serviceにアクセスできるようになります。
App Serviceにアクセスできなかった理由
VNET2からApp Serviceにアクセスできなかった理由は以下の通りです。
-
プライベートIPアドレスでアクセスできない
→ App Serviceの仕様でドメイン名でアクセスする必要があるWeb アプリにプライベート エンドポイントを使用する場合は、要求する URL が Web アプリの名前と一致している必要があります。 既定値は mywebappname.azurewebsites.net です。
既定の証明書が *.azurewebsites.net に対して発行されるため、この名前を使用する必要があります。
-
ドメイン名でアクセスできない
→ 名前解決できる必要がある