ある企業がAzure Container Apps(ACA)でマイクロサービスアプリケーションをデプロイしている。新しいバージョンのコンテナイメージをデプロイする際、古いバージョンを残したまま一部のトラフィックだけを新バージョンに向け、動作確認ができたら全トラフィックを切り替えたい。Azure Container Appsでこのカナリアリリースを実現する機能はどれか。
- A. Azure Load BalancerをContainer Appsの前段に配置してセッション維持で特定ユーザーを新バージョンに固定する
- B. Azure Traffic Managerの地理的ルーティングを使ってリージョン単位で新旧バージョンを切り替える
- C. Container Appsでは新しいコンテナイメージをデプロイすると古いバージョンは自動的に削除されるため、カナリアリリースは別サービスで実施する必要がある
- D. Container Appsのリビジョン(Revision)管理とトラフィック分割:複数のリビジョンを同時にアクティブにし、各リビジョンへのトラフィック割合(%)を設定できる
解答と解説を見る
正解: D
Azure Container Appsでは、コンテナイメージの更新ごとに「リビジョン(Revision)」が作成される。リビジョンモードを「Multiple」に設定すると複数のリビジョンを同時にアクティブにできる。各アクティブリビジョンへのトラフィック割合(0〜100%)をポータルまたはCLIで設定でき、例えば旧リビジョン90%・新リビジョン10%としてカナリアリリースを実現した後、動作確認後に100%を新リビジョンに切り替えられる。この機能はインフラの追加(LB・Traffic Manager)なしにContainer Apps単体で完結する。選択肢AのAzure Load BalancerはContainer Appsのマネージドネットワークと直接統合するものではなく、セッション維持によるカナリアは管理が複雑。選択肢CはContainer Appsが古いリビジョンを自動削除するという誤り(Multipleモードでは明示的に削除しない限り残る)。選択肢BのTraffic Managerの地理的ルーティングはDNSベースでグローバル分散に使うものであり、同一アプリの新旧バージョンのトラフィック分割とは設計思想が異なる。
📚 関連サービスの解説: Azure Container Apps