mirror of
https://github.com/farcasclaudiu/terraform-course.git
synced 2026-06-22 05:01:55 +03:00
5d9eeb6c4c
* Terraform 0.12
118 lines
2.5 KiB
Terraform
118 lines
2.5 KiB
Terraform
# Internet VPC
|
|
resource "aws_vpc" "main" {
|
|
cidr_block = "10.0.0.0/16"
|
|
instance_tenancy = "default"
|
|
enable_dns_support = "true"
|
|
enable_dns_hostnames = "true"
|
|
enable_classiclink = "false"
|
|
tags = {
|
|
Name = "main"
|
|
}
|
|
}
|
|
|
|
# Subnets
|
|
resource "aws_subnet" "main-public-1" {
|
|
vpc_id = aws_vpc.main.id
|
|
cidr_block = "10.0.1.0/24"
|
|
map_public_ip_on_launch = "true"
|
|
availability_zone = "eu-west-1a"
|
|
|
|
tags = {
|
|
Name = "main-public-1"
|
|
}
|
|
}
|
|
|
|
resource "aws_subnet" "main-public-2" {
|
|
vpc_id = aws_vpc.main.id
|
|
cidr_block = "10.0.2.0/24"
|
|
map_public_ip_on_launch = "true"
|
|
availability_zone = "eu-west-1b"
|
|
|
|
tags = {
|
|
Name = "main-public-2"
|
|
}
|
|
}
|
|
|
|
resource "aws_subnet" "main-public-3" {
|
|
vpc_id = aws_vpc.main.id
|
|
cidr_block = "10.0.3.0/24"
|
|
map_public_ip_on_launch = "true"
|
|
availability_zone = "eu-west-1c"
|
|
|
|
tags = {
|
|
Name = "main-public-3"
|
|
}
|
|
}
|
|
|
|
resource "aws_subnet" "main-private-1" {
|
|
vpc_id = aws_vpc.main.id
|
|
cidr_block = "10.0.4.0/24"
|
|
map_public_ip_on_launch = "false"
|
|
availability_zone = "eu-west-1a"
|
|
|
|
tags = {
|
|
Name = "main-private-1"
|
|
}
|
|
}
|
|
|
|
resource "aws_subnet" "main-private-2" {
|
|
vpc_id = aws_vpc.main.id
|
|
cidr_block = "10.0.5.0/24"
|
|
map_public_ip_on_launch = "false"
|
|
availability_zone = "eu-west-1b"
|
|
|
|
tags = {
|
|
Name = "main-private-2"
|
|
}
|
|
}
|
|
|
|
resource "aws_subnet" "main-private-3" {
|
|
vpc_id = aws_vpc.main.id
|
|
cidr_block = "10.0.6.0/24"
|
|
map_public_ip_on_launch = "false"
|
|
availability_zone = "eu-west-1c"
|
|
|
|
tags = {
|
|
Name = "main-private-3"
|
|
}
|
|
}
|
|
|
|
# Internet GW
|
|
resource "aws_internet_gateway" "main-gw" {
|
|
vpc_id = aws_vpc.main.id
|
|
|
|
tags = {
|
|
Name = "main"
|
|
}
|
|
}
|
|
|
|
# route tables
|
|
resource "aws_route_table" "main-public" {
|
|
vpc_id = aws_vpc.main.id
|
|
route {
|
|
cidr_block = "0.0.0.0/0"
|
|
gateway_id = aws_internet_gateway.main-gw.id
|
|
}
|
|
|
|
tags = {
|
|
Name = "main-public-1"
|
|
}
|
|
}
|
|
|
|
# route associations public
|
|
resource "aws_route_table_association" "main-public-1-a" {
|
|
subnet_id = aws_subnet.main-public-1.id
|
|
route_table_id = aws_route_table.main-public.id
|
|
}
|
|
|
|
resource "aws_route_table_association" "main-public-2-a" {
|
|
subnet_id = aws_subnet.main-public-2.id
|
|
route_table_id = aws_route_table.main-public.id
|
|
}
|
|
|
|
resource "aws_route_table_association" "main-public-3-a" {
|
|
subnet_id = aws_subnet.main-public-3.id
|
|
route_table_id = aws_route_table.main-public.id
|
|
}
|
|
|