splash_auth

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

Progettazione di reti VPC in AWS con Terraform

Sistema IA
5 LETTURA MIN
08 Jun 2026

Progettazione di reti VPC in AWS con Terraform

Rappresentazione Tecnico

Prerequisiti


Avere un account AWS
Avere Terraform installato sul computer locale
  • Conoscenza di base di AWS e Terraform
  • Configurazione dell'account AWS


    Prima di iniziare, dobbiamo configurare il nostro account AWS in modo da poterlo utilizzare con Terraform. Per fare ciò, dobbiamo creare un nuovo gruppo di sicurezza e un nuovo VPC.

    Crea un nuovo gruppo di sicurezza


    "bash."
    > [!IMPORTANTE]
    > Assicurati che il tuo account AWS disponga delle autorizzazioni appropriate per creare risorse.

    hcl
    risorsa "aws_security_group" "my_security_group" {
    nome = "mio_gruppo_sicurezza"
    description = "Il mio gruppo di sicurezza per il VPC"

    # Regole di ingresso
    ingresso {
    da_porto = 22
    a_porto = 22
    protocollo="tcp"
    blocchi_cidr = ["0.0.0.0/0"]
    }

    # Regole di uscita
    uscita {
    da_porta = 0
    a_porta = 0
    protocollo="-1"
    blocchi_cidr = ["0.0.0.0/0"]
    }
    }

    ### Crea un nuovo VPC

    hcl
    risorsa "aws_vpc" "mio_vpc" {
    cidr_block = "10.0.0.0/16"

    tag = {
    Nome = "Il mio VPC"
    }
    }

    ## Creazione della rete sottostante

    Una volta creato il VPC, possiamo creare la rete sottostante. Per fare ciò, dobbiamo creare una nuova sottorete e una nuova tabella di routing.

    ### Crea una nuova sottorete

    hcl
    risorsa "aws_subnet" "my_subnet" {
    cidr_block = "10.0.1.0/24"
    vpc_id = aws_vpc.my_vpc.id
    disponibilità_zona = "noi-ovest-2a"

    tag = {
    Nome = "La mia sottorete"
    }
    }

    ### Crea una nuova tabella di routing

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

    tag = {
    Nome = "La mia tabella di routing"
    }
    }

    ## Impostazioni di rete di sicurezza

    Una volta creata la rete sottostante, possiamo configurare la rete di sicurezza. Per fare ciò, dobbiamo creare una nuova regola di sicurezza e associarla alla sottorete.

    ### Crea una nuova regola di sicurezza

    hcl
    risorsa "aws_security_group_rule" "my_security_rule" {
    tipo = "entrata"
    da_porto = 22
    a_porto = 22
    protocollo="tcp"
    source_security_group_id = aws_security_group.my_security_group.id
    security_group_id = aws_security_group.my_security_group.id
    }

    ### Associa la regola di sicurezza alla sottorete

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

    ## Configurazione della rete dati

    Una volta configurata la rete di sicurezza, possiamo configurare la rete dati. Per fare ciò, dobbiamo creare una nuova istanza EC2 e associarla alla sottorete.

    ### Crea una nuova istanza EC2

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

    ### Associa l'istanza EC2 alla sottorete

    hcl
    risorsa "aws_network_interface_attachment" "my_network_association" {
    istanza_id = aws_instance.my_instance_ec2.id
    network_interface_id = aws_network_interface.my_network.id
    indice_dispositivo = 0
    }

    ## Configurazione della rete di archiviazione

    Una volta configurata la rete dati, possiamo configurare la rete di archiviazione. Per fare ciò, dobbiamo creare un nuovo volume EBS e collegarlo all'istanza EC2.

    ### Crea un nuovo volume EBS

    hcl
    risorsa "aws_ebs_volume" "mio_ebs_volume" {
    disponibilità_zona = "noi-ovest-2a"
    dimensione = 10
    }

    ### Collega il volume EBS all'istanza EC2

    hcl
    risorsa "aws_volume_attachment" "my_ebs_association" {
    nome_dispositivo = "/dev/sdh"
    volume_id = aws_ebs_volume.my_ebs_volume.id
    istanza_id = aws_instance.my_instance_ec2.id
    }

    ## Reindirizza le impostazioni di rete

    Una volta configurata la rete di archiviazione, possiamo configurare la rete di reindirizzamento. Per fare ciò, dobbiamo creare un nuovo gruppo di reindirizzamento e associarlo all'istanza EC2.

    ### Crea un nuovo gruppo di reindirizzamento

    hcl
    risorsa "aws_lb_target_group" "my_redirect_group" {
    nome = "reindirizzamento-mio-gruppo"
    porto = 80
    protocollo = "HTTP"
    vpc_id = aws_vpc.my_vpc.id
    }

    ### Associa il gruppo di reindirizzamento all'istanza EC2

    hcl
    risorsa "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
    porto = 80
    }

    ## Bilanciamento della configurazione di rete

    Una volta configurata la rete di reindirizzamento, possiamo configurare la rete di bilanciamento. Per fare ciò dobbiamo creare un nuovo gruppo di bilanciamento e associarlo all'istanza EC2.

    ### Crea un nuovo gruppo di bilanciamento

    hcl
    risorsa "aws_lb" "mio_gruppo_bilanciamento" {
    nome = "il mio-gruppo-di-bilanciamento"
    interno = falso
    load_balancer_type = "applicazione"
    gruppi_sicurezza = [aws_security_group.my_security_group.id]
    sottoreti = [aws_subnet.my_subnet.id]
    }

    ### Associa il gruppo di bilanciamento all'istanza EC2

    hcl
    risorsa "aws_lb_listener" "my_balancing_association" {
    load_balancer_arn = aws_lb.my_balancer_group.arn
    protocollo = "HTTP"
    porto = 80

    azione_predefinita {
    tipo = "avanti"
    target_group_arn = aws_lb_target_group.my_group_redirection.arn
    }
    }

    ## Monitoraggio della configurazione di rete

    Una volta configurata la rete di bilanciamento, possiamo configurare la rete di monitoraggio. Per fare ciò, dobbiamo creare un nuovo gruppo di monitoraggio e associarlo all'istanza EC2.

    ### Crea un nuovo gruppo di monitoraggio

    hcl
    risorsa "aws_cloudwatch_metric_alarm" "my_monitoring_group" {
    nome_allarme = "il-mio-gruppo-di-monitoraggio"
    comparatore_operatore = "MaggioreThanOrEqualToThreshold"
    periodi_divalutazione = "1"
    metric_name = "CPUUtilizzazione"
    spazio dei nomi = "AWS/EC2"
    periodo = "300"
    statistica = "Media"
    soglia = "80"

    azioni_abilitate = vero
    azioni_allarme = [aws_sns_topic.mi_topic.arn]
    }

    ### Associa il gruppo di monitoraggio all'istanza EC2

    hcl
    risorsa "aws_sns_topic" "mio_argomento" {
    nome = "il mio argomento"
    }
    ```

    Conclusione


    In questo articolo abbiamo visto come progettare una rete VPC in AWS con Terraform. Abbiamo creato un nuovo VPC, una nuova sottorete, una nuova tabella di routing, una nuova regola di sicurezza, una nuova istanza EC2, un nuovo volume EBS, un nuovo gruppo di reindirizzamento, un nuovo gruppo di bilanciamento e un nuovo gruppo di monitoraggio.