splash_auth

SERVICIO CONECTADO
INAUGURACIÓN DE NUEVA PAGINA!
Hospedagem/VPS

Projeto de redes VPC na AWS com Terraform

Sistema IA
5 LEITURA MÍNIMA
08 Jun 2026

Projeto de rede VPC na AWS com Terraform

Representação Técnico

Pré-requisitos


Ter uma conta AWS
Ter o Terraform instalado na máquina local
  • Conhecimento básico de AWS e Terraform

  • ##Configuração da conta AWS

    Antes de começarmos, precisamos configurar nossa conta AWS para que possamos usá-la com o Terraform. Para fazer isso, precisamos criar um novo grupo de segurança e uma nova VPC.

    Crie um novo grupo de segurança

    bash
    > [!IMPORTANTE]
    > Certifique-se de que sua conta AWS tenha permissões apropriadas para criar recursos.
    hcl
    recurso "aws_security_group" "my_security_group" {
    nome = "meu_grupo_de_segurança"
    description = "Meu grupo de segurança para a VPC"

    # Regras de entrada
    ingresso {
    from_port = 22
    para_porta = 22
    protocolo = "tcp"
    cidr_blocks = ["0.0.0.0/0"]
    }

    # Regras de saída
    saída {
    from_port = 0
    porta_para = 0
    protocolo = "-1"
    cidr_blocks = ["0.0.0.0/0"]
    }
    }

    Crie uma nova VPC

    hcl
    recurso "aws_vpc" "meu_vpc" {
    cidr_block = "10.0.0.0/16"

    etiquetas = {
    Nome = "Minha VPC"
    }
    }

    Criação da rede subjacente


    Depois de criar o VPC, podemos criar a rede subjacente. Para fazer isso, devemos criar uma nova sub-rede e uma nova tabela de roteamento.

    Crie uma nova sub-rede

    hcl
    recurso "aws_subnet" "my_subnet" {
    cidr_block = "10.0.1.0/24"
    vpc_id=aws_vpc.my_vpc.id
    disponibilidade_zone = "us-west-2a"

    etiquetas = {
    Nome = "Minha sub-rede"
    }
    }

    Crie uma nova tabela de roteamento

    hcl
    recurso "aws_route_table" "my_route_table" {
    vpc_id=aws_vpc.my_vpc.id

    etiquetas = {
    Name = "Minha tabela de roteamento"
    }
    }

    Configurações de rede de segurança


    Depois de criar a rede subjacente, podemos configurar a rede de segurança. Para fazer isso, precisamos criar uma nova regra de segurança e associá-la à sub-rede.

    Crie uma nova regra de segurança

    hcl
    recurso "aws_security_group_rule" "my_security_rule" {
    tipo = "entrada"
    from_port = 22
    para_porta = 22
    protocolo = "tcp"
    source_security_group_id=aws_security_group.my_security_group.id
    security_group_id=aws_security_group.my_security_group.id
    }

    Associe a regra de segurança à sub-rede

    hcl
    recurso "aws_route_table_association" "my_route_association" {
    subnet_id = aws_subnet.my_subnet.id
    route_table_id=aws_route_table.my_route_table.id
    }

    Configuração da rede de dados


    Depois de configurar a rede de segurança, podemos configurar a rede de dados. Para fazer isso, precisamos criar uma nova instância EC2 e associá-la à sub-rede.

    Crie uma nova instância EC2

    hcl
    recurso "aws_instance" "my_ec2_instance" {
    ami="ami-abc123"
    instance_type = "t2.micro"
    vpc_security_group_ids = [aws_security_group.my_security_group.id]
    subnet_id = aws_subnet.my_subnet.id
    }

    Associe a instância EC2 à sub-rede

    hcl
    recurso "aws_network_interface_attachment" "my_network_association" {
    instance_id = aws_instance.my_instance_ec2.id
    network_interface_id = aws_network_interface.my_network.id
    índice_de_dispositivo = 0
    }

    Configuração de rede de armazenamento


    Depois de configurar a rede de dados, podemos configurar a rede de armazenamento. Para fazer isso, precisamos criar um novo volume EBS e anexá-lo à instância EC2.

    Crie um novo volume EBS

    hcl
    recurso "aws_ebs_volume" "my_ebs_volume" {
    disponibilidade_zone = "us-west-2a"
    tamanho = 10
    }

    Anexe o volume EBS à instância EC2

    hcl
    recurso "aws_volume_attachment" "my_ebs_association" {
    nome_do_dispositivo = "/dev/sdh"
    volume_id=aws_ebs_volume.my_ebs_volume.id
    instance_id = aws_instance.my_instance_ec2.id
    }

    Redirecionar configurações de rede


    Depois de configurar a rede de armazenamento, podemos configurar a rede de redirecionamento. Para fazer isso, precisamos criar um novo grupo de redirecionamento e associá-lo à instância EC2.

    Crie um novo grupo de redirecionamento

    hcl
    recurso "aws_lb_target_group" "my_redirect_group" {
    nome = "redirecionamento-meu-grupo"
    porta = 80
    protocolo = "HTTP"
    vpc_id=aws_vpc.my_vpc.id
    }

    Associe o grupo de redirecionamento à instância do EC2

    hcl
    recurso "aws_lb_target_group_attachment" "my_association_redirect" {
    target_group_arn = aws_lb_target_group.my_group_redirection.arn
    target_id=aws_instance.my_ec2_instance.id
    porta = 80
    }

    Balanceamento de configuração de rede


    Depois de configurar a rede de redirecionamento, podemos configurar a rede de balanceamento. Para fazer isso, precisamos criar um novo grupo de balanceamento e associá-lo à instância EC2.

    Crie um novo grupo de balanceamento

    hcl
    recurso "aws_lb" "my_balancing_group" {
    nome = "meu-grupo de balanceamento"
    interno = falso
    load_balancer_type = "aplicativo"
    grupos_de_segurança = [aws_security_group.my_security_group.id]
    sub-redes = [aws_subnet.my_subnet.id]
    }

    Associe o grupo de balanceamento à instância do EC2

    hcl
    recurso "aws_lb_listener" "my_balancing_association" {
    load_balancer_arn = aws_lb.my_balancer_group.arn
    protocolo = "HTTP"
    porta = 80

    ação_padrão {
    tipo = "avançar"
    target_group_arn = aws_lb_target_group.my_group_redirection.arn
    }
    }

    Monitorando a configuração da rede


    Depois de configurar a rede de balanceamento, podemos configurar a rede de monitoramento. Para fazer isso, precisamos criar um novo grupo de monitoramento e associá-lo à instância EC2.

    Crie um novo grupo de monitoramento

    hcl
    recurso "aws_cloudwatch_metric_alarm" "my_monitoring_group" {
    alarm_name = "meu-grupo de monitoramento"
    comparação_operator = "GreaterThanOrEqualToThreshold"
    períodos_avaliação = "1"
    metric_name = "CPUUtilização"
    namespace = "AWS/EC2"
    período = "300"
    estatística = "Média"
    limite = "80"

    ações_enabled = verdadeiro
    alarm_actions = [aws_sns_topic.mi_topic.arn]
    }

    Associe o grupo de monitoramento à instância do EC2

    hcl
    recurso "aws_sns_topic" "meu_topic" {
    nome = "meu-tópico"
    }

    Conclusão


    Neste artigo, vimos como projetar uma rede VPC na AWS com Terraform. Criamos uma nova VPC, uma nova sub-rede, uma nova tabela de roteamento, uma nova regra de segurança, uma nova instância EC2, um novo volume EBS, um novo grupo de redirecionamento, um novo grupo de balanceamento e um novo grupo de monitoramento.