AUTHENTIFICATION...

SERVICIO CONECTADO
INAUGURACIÓN DE NUEVA PAGINA!
Hébergement/VPS

Conception de réseaux VPC dans AWS avec Terraform

Sistema IA
5 LECTURE MINIMUM
08 Jun 2026

Conception de réseau VPC dans AWS avec Terraform

Représentation Technique

Prérequis


Avoir un compte AWS
Avoir Terraform installé sur la machine locale
  • Connaissance de base d'AWS et Terraform
  • Configuration du compte AWS


    Avant de commencer, nous devons configurer notre compte AWS afin de pouvoir l'utiliser avec Terraform. Pour ce faire, nous devons créer un nouveau groupe de sécurité et un nouveau VPC.

    Créer un nouveau groupe de sécurité

    bash
    > [!IMPORTANT]
    > Assurez-vous que votre compte AWS dispose des autorisations appropriées pour créer des ressources.
    hcl
    ressource "aws_security_group" "my_security_group" {
    nom = "mon_groupe_de_sécurité"
    description = "Mon groupe de sécurité pour le VPC"

    # Règles d'entrée
    entrée {
    depuis_port = 22
    vers_port = 22
    protocole="tcp"
    cidr_blocks = ["0.0.0.0/0"]
    }

    # Règles de sortie
    sortie {
    depuis_port = 0
    vers_port = 0
    protocole="-1"
    cidr_blocks = ["0.0.0.0/0"]
    }
    }

    Créer un nouveau VPC

    hcl
    ressource "aws_vpc" "my_vpc" {
    cidr_block = "10.0.0.0/16"

    balises = {
    Nom = "Mon VPC"
    }
    }

    Création du réseau sous-jacent


    Une fois le VPC créé, nous pouvons créer le réseau sous-jacent. Pour ce faire, nous devons créer un nouveau sous-réseau et une nouvelle table de routage.

    Créer un nouveau sous-réseau

    hcl
    ressource "aws_subnet" "my_subnet" {
    cidr_block = "10.0.1.0/24"
    vpc_id = aws_vpc.my_vpc.id
    disponibilité_zone = "us-west-2a"

    balises = {
    Nom = "Mon sous-réseau"
    }
    }

    Créer une nouvelle table de routage

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

    balises = {
    Nom = "Ma table de routage"
    }
    }

    Paramètres réseau de sécurité


    Une fois le réseau sous-jacent créé, nous pouvons configurer le réseau de sécurité. Pour ce faire, nous devons créer une nouvelle règle de sécurité et l'associer au sous-réseau.

    Créer une nouvelle règle de sécurité

    hcl
    ressource "aws_security_group_rule" "my_security_rule" {
    type = "entrée"
    depuis_port = 22
    vers_port = 22
    protocole="tcp"
    source_security_group_id = aws_security_group.my_security_group.id
    security_group_id = aws_security_group.my_security_group.id
    }

    Associer la règle de sécurité au sous-réseau

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

    Configuration du réseau de données


    Une fois le réseau de sécurité configuré, nous pouvons configurer le réseau de données. Pour ce faire, nous devons créer une nouvelle instance EC2 et l'associer au sous-réseau.

    Créer une nouvelle instance EC2

    hcl
    ressource "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
    }

    Associer l'instance EC2 au sous-réseau

    hcl
    ressource "aws_network_interface_attachment" "my_network_association" {
    instance_id = aws_instance.my_instance_ec2.id
    network_interface_id = aws_network_interface.my_network.id
    index_appareil = 0
    }

    Configuration du réseau de stockage


    Une fois le réseau de données configuré, nous pouvons configurer le réseau de stockage. Pour ce faire, nous devons créer un nouveau volume EBS et l'attacher à l'instance EC2.

    Créer un nouveau volume EBS

    hcl
    ressource "aws_ebs_volume" "my_ebs_volume" {
    disponibilité_zone = "us-west-2a"
    taille = 10
    }

    Attachez le volume EBS à l'instance EC2

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

    Paramètres réseau de redirection


    Une fois le réseau de stockage configuré, nous pouvons configurer le réseau de redirection. Pour ce faire, nous devons créer un nouveau groupe de redirection et l'associer à l'instance EC2.

    Créer un nouveau groupe de redirection

    hcl
    ressource "aws_lb_target_group" "my_redirect_group" {
    nom = "mon-groupe-redirection"
    port = 80
    protocole = "HTTP"
    vpc_id = aws_vpc.my_vpc.id
    }

    Associer le groupe de redirection à l'instance EC2

    hcl
    ressource "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
    port = 80
    }

    Équilibrage de la configuration du réseau


    Une fois le réseau de redirection configuré, nous pouvons configurer le réseau d'équilibrage. Pour ce faire, nous devons créer un nouveau groupe d'équilibrage et l'associer à l'instance EC2.

    Créer un nouveau groupe d'équilibrage

    hcl
    ressource "aws_lb" "my_balancing_group" {
    nom = "mon-groupe d'équilibrage"
    interne = faux
    load_balancer_type = "application"
    security_groups = [aws_security_group.my_security_group.id]
    sous-réseaux = [aws_subnet.my_subnet.id]
    }

    Associer le groupe d'équilibrage à l'instance EC2

    hcl
    ressource "aws_lb_listener" "my_balancing_association" {
    load_balancer_arn = aws_lb.my_balancer_group.arn
    protocole = "HTTP"
    port = 80

    action_par défaut {
    tapez = "en avant"
    target_group_arn = aws_lb_target_group.my_group_redirection.arn
    }
    }

    Surveillance de la configuration du réseau


    Une fois le réseau d’équilibrage configuré, nous pouvons configurer le réseau de surveillance. Pour ce faire, nous devons créer un nouveau groupe de surveillance et l'associer à l'instance EC2.

    Créer un nouveau groupe de surveillance

    hcl
    ressource "aws_cloudwatch_metric_alarm" "my_monitoring_group" {
    alarm_name = "mon-groupe-de-surveillance"
    comparative_operator = "GreaterThanOrEqualToThreshold"
    périodes_d'évaluation = "1"
    metric_name = "CPUUtilisation"
    espace de noms = "AWS/EC2"
    période = "300"
    statistique = "Moyenne"
    seuil = "80"

    actions_enabled = vrai
    alarm_actions = [aws_sns_topic.mi_topic.arn]
    }

    Associer le groupe de surveillance à l'instance EC2

    hcl
    ressource "aws_sns_topic" "my_topic" {
    nom = "mon-sujet"
    }

    Conclusion


    Dans cet article, nous avons vu comment concevoir un réseau VPC dans AWS avec Terraform. Nous avons créé un nouveau VPC, un nouveau sous-réseau, une nouvelle table de routage, une nouvelle règle de sécurité, une nouvelle instance EC2, un nouveau volume EBS, un nouveau groupe de redirection, un nouveau groupe d'équilibrage et un nouveau groupe de surveillance.