terraformで構築したAWSのWebサービス実行環境をterraform destroy
コマンドで削除しようとするとInternet Gatewayを削除しようとするところでStill destroying...
のメッセージがコンソールに表示され続けて実行が終わらなくなった。
対応
以下の対応で直りました。
terraformの修正
Nat GatewayとElasticIPにInternet Gatewayへの依存関係を追加するとうまくいく
resource "aws_nat_gateway" "movie-backend-nat-1a" { subnet_id = aws_subnet.movie-backend-public-1a.id allocation_id = aws_eip.movie-backend-nat-1a.id depends_on = [aws_internet_gateway.movie-backend] tags = { Name = "movie-backend-1a" } }
resource "aws_eip" "hoge-nat-1a" { vpc = true depends_on = [aws_internet_gateway.hoge] tags = { Name = "hoge-natgw-1a" } }
手動で対応する場合
AWSの管理画面からInternet GatewayをVPCからデタッチさせてもう一度terraform destroy
実行。