マイクロソフト社は先日、Kubernetesクラスタで実行されるワークロード向けの新しいアプリケーション(レイヤー7)負荷分散および動的トラフィック管理製品であるAzureApplication Gateway for Containersのプレビューを発表した。これはAzureのアプリケーション負荷分散ポートフォリオを拡張するもので、Application Gateway製品シリーズの新しい製品だ。
同社は、Application Gateway for ContainersはApplication GatewayとApplication Gateway Ingress Controller(AGIC)の次の進化であると述べる。AGICと比較して次のような改良が加えられている。
-
ポッド、ルート、プローブ、ロードバランシング構成の追加や削除など、Kubernetes YAML構成の変更を反映するための収束時間をほぼリアルタイムで実現する。
-
Application Gateway for Containersで1400以上のバックエンドポッドと100以上のリスナーをサポートすることで、現在のAGICの制限を超える。
-
ARM、PowerShell、CLI、Bicep、Terraformを使用した使い慣れたデプロイ体験を提供する。または、Application Gateway for Containersが残りの部分をAzureで管理することで、Kubernetes内での構成を可能にする。
-
表現に富み、拡張性のある、ロール指向のインターフェイスを通じて、Kubernetesサービスネットワーキングの次の進化をサポートする。
-
ブルーグリーンデプロイメント戦略とアクティブ/アクティブ、アクティブ/パッシブルーティングを可能にする。
クラウド・ソリューション・アーキテクトのHari Subramaniam氏はこうツイートした。
AGICがなくなることはないだろう。AGICの目立った欠点がこれで解決されることを期待しているし、見たところ、その多くが解決されるようだ。
Application Gateway for Containersは、Application Gateway for Containers core、Frontends、Associations、Azure Load Balancer Controller といった様々なコンポーネントから構成されている。また、ゲートウェイをデプロイするには、プライベートIPアドレス、サブネットの委任、ユーザー割り当てのマネージドIDが必要となる。
Application Gateway for Containersの構成図(出典:Microsoft Learn Documentation)
AzureソリューションアーキテクトのエキスパートであるCamilo Terevinto氏は、Application Gateway for Containersのプレビュー発表を受けてツイートした。
Azure Container Instance(ACI)もAzure Container Apps(ACA)もサポートしていないことを考えると、「Azure Application Gateway for Kubernetes Service 」と呼ぶべきだろう。
それにAzure Networkingは ツイートでこう答えた。
Application Gateway for Containersは現在Kubernetesワークロード向けだが、将来的には他のコンテナソリューションにもサービスを拡張することを検討するかもしれない。
さらに、マイクロソフトのクラウドネイティブ・アプリケーション担当グローバル・ブラックベルトであるDennis Zielke氏は、Mediumのブログ投稿でいくつかの設計上の制限について概説している。
全体として、新サービスは非常に有望な機能を備えている。しかし、設計上の制限がいくつかある(現在、改善中だ)。
- クラスタあたり1ALB、ALBあたり5フロントエンドの制限がある。
- バックエンドクラスターではAzure CNIのみをサポートする。
- マルチリージョンやマルチクラスタをサポートしていない。
最後に、Application Gateway for Containersは、グローバルにいくつかのAzureリージョンで利用可能であり、価格ページによると、一般提供の開始前の価格詳細は不明である。さらに、詳細とガイダンスはドキュメントのランディングページで入手できる。