yikegaya’s blog

仕事関連(Webエンジニア)と資産運用について書いてます

AWS Internet Gatewayが原因でterraform destroyが終わらない時の対応メモ

terraformで構築したAWSWebサービス実行環境を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 GatewayVPCからデタッチさせてもう一度terraform destroy実行。