ECS サービス作成後にロードバランサー設定を変更する方法を教えてください

2023.08.04

困っていた内容

ローリングアップデートを設定した ECS サービスで、タスクを実行しています。
ECS サービスのロードバランサー設定を変更したいのですが、マネジメントコンソールで変更箇所が確認できません。
変更方法を教えてください。

どう対応すればいいの?

AWS CLI のupdate-serviceを実行してください。

コマンド例

$ aws ecs update-service \
  --cluster 【ECS クラスター名】 \
  --service 【ECS サービス名】 \
  --load-balancers targetGroupArn=【ターゲットグループ ARN】,containerName=【コンテナ名】,containerPort=【ポート番号】

2023年8月時点の仕様として、AWS マネジメントコンソールからは ECS のロードバランサー設定を変更できません。一方で、AWS CLI や API、SDK 等からは作成後のロードバランサー設定を変更でき、AWS CLI の場合はupdate-serviceで変更可能です。

そのため、マネジメントコンソールではなく、AWS CLI 等からの変更をお試しください。

なお、AWS ではマネジメントコンソールから AWS CLI などのコマンドが実行できるブラウザーベースのシェル環境が用意されています。

また、ロードバランサー設定を変更すると、デプロイが行われるため事前にテスト環境等で動作検証を行う事を推奨します。

ロードバランサーの種類 - Amazon Elastic Container Service

ロードバランサー設定を追加、更新、削除すると、Amazon ECS は、更新された Elastic Load Balancing 設定で新しいデプロイを開始します。これにより、タスクがロードバランサーに登録およびロードバランサーから登録解除されます。Elastic Load Balancing 設定を更新する前に、テスト環境でこれを検証することをお勧めします。

参考資料

サービスの作成後にロードバランサーの設定を AWS Management Console から変更することはできません。AWS Copilot、AWS CloudFormation、AWS CLI、SDK のいずれかを使用して、AWS CodeDeploy ブルー/グリーンまたは外部ではなく、ECS ローリングデプロイコントローラのみのロードバランサー設定を変更できます。