kubectl で言うこの操作を Fargate でしたいコマンド集

## まえがき Fargate を使っていて「 kubectl で言うところのこの操作をしたいな〜」と思ったときに見ると幸せになれるかもしれないページです。備忘録です。随時更新していきます。 ## kubectl exec のように Fargate のコンテナに ECS Exec でログインする `kubectl exec -it deployment.apps/myapp -- /bin/sh` に準ずることをしたい時に使うコマンドです。 [ECS Exec](https://docs.aws.amazon.com/ja_jp/AmazonECS/latest/userguide/ecs-exec.html) を用いてコンテナにログインします。 ```bash # 変数を定義 export AWS_REGION=ap-northeast-1 export ECS_CLUSTER=mycluster export ECS_CONTAINER=myapp aws --region ${AWS_REGION} ecs execute-command --cluster ${ECS_CLUSTER} --task $(aws --region ${AWS_REGION} ecs list-tasks --cluster ${ECS_CLUSTER} --desired-status RUNNING --query 'taskArns[0]' --output text) --container ${ECS_CONTAINER} --interactive --command /bin/sh ``` (長すぎ) ## kubectl set image のように Fargate Task Definition に特定イメージを設定する `kubectl set image deployment.apps/myapp myapp=ghcr.io/myorg/myapp:v1.0.0` に準ずることをしたい時に使うコマンドです。 ```bash # 変数を定義 export AWS_REGION=ap-northeast-1 export ECS_CLUSTER=mycluster export ECS_SERVICE=mycluster export ECS_TASKDEF=mytaskdef export ECS_FAMILY=myapp export IMAGE_REMOTE=ghcr.io/myorg/myapp export IMAGE_TAG=v1.0.0 # すでにデプロイ済みの task-definition を取得し、新しいデプロイ向けに編集しローカルファイルに保存する。 aws --region ${AWS_REGION} ecs describe-task-definition --task-definition ${ECS_TASKDEF} --query 'taskDefinition' | jq 'del(.taskDefinitionArn,.revision,.status,.requiresAttributes,.registeredAt,.registeredBy)' | sed 's|${IMAGE_REMOTE}:[^"]*|${IMAGE_REMOTE}:${IMAGE_TAG}|g; s|"compatibilities":|"requiresCompatibilities":|;' | tee /tmp/.aws-ecs-register-task-definition-cli-input-json.json | jq -c . # ローカルファイルに保存した task-definition を AWS に登録する。 aws --region ${AWS_REGION} ecs register-task-definition --family ${ECS_FAMILY} --cli-input-json file:///tmp/.aws-ecs-register-task-definition-cli-input-json.json | jq -c . # 登録した task-definition をを用いて Fargate へデプロイを実行する。 aws --region ${AWS_REGION} ecs update-service --cluster ${ECS_CLUSTER} --service ${ECS_SERVICE} --task-definition ${ECS_TASKDEF} | jq -c . ``` (長すぎ。やりたいことと労力が見合ってない) ## あとがき kubectl は最高ですね! 言いたいことは以上です!
このエントリーをはてなブックマークに追加

このブログの人気の投稿

OpenTelemetry 互換の Observability 基盤比較検討

AWS アカウントを作成したらまず実行するスクリプト

Hello, World!