簡體   English   中英

如何使用 Terraform 將 EC2 實例啟動到現有 VPC 中?

[英]How do I launch an EC2 instance into an existing VPC using Terraform?

我正在編寫一個 TF 腳本以將 EC2 實例啟動到現有 VPC 中。 我見過一些示例,其中腳本使用來自創建 VPC 和 su.net 的腳本另一部分的變量來分配 su.net id。 我沒有像那個例子中那樣使用 su.net_id = "${aws_su.net.main-public-1.id}" ,而是嘗試將現有 su.net 中的實際 su.net id 放入現有 vpn 中,兩者都是使用控制台制作的,如下所示:

subnet_id = "subnet-xxxxx"

並以相同的方式應用安全組。 但是,當 EC 實例啟動時,它位於具有默認安全組的默認 VPC 中。 為什么會這樣? 如何將 EC2 啟動到現有 VPC 和具有現有安全組的 su.net 中?

這是完整的腳本

EC2.tf

provider "aws" {
  profile    = "default"
  region     = var.region
}

resource "aws_instance" "WindowsBox" {
  ami           = "ami-xxxxx"
  instance_type = "t2.medium"
  key_name = aws_key_pair.keypair.key_name

  subnet_id = "subnet-xxxxx"
  vpc_security_group_ids = ["sg-xxxxx"]

  tags = {
    Name ="WindowsBox"
  }
}

resource "aws_eip" "ip" {
    vpc = true
    instance = aws_instance.WindowsBox.id
}

resource "aws_key_pair" "keypair" {
  key_name = "WindowsBox-keypair"
  public_key = file("./kp/WindowsBox-keypair.pub")
}

變量.tf

variable "region" {
  default = "us-east-2"
}

您用於創建實例的安全組也應該存在於 VPC 中。 我認為這里不是這種情況。

我會檢查安全組的 VPC id 是否與 su.net 的 VPC id 匹配。

希望這可以幫助

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM