💭

[Azure] Application Gateway について(リスナー・バックエンド設定・ルール)

2023/02/15に公開

Application Gateway(以下、AppGW)の各種設定の関連性について

L7の負荷分散として使われるAppGWだが、リスナー・ルール・バックエンド設定といった各種設定を行って初めて負荷分散としての利用が可能になる。
設定が分散しているため、各設定の関連性をまとめておく。

リスナー ルール バックエンド設定 バックエンドプール
利用者に一番近い部分の設定。
どのドメイン・プロトコル(HTTPS/HTTP)でリクエストを受け付けるのかを設定する。
リスナーとバックエンド設定の紐づけを行う。
個別にパスベースのルーティングが必要な場合はここで設定を行う。
WEBサーバに一番近い部分の設定
どのプロトコル・ポートでリクエストを転送するかを設定する。
WEBサーバに一番近い部分の設定
リクエストを受け付けるサーバー群を定義する

references

※1 同じ利用者からのリクエストを同じサーバで処理する。セッションが1つのサーバで維持されることで、メモリの一時データなどキャッシュへのアクセス効率化・結果整合性が担保される。
※2 バックエンドからサーバが削除されるときに、処理中のリクエストが完了するまで削除を待つ。
※3 カスタムのTLSポリシー(暗号化の設定)を設定できる。カスタムで設定しない場合は既定値が適用される。
※4 マルチサイトを選択すると「単一」「複数またはワイルドカード」の設定ができる。
1つのApplication Gatewayで複数のドメインを扱う場合には「単一」に各ドメインを設定する必要がある。(https://contoso.com
ホスト名だけ変わり、リスナーとしては1つで済む場合には、「複数またはワイルドカード」を設定する。*.contoso.comや、aaa.contoso.com/bbb.contoso.comといった設定を行う。

Application GatewayでプライベートIPを持つことができるか?

結論:可能
ただし、バージョンには注意する必要がある。

Application Gateway V2 は現在、プライベート IP モードのみをサポートしていません。 次の組み合わせをサポートしています。

まぁプライベートIPモードのみで使いたいことは、ほぼないだろう。

フロントエンド IP アドレスの構成をApplication Gatewayする

Application Gateway のパスベースルーティングと複数ホストルーティング

パスベースルーティング:
Application Gatewayのルーティング規則の追加から、パスベースルーティングは追加ができる。



なるほど、ここでパスに応じてバックエンドの設定も変更できるということか。

実際のところ、パスベースルーティングと複数ホストルーティングは併用ができるらしい。
実機では試していないが、そんな雰囲気はある。
リスナールールで複数サイトのホストを設定する。
ルーティング規則の追加から、リスナールールを指定できる。まずはどのドメイン名を使うか指定できる。その上で、パスベースルーティングも設定したい場合は、バックエンドターゲットに設定できる。もちろん、パスベースルーティングを設定しなくてもルーティング規則の追加はできる。
なるほど便利だ。実際設定する際には、以下のイメージになると思う。

参考:
パスベースルーティング
複数サイトのホスト
Application Gateway の構成について
世界一わかりみの深いAzure Application Gateway

Discussion