0
0

【Terraform】AWS CodeDeployだけはマネジメントコンソール上から消さない方がいい

Posted at

はじめに

AWS環境をTerraformで構築している場合、Terraformでリソースを削除するのではなく、マネジメントコンソール上でリソースを削除するということも時々発生すると思います。
ただし、CodeDeployだけは削除するのはお勧めしません。
ApplicationDoesNotExistException」が発生するからです。

エラー内容 - ApplicationDoesNotExistException

その名前の通り、対象の名前のCodeDeployアプリケーションが存在していない場合に発生します。

これは
TerraformでCodeDeployアプリケーションを構築
→マネジメントコンソール上でそのリソースを削除
→terraform planを実行 
した場合に発生します。

対応方法

上記エラーが発生した場合、CodeDeployアプリケーションとデプロイメントグループをTerraformで作成したリソース名で再作成する必要があります(あくまでリソース名だけでid等は違っても問題ないみたいです)。
そうしないといつまでもterraform planするたびにApplicationDoesNotExistExceptionが発生して先に進めません。

結論

既に作成したリソース名を覚えていなかったり、仮に覚えていても他のデプロイメントグループで使用されていないECS Clusterを用意したり、IAMを作成したりしないとデプロイメントグループが作成できないので、結構面倒くさいです。

他のAWSリソースに関してはマネジメントコンソール上で削除してもterraform planやterraform applyで特に問題は生じていないですが、CodeDeployだけはこの問題が発生するので、マネジメントコンソール上で削除するのではなく、Terraformで削除することをお勧めします。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0