0Pricing
DevOps Bootcamp · Aula

Configurando VPC e redes

Provisione uma nuvem privada virtual da AWS, sub-redes e grupos de segurança com Terraform para fornecer uma base de rede segura e isolada à sua infraestrutura.

Configurando VPC e redes é uma aula grátis de DevOps Bootcamp no CoddyKit. Esta é a aula 4 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de DevOps Bootcamp, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de DevOps Bootcamp inclui 4 aulas no total.

Por que usar uma VPC personalizada?

Toda conta da AWS vem com uma VPC padrão, mas a infraestrutura de produção merece uma rede projetada por você. Uma VPC (nuvem privada virtual) é uma seção isolada da nuvem da AWS na qual você controla intervalos de IP, sub-redes, roteamento e firewalls.

Com o Terraform, você descreve toda a rede como código, tornando-a reproduzível entre regiões e contas.

Declarando o recurso VPC

O recurso aws_vpc é a raiz da sua rede. O bloco CIDR define o intervalo de IP privado. Um bloco /16 fornece aproximadamente 65.000 endereços para dividir em sub-redes.

resource "aws_vpc" "main" {
  cidr_block           = "10.0.0.0/16"
  enable_dns_support   = true
  enable_dns_hostnames = true

  tags = {
    Name = "main-vpc"
  }
}

Sub-redes públicas e privadas

As sub-redes dividem o intervalo da VPC em blocos menores associados a uma zona de disponibilidade.

  • Sub-rede pública — roteia para um gateway da Internet e é usada por balanceadores de carga e servidores bastion.
  • Sub-rede privada — não possui uma rota direta para a Internet e é ideal para bancos de dados e servidores de aplicações.

Criando uma sub-rede pública

Cada sub-rede precisa de seu próprio CIDR (uma parte do intervalo da VPC) e de uma zona de disponibilidade. Definir map_public_ip_on_launch como true atribui automaticamente IPs públicos às instâncias iniciadas aqui.

resource "aws_subnet" "public" {
  vpc_id                  = aws_vpc.main.id
  cidr_block              = "10.0.1.0/24"
  availability_zone       = "us-east-1a"
  map_public_ip_on_launch = true

  tags = {
    Name = "public-subnet"
  }
}

O gateway da Internet

Um gateway da Internet (IGW) permite que os recursos de uma sub-rede pública acessem a Internet. Você o associa diretamente à VPC.

resource "aws_internet_gateway" "gw" {
  vpc_id = aws_vpc.main.id

  tags = {
    Name = "main-igw"
  }
}

Tabelas de rotas

Uma sub-rede só se torna realmente pública quando uma tabela de rotas envia o tráfego 0.0.0.0/0 para o gateway da Internet. As tabelas de rotas associam CIDRs de destino a alvos.

resource "aws_route_table" "public" {
  vpc_id = aws_vpc.main.id

  route {
    cidr_block = "0.0.0.0/0"
    gateway_id = aws_internet_gateway.gw.id
  }
}

Associando rotas a sub-redes

As tabelas de rotas não fazem nada até serem associadas a uma sub-rede. O recurso aws_route_table_association cria essa ligação.

resource "aws_route_table_association" "public" {
  subnet_id      = aws_subnet.public.id
  route_table_id = aws_route_table.public.id
}

Grupos de segurança como firewalls

Um grupo de segurança é um firewall virtual com estado ao redor de uma instância. Ter estado significa que o tráfego de retorno de uma solicitação de entrada permitida é autorizado automaticamente; por isso, normalmente você só precisa especificar as regras de entrada relevantes.

Definindo um grupo de segurança web

Abaixo, permitimos HTTP de entrada de qualquer origem e todo o tráfego de saída. Em implantações reais, restrinja o CIDR de origem tanto quanto possível.

resource "aws_security_group" "web" {
  name   = "web-sg"
  vpc_id = aws_vpc.main.id

  ingress {
    from_port   = 80
    to_port     = 80
    protocol    = "tcp"
    cidr_blocks = ["0.0.0.0/0"]
  }

  egress {
    from_port   = 0
    to_port     = 0
    protocol    = "-1"
    cidr_blocks = ["0.0.0.0/0"]
  }
}

Conectando uma instância à rede

Associe a sub-rede e o grupo de segurança a uma instância do EC2 por meio de subnet_id e vpc_security_group_ids. Isso coloca o servidor dentro da sua rede personalizada.

resource "aws_instance" "app" {
  ami                    = "ami-0abcd1234"
  instance_type          = "t3.micro"
  subnet_id              = aws_subnet.public.id
  vpc_security_group_ids = [aws_security_group.web.id]
}

Expondo IDs de rede

Exponha IDs importantes como saídas para que outros módulos ou sua equipe possam referenciá-los após a aplicação.

output "vpc_id" {
  value = aws_vpc.main.id
}

output "public_subnet_id" {
  value = aws_subnet.public.id
}

Verificação rápida

Teste sua compreensão do roteamento de VPC.

Recapitulação: sua base de rede

Você criou uma rede completa no Terraform:

  • aws_vpc com um intervalo CIDR.
  • Sub-redes distribuídas entre zonas de disponibilidade, públicas ou privadas.
  • Gateway da Internet e tabelas de rotas para acesso público.
  • Grupos de segurança como firewalls com estado.

Essa rede é a base à qual todos os outros recursos da AWS se conectam.

Perguntas Frequentes

A aula “Configurando VPC e redes” é grátis?

Sim — o texto completo de “Configurando VPC e redes” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de DevOps Bootcamp, atualize para CoddyKit PRO. O curso de DevOps Bootcamp inclui 4 aulas no total.

O que vou aprender em “Configurando VPC e redes”?

Provisione uma nuvem privada virtual da AWS, sub-redes e grupos de segurança com Terraform para fornecer uma base de rede segura e isolada à sua infraestrutura. Você pratica DevOps Bootcamp com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar DevOps Bootcamp?

Nenhuma experiência prévia é necessária. DevOps Bootcamp no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 4 de 4.

Quanto tempo leva a aula “Configurando VPC e redes”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de DevOps Bootcamp?

Sim. Cada aula de DevOps Bootcamp inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Configuração do Provedor AWS
  2. Provisionamento de Instâncias EC2
  3. Gerenciamento de Buckets S3 e IAM
  4. Configurando VPC e redes
← Voltar para DevOps Bootcamp