terraform 既存のリソースを使うことについて
今まで勝手に思ってたことにterraformでインフラを立ち上げるときには、terraform内でリソースを生成し、それを組み合わせて環境を作り上げないといけないと思っていた。 しかしながら一度作成したリソースを消さなければ再利用することができる事がわかった。
再利用する場合には、terraformのコード内でリソースIDをハードコーディングすることで呼び出すことができる。
resource "aws_instance" "example" { ami = data.aws_ami.example.image_id #vpc_security_group_ids = [aws_security_group.example.id] vpc_security_group_ids = ["sg-04ea23f14c90378ab"] #subnet_id = aws_subnet.example.id subnet_id = "subnet-0fe3b2c19c920dce4" key_name = "id_rsa_ec2" instance_type = "t2.micro" tags = { Name = "example" } user_data = <<EOF EOF }
vpc_security_group_idsやsubnet_iの値はterraform内で作成したリソースをid値として取り出すしかないと思っていたが、上記のようにidをマネジメントコンソールから確認しハードコーディングする。このようなやり方でも動くことを確認した。