简体   繁体   中英

terraform modules ec2 and vpc AWS

I have question about how use modules in terraform. See below my code.

module "aws_vpc"{
  source = "../modules/vpc"
  vpc_cidr_block = "192.168.0.0/16"
  name_cidr = "ec2-eks"
  name_subnet = "ec2-eks-subnet"
  subnet_cidr = ["192.168.1.0/25"]
}
module "ec2-eks" {
  source = "../modules/ec2"
  ami_id = "ami-07c8bc5c1ce9598c3"
  subnet_id = module.aws_vpc.aws_subnet[0]
  count_server = 1
}
output "aws_vpc" {
  value = module.aws_vpc.aws_subnet[0]
}

I`m creating a vpc and want the next step to attach ec2 by my created subnet.But terraform attached by VPC of default. What do I need to do that attach ec2 to my vpc(subnet)? Thank you for you answers

What do I need to do that attach ec2 to my vpc(subnet)?

aws_instance has subnet_id attribute. Thus to place your instance in a given subnet, you have to set the subnet_id .

Since you are using a module to create your aws_vpc , likely the module will output subnet IDs as well. Due to lack of details of the module, its difficult to provide an exact answer, but in a general scenario you would do something along these lines (example):

resource "aws_instance" "web" {
  ami           = data.aws_ami.ubuntu.id
  instance_type = "t3.micro"

  subnet_id = module.aws_vpc.subnet_id

  tags = {
    Name = "HelloWorld"
  }
}

Obviously, the above depends on the implementation of your module.

Thank you. I`ve got success resources in AWS. I forget to set in the module of ec2 a parameter subnet_id

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM