[英]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.