TerraformでECSを変更していたら、tfファイルの該当箇所を変更していないのに突然、aws_ecs_clusterのcontainerInsightsの差分が毎回表示されてしまうようになりました。
その回避方法をメモっておきます。
事象
以下のようにaws_ecs_clusterのsettingブロックでcontainerInsightsを設定していたのですが、applyを実行すると実行のたびに差分が出力されるようになりました。
$ cat main.tf
...
resource "aws_ecs_cluster" "test" {
capacity_providers = ["FARGATE_SPOT", "FARGATE"]
name = "test"
setting {
name = "containerInsights"
value = "enabled"
}
}
...
$ terraform apply
...
~ update in-place
Terraform will perform the following actions:
# aws_ecs_cluster.api will be updated in-place
~ resource "aws_ecs_cluster" "test" {
arn = "arn:aws:ecs:ap-northeast-1:111111111111:cluster/test"
capacity_providers = [
"FARGATE",
"FARGATE_SPOT",
]
...
## この差分が必ず出力されてしまいます
+ setting {
+ name = "containerInsights"
+ value = "enabled"
}
}
Plan: 0 to add, 1 to change, 0 to destroy.
...
$
差分出力の回避方法
AWSプロバイダのバージョンを3.57以上にアップデートします。
$ cat main.tf
...
terraform {
required_providers {
aws = {
source = "hashicorp/aws"
version = ">= 3.57"
}
...
## AWSプロバイダをアップデートします
$ terraform init -upgrade
...
$
## 差分が出力されなくなります
$ terraform apply
...
$
こちらによるとAWS側のECSのAPIに変更があったことが原因のようです。
今回は以上です〜ノシ
参考
アリガト━━━ヾ(´∀`)ノ━━━━♪
Terraform not saving state of ECS Cluster containerInsights setting
リンク
リンク