Application GatewayのListener portをPublic IP用、Private IP用で分ける必要がなくなった

このエントリは2023/03/20現在の情報に基づいています。将来の機能追加や変更により、記載内容からの乖離が発生する可能性があります。

先日以下のようなPublic Previewがこっそり発表されていた。

フロントエンド ポートを関連付けます。 既存のポートを選択するか、新しいポートを作成できます。 許可されているポート範囲から任意の値を選択します。 80 や 443 などの一般的なポートだけではなく、許可されている適切なカスタム ポートを使用できます。 パブリック リスナーとプライベート リスナーに同じポートを使用できます (プレビュー機能)。
Associate a frontend port. You can select an existing port or create a new one. Choose any value from the allowed range of ports. You can use not only well-known ports, such as 80 and 443, but any allowed custom port that’s suitable. The same port can be used for public and private listeners (Preview feature).

フロントエンド ポート / Frontend Port
https://learn.microsoft.com/azure/application-gateway/configuration-listeners#frontend-port

ということで、簡単に動作確認してみる。用意するのはこちら。

  • Application gateway (v2)
    • 付随するりソースとして以下を利用
      • Public IP
  • App Service
    • 今回は動作確認が目的なので、B1を使う
    • Private Endpoint、VNet Integrationを構成
    • Public Accessは禁止しておく
    • 今回は特に何もデプロイせず、IISが返すページの表示をもってアクセスを確認する。
  • VNet
    • Subnetは以下の4個 (Bastionを使うなら5個)
      • Application Gateway用のSubnet
      • VNet Integration用のSubnet
      • Private Endpoint用のSubnet
      • 動作確認用VMのSubnet
  • VM
    • ただのPrivate IPからの動作確認用。SKUは何でもよい。

Listenerは通常と同様、Application gatewayをふつうに構成する。Listenerは以下のように、同じポートに対してPrivate/Public両方で構成できる。

動作確認

まず、Public IPからの動作確認。

App Serviceへの直接アクセスは、Public Accessを抑止しているので、当然403が返る。

Application Gatewayを経由すれば閲覧できる。ここまでは特に何も問題ない。

続いてPrivate IPからのアクセス。

Application Gatewayを経由する場合だと、当然ながらアクセスできる。

同一VNetでPrivate Endpointを構成しているので、 (Private DNS ZoneやhostsでFQDNとPrivate IPを関連付けていれば) App ServiceのFQDNでもアクセスできる。

VMが存在するVNetからのアクセスをApplication Gateway経由のみに制限したい、ということなら、一つの方法としてVNetを分離し、Private LinkでApplication gatewayに接続する、ということもできる。なお、これもPublic Preview。

Application Gateway Private Link (プレビュー) / Application Gateway Private Link (preview)
https://learn.microsoft.com/ja-jp/azure/application-gateway/private-link
Azure Application Gateway の Private Link を構成する (プレビュー) / Configure Azure Application Gateway Private Link (preview)
https://learn.microsoft.com/azure/application-gateway/private-link-configure

トポロジーはこちら。明記不要なものは排除しているが、Private Link Serviceの作成 (Frontend IPはPrivate IPを利用) と、作成したPrivate Link Serviceを指すようにPrivate Endpointを構成するぐらいである。

これで、VM側のPrivate IPでアクセスできる。

もし、Private DNS Zoneを構成していれば、当然ながらFQDNでアクセスすることもできる。

まとめ

ようやくPrivate/Publicで共通のポートを利用できるようになった(次はPrivateだけでもPublic IPが必要になる制約がなくなることを期待しましょう)。

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト /  変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト /  変更 )

%s と連携中