Open11

Azure Container Apps x Kong Gateway

Shuhei KawamuraShuhei Kawamura

Azure Container Appsについて

この資料がわかりやすかった:
https://speakerdeck.com/dora56/azure-container-apps-zai-ru-men

AKS(Azure Kubernetes Service)上にKEDA, Envoy, Daprが組み込まれたコンテナの実行環境

Environmentsという単位が存在していて、この中に1つ以上のContainer Appsを紐づける

Revisionも存在していて、B/Gデプロイなどが可能

ひとまず、stdout/errにログを出力しておけば、Azure側のサービスでなんとかしてくれる

Shuhei KawamuraShuhei Kawamura

DedicatedとPAYGのプランが存在しているみたい
https://learn.microsoft.com/ja-jp/azure/container-apps/plans

scale-to-zero (ゼロへのスケール)をサポートし、アプリが使用するリソースに対してのみ料金を支払うサーバーレス環境。

どちらにせよ、ゼロスケールをサポートしている。Kong Gatewayみたいなユースケースだとゼロスケールすることはないので、ここはデフォルトのオプションを確認した方が良さそう。

Shuhei KawamuraShuhei Kawamura

https://learn.microsoft.com/ja-jp/azure/container-apps/containers

Docker Hub では、Docker イメージのダウンロード数が制限されています。 制限に達すると、アプリ内のコンテナーの起動に失敗します。 この問題を回避するには、Azure Container Registry などの制限に余裕があるレジストリを使用します。

Azure Container Appsに限った話ではないが、Kong GatewayのコンテナイメージもDocker Hubに格納されているので、「起動に失敗 -> イメージの再取得 -> Rate Limitにあたってしまう」みたいなことを避けるために Azure Container Registry に可能であればミラーリングしておいた方が良さそう。

Shuhei KawamuraShuhei Kawamura

https://learn.microsoft.com/ja-jp/azure/container-apps/planned-maintenance

計画メンテナンスがあるので、ダウンタイムをなくしたい場合は、複数の可用性ゾーンに冗長構成を組む必要がある。

https://learn.microsoft.com/ja-jp/azure/reliability/reliability-azure-container-apps?tabs=azure-cli

Container Apps のゾーン冗長機能を有効にすると、レプリカがリージョン内のゾーン間に自動的に分散されます。

このように書いてあるので、何か設定項目が存在して有効にするだけで冗長構成になるっぽい?