1

いくつかのコンテナを AWS ECS にデプロイするための Terraform 構成を構築しています。明らかに、Docker イメージを ECR にプッシュする必要があります。ECR にリポジトリを作成し、イメージをプッシュしました。

今、私は自動化しています。aws_ecr_repository私がそのように宣言した場合:

data "aws_ecr_repository" "service" {
  name = "myrepository"
}

その後、Terraform がそれを管理します。最終的には次のようなもので参照できます

image = "${aws_ecr_repository.myrepository.repository_url}"

ECS タスク定義の構築中。

terraform destroy開発サイクルの一環として実行すると、Terraform がこのリポジトリを削除するか、イメージがある場合は失敗するという印象を受けます。これはterraform destroy、決して完了しないか、そのコマンドを正常に完了するために ECR リポジトリをクリアする必要があるため、悪いことです。

すでに存在する ECR リポジトリを参照するにはどうすればよいでしょうか。しかし、Terraform は Terraform の外部に存在するデータ、つまりリリース CI ジョブによってアップロードされた Docker イメージを破壊する可能性があるため、Terraform で管理したくないようです。

4

1 に答える 1