Configurer un VPC et le réseau
Provisionnez un Virtual Private Cloud AWS, des sous-réseaux et des groupes de sécurité avec Terraform afin de fournir à votre infrastructure une base réseau sécurisée et isolée.
Configurer un VPC et le réseau est une leçon DevOps Bootcamp gratuite sur CoddyKit. Ceci est la leçon 4 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage DevOps Bootcamp, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours DevOps Bootcamp comprend 4 leçons au total.
Pourquoi une VPC personnalisée ?
Chaque compte AWS est livré avec une VPC par défaut, mais l’infrastructure de production mérite un réseau que vous concevez vous-même. Une VPC (Virtual Private Cloud) est une section isolée du cloud AWS dans laquelle vous contrôlez les plages d’IP, les sous-réseaux, le routage et les pare-feu.
Avec Terraform, vous décrivez l’intégralité du réseau sous forme de code, ce qui le rend reproductible entre les régions et les comptes.
Déclarer la ressource VPC
La ressource aws_vpc est la racine de votre réseau. Le bloc CIDR définit la plage d’IP privée. Un bloc /16 fournit environ 65 000 adresses à répartir entre les sous-réseaux.
resource "aws_vpc" "main" {
cidr_block = "10.0.0.0/16"
enable_dns_support = true
enable_dns_hostnames = true
tags = {
Name = "main-vpc"
}
}Sous-réseaux publics et privés
Les sous-réseaux divisent la plage de la VPC en blocs plus petits associés à une zone de disponibilité.
- Sous-réseau public — achemine le trafic vers une passerelle Internet et sert aux répartiteurs de charge et aux hôtes bastion.
- Sous-réseau privé — ne dispose d’aucune route Internet directe et convient aux bases de données et aux serveurs d’application.
Créer un sous-réseau public
Chaque sous-réseau a besoin de son propre CIDR (une portion de la plage de la VPC) et d’une zone de disponibilité. Définir map_public_ip_on_launch sur true attribue automatiquement des IP publiques aux instances lancées ici.
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"
}
}La passerelle Internet
Une passerelle Internet (IGW) permet aux ressources d’un sous-réseau public d’accéder à Internet. Vous l’associez directement à la VPC.
resource "aws_internet_gateway" "gw" {
vpc_id = aws_vpc.main.id
tags = {
Name = "main-igw"
}
}Tables de routage
Un sous-réseau ne devient réellement public qu’une fois qu’une table de routage envoie le trafic 0.0.0.0/0 vers la passerelle Internet. Les tables de routage associent les CIDR de destination à des cibles.
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
}
}Associer les routes aux sous-réseaux
Les tables de routage ne servent à rien tant qu’elles ne sont pas associées à un sous-réseau. La ressource aws_route_table_association les relie.
resource "aws_route_table_association" "public" {
subnet_id = aws_subnet.public.id
route_table_id = aws_route_table.public.id
}Les groupes de sécurité comme pare-feu
Un groupe de sécurité est un pare-feu virtuel à état autour d’une instance. « À état » signifie que le trafic de retour d’une requête entrante autorisée est automatiquement permis ; vous ne spécifiez donc généralement que les règles entrantes qui vous intéressent.
Définir un groupe de sécurité Web
Ci-dessous, nous autorisons le trafic HTTP entrant depuis n’importe où et tout le trafic sortant. Dans les déploiements réels, réduisez autant que possible le CIDR source.
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"]
}
}Connecter une instance au réseau
Associez le sous-réseau et le groupe de sécurité à une instance EC2 via subnet_id et vpc_security_group_ids. Le serveur est ainsi placé dans votre réseau personnalisé.
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]
}Afficher les identifiants réseau
Exposez les identifiants clés en tant que sorties afin que d’autres modules ou votre équipe puissent les référencer après l’application.
output "vpc_id" {
value = aws_vpc.main.id
}
output "public_subnet_id" {
value = aws_subnet.public.id
}Vérification rapide
Testez votre compréhension du routage VPC.
Récapitulatif : votre fondation réseau
Vous avez construit un réseau complet dans Terraform :
- aws_vpc avec une plage CIDR.
- Des sous-réseaux répartis dans plusieurs zones de disponibilité, publics ou privés.
- Une passerelle Internet ainsi que des tables de routage pour l’accès public.
- Des groupes de sécurité servant de pare-feu à état.
Ce réseau constitue l’épine dorsale à laquelle toutes les autres ressources AWS se connectent.
Questions Fréquemment Posées
La leçon « Configurer un VPC et le réseau » est-elle gratuite ?
Oui — le texte complet de « Configurer un VPC et le réseau » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours DevOps Bootcamp, passe à CoddyKit PRO. Le cours DevOps Bootcamp comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Configurer un VPC et le réseau » ?
Provisionnez un Virtual Private Cloud AWS, des sous-réseaux et des groupes de sécurité avec Terraform afin de fournir à votre infrastructure une base réseau sécurisée et isolée. Tu pratiques DevOps Bootcamp avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer DevOps Bootcamp ?
Aucune expérience préalable n'est requise. DevOps Bootcamp sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 4 sur 4.
Combien de temps prend la leçon « Configurer un VPC et le réseau » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon DevOps Bootcamp ?
Oui. Chaque leçon DevOps Bootcamp inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Configuration du fournisseur AWS
- Approvisionnement d’instances EC2
- Gestion des compartiments S3 et d’IAM
- Configurer un VPC et le réseau