☕️
ecspresso advent calendar 2020 day 16 - delete
Amazon ECS のデプロイツールである ecspresso の利用法をまとめていく ecspresso Advent calendar 16日目です。
delete
コマンド
ECS サービスを削除する ecspresso delete
は ECS サービスを削除します。
delete
コマンドの実行例
$ ecspresso --config config.yaml delete
2020/12/15 07:01:08 nginx-service/ecspresso-demo Deleting service
Service: nginx-service
Cluster: ecspresso-demo
TaskDefinition: first-run-task-definition:8
Deployments:
PRIMARY first-run-task-definition:8 desired:1 pending:0 running:1
Events:
2020/12/15 06:27:18 (service nginx-service) has reached a steady state.
...
Enter the service name to DELETE: nginx-service
2020/12/15 06:27:38 nginx-service/ecspresso-demo Service is deleted
delete
コマンドを実行すると、確認のため削除するサービス名の入力を求められます。正しいサービス名を入力すると削除が実行されます。
サービス内でタスクが実行中の場合には、次のようなメッセージで失敗します。
2020/12/15 07:01:13 delete FAILED. failed to delete service:
InvalidParameterException: The service cannot be stopped while it is scaled above 0.
エラーメッセージの通り、サービスの削除前には事前にタスクをすべて終了する必要があります。ecspresso deploy --skip-task-definition --tasks 0
を実行してサービスの desiredCount
を 0 に設定し、タスクが終了したのを確認後にサービスを削除してください。
delete
コマンドのオプション
usage: ecspresso delete [<flags>]
delete service
Flags:
--help Show context-sensitive help (also try --help-long and --help-man).
--config=CONFIG config file
--debug enable debug log
--color enalble colored output
--dry-run dry-run
--force force delete. not confirm
--force
削除前にサービス名の確認入力を求めずに削除を実行します。スクリプトやCI/CDなどの非対話環境での実行にも使用できます。
サービスの削除は通常、ほぼ時間が掛からずに完了するため、--no-wait
オプションはありません。
17日目は、AWS CodeDeploy と連携したデプロイについて説明します。
Discussion