🛡️

[Terraform/AWS]EC2が再作成されるのを防ぐ

2020/12/31に公開

はじめに

TerraformでEC2(aws_instance)を作成後、再度terraform applyすると、tfファイルを何もいじっていないにも関わらず、EC2が再作成されそうになりました。

$ terraform apply

// 略

Terraform will perform the following actions:

  # aws_instance.bastion must be replaced

// 略

Plan: 1 to add, 0 to change, 1 to destroy.

これを防ぎます。

環境

  • Terraform 0.14.3

結論

TerraformでEC2を作成する際に、セキュリティグループの指定にはsecurity_group_idsではなく、vpc_security_group_idsを使うようにします。

ec2.tf
  resource "aws_instance" "bastion" {
    // 略
-   security_group_ids = [
+   vpc_security_group_ids = [
      aws_security_group.ssh.id
    ]
    // 略
  }

これで、再度terraform applyしてもEC2が再作成されることはありません。

$ terraform apply

// 略

Apply complete! Resources: 0 added, 0 changed, 0 destroyed.

参考

Discussion