🍒

ECSサービスに複数のターゲットグループを指定する

2022/02/13に公開

結論

ECSサービスに複数のターゲットグループを登録するためには、GUI以外の方法で実行しなければならない。

Amazon ECS API、SDK、AWS CLI、または AWS CloudFormation テンプレートを使用してサービスを作成する必要があります。
https://docs.aws.amazon.com/ja_jp/AmazonECS/latest/developerguide/register-multiple-targetgroups.html

AWS CLIを使う方法

下記コマンドを実行する。

aws ecs create-service \
 --cluster arn:aws:ecs:ap-northeast-1:000000000000:cluster/クラスタ名 \
 --service-name ECSサービス名 \
 --task-definition タスク定義名:リビジョン \
 --load-balancers targetGroupArn=ターゲットグループARN,containerName=コンテナ名,containerPort=ポート番号 targetGroupArn=ターゲットグループARN,containerName=コンテナ名,containerPort=ポート番号 \
 --desired-count 1 \
 --launch-type FARGATE \
 --network-configuration "awsvpcConfiguration={subnets=[サブネットID,サブネットID,サブネットID],securityGroups=[SGのID],assignPublicIp=DISABLED}" \
 --scheduling-strategy REPLICA \
 --deployment-controller type=ECS \
 --tags key=Key1,value=Value1 key=Name,value=sampleCluster \
 --enable-ecs-managed-tags

注意点

--load-balancers の引数でロードバランサー名を指定しない。
※ロードバランサー名を指定するのはCLBのみ。
ALB・NLBでロードバランサー名を指定すると、
CLI実行時にエラーとなる。

Discussion