技術ブログ株式会社エーピーコミュニケーションズの技術ブログです。エーピーコミュニケーションズの技術ブログです。>はじめにAzureコンテナソリューショングループの過部です。コンテナをソリューションとしたSIや内製化支援サービスを提供しています。その一環として、日々の学びをこのブログでアウトプットしていきます。今回は、AGICを用いたパスベースルーティングの実装手順についてご紹介します。パスベースルーティングとはパスベースルーティングとは、URLのパスに基づいて、リクエストの転送先を決定することです。XXX部分に応じて、どのバックエンドに転送するかを柔軟に決めることができます。あるユースケースとしては、コンテンツの種類に応じて、別々のバックエンドを使いたいが、同じドメイン名を使いたいシチュエーションが挙げられます。ドメイン名www.example.comを用いて、画像共有サービスとビデオ共有サービスを提供したいとします。始まるリクエストはビデオサーバーへ転送することで、別々のドメインを用意することなく、同一ドメインで二つのサービスを提供することができます。今回の構成は以下の通りです。Serviceをそれぞれデプロイします。その前段に、AGICを置くことで、パスベースルーティングを行えるようにしています。アクセスは、httpdのServiceに、それぞれ転送します。URLリライト機能1の場合、上記のルールに従い、nginxのServiceにhttps://example.com/nginx/を要求URLとして、転送します。/nginx/)は、nginxサーバにとって邪魔な場合がよくあります。今回はURLリライト機能も有効化しており、転送先が決まった後、URL書き換えが行われてから転送されます。「/」のように書き換える設定にしています。URLが書き換えられた後、nginxのServiceに転送されます。以下の流れで実装します。Gatewayをデプロイします。Serviceをそれぞれデプロイします。どちらかを利用できます。今回は、アドオンを用いてAGICを導入します。パス疎通確認パスに基づいて、適切なServiceに転送されているか確認します。以下、具体的な手順です。\AKSのデプロイデプロイ後、AKSに接続するための認証情報を取得しています。sample-aks続いてAKSへデプロイしていきます。パス疎通確認ドメイン名を取得して、AGICのパブリックIPアドレスを割り当てているわけではないので、実際にドメイン名でアクセスすることことができません。curlコマンドのオプション"-H"を用いて、ホスト名をヘッダーで指定する形で、ホスト名を用いた疎通確認を疑似的に行います。works!</h1></body></html>パスに応じて適切なWebサーバに転送されていることが、無事確認できました。最後に今回は、AGICを用いたパスベースルーティングのよくあるパターンについてご紹介しました。Controllerを用いたパスベースルーティングももちろん可能ですが、AGICを使うことで、AzureネイティブのL7ロードバランサーを活用でき、様々なメリットを享受できます。AKSでパスベースルーティングを実装する際は、ぜひご検討ください。Engineeringの導入支援、データ&AI基盤に関連するサービスを提供しています。わたしたちは「エンジニアとお客様を笑顔にする」というVisionを掲げ、インフラエンジニアの未来を創るNeoSIerとして工夫と挑戦を行い続けます。読者になるこのブログについて引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。