35 lines
1.2 KiB
Terraform
Executable File
35 lines
1.2 KiB
Terraform
Executable File
provider "aws" {
|
|
access_key = var.access_key
|
|
secret_key = var.secret_key
|
|
region = var.region
|
|
}
|
|
module "vpc" {
|
|
source = ".//vpc"
|
|
name = var.name
|
|
instance_tenancy = "default"
|
|
enable_dns_hostnames = false
|
|
enable_dns_support = true
|
|
single_nat_gateway = false
|
|
map_public_ip_on_launch = true
|
|
assign_generated_ipv6_cidr_block = false
|
|
cidr = "10.0.0.0/16"
|
|
azs = var.availability_zones
|
|
}
|
|
module "key_creator" {
|
|
source = ".//key_generator"
|
|
key_name = var.name
|
|
}
|
|
module "ec2_instance" {
|
|
source = "terraform-aws-modules/ec2-instance/aws"
|
|
version = "~> 3.0"
|
|
name = "EC2-${var.name}"
|
|
associate_public_ip_address = var.associate_public_ip_address
|
|
instance_type = var.instance_type
|
|
vpc_security_group_ids = [module.vpc.security_group_id]
|
|
subnet_id = module.vpc.public_subnet
|
|
ami = var.ami
|
|
key_name = var.name
|
|
ebs_optimized = true
|
|
ebs_block_device = [{"device_name"="/dev/sda1","volume_size"=var.volume_size,"delete_on_termination"="true"}]
|
|
}
|