Amazon ec2 如何使用Terraform将EC2实例启动到现有VPC中?
我正在编写一个TF脚本,将EC2实例启动到现有的VPC中。我见过一些例子,其中脚本使用脚本中创建VPC和子网的另一部分的变量分配子网id。 我没有使用该示例中所示的subnet_id=“${aws_subnet.main-public-1.id}”,而是尝试将现有子网中的实际子网id放入现有vpn中,这两个id都是使用控制台生成的,如下所示:Amazon ec2 如何使用Terraform将EC2实例启动到现有VPC中?,amazon-ec2,terraform,amazon-vpc,Amazon Ec2,Terraform,Amazon Vpc,我正在编写一个TF脚本,将EC2实例启动到现有的VPC中。我见过一些例子,其中脚本使用脚本中创建VPC和子网的另一部分的变量分配子网id。 我没有使用该示例中所示的subnet_id=“${aws_subnet.main-public-1.id}”,而是尝试将现有子网中的实际子网id放入现有vpn中,这两个id都是使用控制台生成的,如下所示: subnet_id = "subnet-xxxxx" 并以同样的方式应用安全组。但当EC实例启动时,它位于默认VPC中,具有默认的安全组。为什么会这样?
subnet_id = "subnet-xxxxx"
并以同样的方式应用安全组。但当EC实例启动时,它位于默认VPC中,具有默认的安全组。为什么会这样?如何将EC2启动到现有VPC和具有现有安全组的子网中
这是完整的脚本
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")
}
variable "region" {
default = "us-east-2"
}
变量。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")
}
variable "region" {
default = "us-east-2"
}
用于创建实例的安全组也应存在于专有网络中。我想这里不是这样的 我会检查安全组的VPC id是否与子网的VPC id匹配
希望这有助于您用来创建实例的安全组也应该存在于专有网络中。我想这里不是这样的 我会检查安全组的VPC id是否与子网的VPC id匹配 希望这有帮助