deregister
deregisterコマンドは、ECSタスク定義の登録を解除するためのコマンドです。不要になったタスク定義を削除する場合に使用します。
基本的な使い方
$ ecspresso deregister [オプション]
オプション
| オプション | 説明 | デフォルト値 |
|---|---|---|
--config | 設定ファイルのパス | ecspresso.yml |
--revision | 登録解除するタスク定義のリビジョン | - |
--dry-run | 実際に登録解除せずに実行内容を表示 | false |
出力例
2023/01/01 12:00:00 [info] myservice/default Starting deregister
2023/01/01 12:00:00 [info] myservice/default Deregistering task definition: arn:aws:ecs:ap-northeast-1:123456789012:task-definition/myservice:3
2023/01/01 12:00:00 [info] myservice/default Task definition is deregistered: arn:aws:ecs:ap-northeast-1:123456789012:task-definition/myservice:3
使用例
基本的な使用方法
$ ecspresso deregister --config ecspresso.yml --revision 3
ドライラン
$ ecspresso deregister --config ecspresso.yml --revision 3 --dry-run
注意事項
deregisterコマンドは、タスク定義の登録を解除するだけで、完全に削除するわけではありません- 登録解除されたタスク定義は、新しいタスクの起動には使用できなくなりますが、既存のタスクには影響しません
--revisionオプションは必須です。登録解除するタスク定義のリビジョンを指定する必要があります--dry-runオプションを使用すると、実際に登録解除せずに実行内容を確認できます- タスク定義の登録解除は元に戻せないため、慎重に行ってください
- 現在使用中のタスク定義を登録解除しても、実行中のタスクには影響しませんが、新しいタスクの起動には使用できなくなります
タスク定義のリビジョン管理
ECSでは、タスク定義のリビジョンが自動的に管理されます。新しいタスク定義を登録するたびに、リビジョン番号が増加します。古いリビジョンは自動的には削除されないため、不要になったリビジョンはderegisterコマンドで登録解除することをお勧めします。
タスク定義のリビジョンを確認するには、revisionsコマンドを使用します:
$ ecspresso revisions --config ecspresso.yml
CI/CDパイプラインでの使用
deregisterコマンドは、CI/CDパイプラインで古いタスク定義を削除するのに役立ちます。以下は、GitHub Actionsでの使用例です:
jobs:
cleanup:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: kayac/ecspresso@v2
with:
version: v2.3.0
- run: |
# 最新の5つを除くすべてのリビジョンを登録解除
REVISIONS=$(ecspresso revisions --config ecspresso.yml | sort -n | head -n -5)
for REV in $REVISIONS; do
ecspresso deregister --config ecspresso.yml --revision $REV
done