概要
- メンテナンス等の理由により、ECS タスク数をゼロにしたり、元の数に戻したい時があると思います。今回は、1,2,3 であっという間にECS タスク数をUp/Downする方法を紹介します。CloudShell を使用して、aws cli を実行します。
#1 AWSコンソールからCloudShell を起動する
- AWSコンソールから直接起動できます。[CloudShell] を押すだけです。
- CloudShell の詳しい使用方法は、こちらのドキュメントを参照ください。
#2 現在のタスク数を調べる
- CloudShell から aws cli を実行し、現在のタスク数を調べます。
- aws ecs describe-services コマンドを使用し、desiredCount, pendingCount, runningCountを確認します。
[cloudshell-user@ip-10-2-11-51 ~]$ CLUSTER=クラスタ名 [cloudshell-user@ip-10-2-11-51 ~]$ SERVICE=サービス名 [cloudshell-user@ip-10-2-11-51 ~]$ aws ecs describe-services --cluster $CLUSTER --services $SERVICE --query 'services[].deployments[]' | grep -i count "desiredCount": 2, "pendingCount": 0, "runningCount": 2,
- AWSコンソールから確認すると、以下の画面になります。
#3 タスク数をUp/Downさせる
- (1つ目のケースは)タスク数を 2 → 4 にアップします。aws ecs update-service コマンドを使用します。
[cloudshell-user@ip-10-2-11-51 ~]$ aws ecs update-service --cluster $CLUSTER --service $SERVICE --desired-count 4 > /dev/null [cloudshell-user@ip-10-2-11-51 ~]$ aws ecs describe-services --cluster $CLUSTER --services $SERVICE --query 'services[].deployments[]' | grep -i count "desiredCount": 4, "pendingCount": 0, "runningCount": 2, [cloudshell-user@ip-10-2-11-51 ~]$ aws ecs describe-services --cluster $CLUSTER --services $SERVICE --query 'services[].deployments[]' | grep -i count "desiredCount": 4, "pendingCount": 0, "runningCount": 4,
- AWSコンソールから確認すると、以下の画面になります。
- (2つ目のケースは)タスク数を 4 → 0 にダウンします。aws ecs update-service コマンドを使用します。
[cloudshell-user@ip-10-2-11-51 ~]$ aws ecs update-service --cluster $CLUSTER --service $SERVICE --desired-count 0 > /dev/null [cloudshell-user@ip-10-2-11-51 ~]$ aws ecs describe-services --cluster $CLUSTER --services $SERVICE --query 'services[].deployments[]' | grep -i count "desiredCount": 0, "pendingCount": 0, "runningCount": 4, [cloudshell-user@ip-10-2-11-51 ~]$ aws ecs describe-services --cluster $CLUSTER --services $SERVICE --query 'services[].deployments[]' | grep -i count "desiredCount": 0, "pendingCount": 0, "runningCount": 0,
- AWSコンソールから確認すると、以下の画面になります。