LoginSignup
0
0

Azure Container Apps + Application Gateway の構成時の注意点とホスト名の保存について

Last updated at Posted at 2023-12-20

本記事について

Azure Container Apps でウェブアプリケーションをホストする際、URL パスベースのルーティングや WAF (ウェブアプリケーションファイアウォール) などの機能を利用するために、Application Gateway (V2) を前段に置きたいことがあるかと思います。

その際に、特に Container Apps でデフォルトのドメイン名を使うときと、カスタムドメインを追加して Application Gateway と Container Apps 間でホスト名の保存を行いたいときで設定が変わってきます。本稿では、その違いについて簡単にまとめたいと思います。

デフォルトドメインを利用する時 (ホスト名の保存を行わないとき)

以下のようなケースを考えてみます。

image.png

この場合、Application Gateway で HTTP(S) リクエストを処理する際に、ヘッダーの 'Host' の値を Container Apps のホスト名に変更する必要があります。

これは、バックエンド設定で新しいホスト名でオーバーライドを有効化するか、書き換えの設定でヘッダー値を書き換える必要があります。

バックエンド設定

image.png

書き換え

image.png

逆に、Application Gateway で受けたドメイン名を Host の値にしたままにすることはできず (その場合は Container Apps から HTTP 403 エラーが返ってきます)、その場合は下記のパターンの構成を取る必要があります。

カスタムドメインを利用し、ホスト名の保存を行う時

次に、以下のようなケースを考えます。Application Gateway でリクエストを受け付けるドメインと Container Apps 上のアプリケーションでリクエストを受けるドメインを同じにしたい場合を考えます。

image.png

この場合は、まず Container Apps 側でカスタムドメインを追加する必要があります。その際に、DNS Zone に CNAME と TXT レコードを追加することが必要です。もし、Application Gateway を使っていて、既に Aレコードで Application Gateway のもつパブリック IP アドレスに対して名前解決を行っている場合、一度その Aレコードを削除して、両レコードを追加する必要があります。そして、ドメインの検証を完了し、カスタムドメイン追加後に再度 Aレコードを追加します。(この場合、マネージド証明書を Container Apps 側で利用するとその更新などに影響が出る可能性があります。)

そして、デフォルトドメインを利用する際と異なり、ホスト名のオーバーライドや書き換えをしない設定にします。すると、カスタムドメインが追加されていない際は、HTTP 403 エラーが返ってきますが、追加されるとページが表示されるようになります。

カスタムドメインが追加されていないケース

image.png

カスタムドメインが追加されているケース

image.png

最後に

*本稿は、個人の見解に基づいた内容であり、所属する会社の公式見解ではありません。また、いかなる保証を与えるものでもありません。正式な情報は、各製品の販売元にご確認ください。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0