diadia

興味があることをやってみる。自分のメモを残しておきます。

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をマネジメントコンソールから確認しハードコーディングする。このようなやり方でも動くことを確認した。