2024年5月17日にリリースされた Terraform AWS Provider v5.50.0 で Amazon ECS の「Fargate タスクリタイア待機時間 (fargateTaskRetirementWaitPeriod)」を設定できるようになった.
デフォルトでは「7日間」に設定されていて,選択肢としては 0日
と 7日
と 14日
を設定できる.基本的にはすぐにアップデートを反映しておくと良さそうだけど,Fargate タスクの停止に制約・課題がある場合は長めに設定しておくと良さそう.ちなみにブログ記事には 稀に重大なセキュリティアップデートがある場合は待機時間無しでリタイアさせる
と書いてある📝
さっそく試す
Amazon ECS の aws_ecs_account_setting_default リソースを使って設定する.以下の例では「Fargate タスクリタイア待機時間」を 0日
に設定している👌
resource "aws_ecs_account_setting_default" "main" { name = "fargateTaskRetirementWaitPeriod" value = "0" }
aws ecs list-account-setting
コマンド
現時点ではマネジメントコンソールで fargateTaskRetirementWaitPeriod
の設定を確認することができず,AWS CLI の aws ecs list-account-setting
コマンドを使う必要がある👀
Before(terraform apply
実行前)
$ aws ecs list-account-settings --name fargateTaskRetirementWaitPeriod --effective-settings { "settings": [ { "name": "fargateTaskRetirementWaitPeriod", "value": "7", "principalArn": "arn:aws:iam::000000000000:root", "type": "user" } ] }
After(terraform apply
実行後)
$ aws ecs list-account-settings --name fargateTaskRetirementWaitPeriod --effective-settings { "settings": [ { "name": "fargateTaskRetirementWaitPeriod", "value": "0", "principalArn": "arn:aws:iam::000000000000:root", "type": "user" } ] }