tf/network/

Esse módulo é responsÔvel pela criação de uma rede VPC, subnets, internet gateway, route table e nat gateway.

Vamos passar por cada recurso presente no arquivo main.tf e entender o que ele faz.

āš ļø

No caso deste módulo, ele é executado apenas uma vez, diferentemente de modulos como ec2, pois não é necessÔrio criar uma nova rede para cada ambiente.

Criação da VPC

O primeiro recurso que criamos Ć© a VPC, que Ć© a nossa rede virtual.

resource "aws_vpc" "vpc" {
cidr_block = var.vpc_cidr_block
enable_dns_hostnames = true
enable_dns_support = true
tags = {
Name = var.vpc_name
}
}
šŸ“

Aqui definimos o CIDR da nossa rede, que Ʃ o endereƧo de rede que serƔ utilizado para todas as subnets. AlƩm disso, definimos o nome da VPC.

Criação da Subnet

Agora vamos criar as subnets que serão utilizadas na nossa VPC.

resource "aws_subnet" "public_subnet" {
vpc_id = aws_vpc.vpc.id
cidr_block = var.public_subnet_cidr_block
availability_zone = var.availability_zone
map_public_ip_on_launch = true
tags = {
Name = var.public_subnet_name
}
}
šŸ“

Aqui definimos o CIDR da nossa subnet pública, que é o endereço de rede que serÔ utilizado para a subnet pública. Além disso, definimos o nome da subnet.

Criação e Associação da Route Table

Uma route table é uma tabela de roteamento que define quais rotas serão utilizadas para enviar pacotes de dados para uma determinada rede.

resource "aws_route_table" "public_rt" {
vpc_id = aws_vpc.vpc.id
tags = {
Name = "Public RT"
}
}

Agora vamos associar a nossa subnet pĆŗblica com a nossa route table.

resource "aws_route_table_association" "public_rta" {
subnet_id = aws_subnet.public_subnet.id
route_table_id = aws_route_table.public_rt.id
}

Criação do Internet Gateway e Associação com a Route Table

Agora vamos criar um internet gateway, que Ć© um recurso que permite que a nossa VPC tenha acesso Ć  internet.

resource "aws_internet_gateway" "igw" {
vpc_id = aws_vpc.vpc.id
tags = {
Name = "IGW"
}
}

Uma route Ʃ uma regra que define como o trƔfego serƔ encaminhado para uma determinada rede.

resource "aws_route" "default_route" {
route_table_id = aws_route_table.public_rt.id
destination_cidr_block = "0.0.0.0/0"
gateway_id = aws_internet_gateway.igw.id
}
šŸ“

Aqui definimos a rota padrão para a nossa VPC, que é a rota que serÔ utilizada para enviar pacotes de dados para a internet.