skip to content

Recherche

Syspirit
FR

AWS VPC

Réseau AWS : adressage, routage, filtrage et interconnexions d'un VPC !

AWS
Publié le
Karl Certa

Amazon VPC (Virtual Private Cloud) est un réseau virtuel isolé dans une région AWS : on y choisit la plage d’adresses, le découpage en subnets, le routage et le filtrage.

🧭 Quel composant pour quel besoin

📌 Besoin☁️ Service à utiliser
🌍 Exposer un serveur sur InternetSubnet public + Internet Gateway + IP publique
🔄 Faire sortir un subnet privé vers InternetNAT Gateway
🌐 Sortie IPv6 sans connexion entranteEgress-only Internet Gateway
🪣 Joindre S3 ou DynamoDB sans InternetGateway Endpoint
🔌 Joindre un autre service AWS sans InternetInterface Endpoint
🤝 Relier quelques VPC entre euxVPC Peering
🚉 Relier beaucoup de VPC, des VPN et Direct ConnectTransit Gateway
🏢 Relier un site distant rapidementSite-to-Site VPN
📡 Débit élevé et latence stable vers le datacenterDirect Connect (VPN en secours)
⛔ Bloquer une IP préciseRègle Deny dans une NACL
🔍 Comprendre pourquoi un flux est rejetéVPC Flow Logs

📐 Adressage et tailles

Le CIDR (Classless Inter-Domain Routing) note une plage d’adresses : plus le préfixe est grand, plus la plage est petite.

📌 Élément📊 Valeur💡 Conséquence
📏 Taille d’un VPC (IPv4)De /16 (65 536 IP) à /28 (16 IP)Un bloc existant ne se redimensionne pas : on ajoute un bloc secondaire
➕ Blocs CIDR IPv4 par VPC5 par défaut, ajustable jusqu’à 50Le bloc principal compte dans le quota et ne peut pas être retiré
🏠 Plages privées (RFC 1918)10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16La RFC 1918 définit les plages privées, non routées sur Internet
🚫 Plage à éviter172.17.0.0/16Utilisée par certains services AWS (Cloud9, SageMaker AI) : conflits d’adresses
🔲 Taille d’un subnet (IPv4)De /16 à /28Un subnet tient dans une seule AZ (Availability Zone, datacenter isolé de la région)
🔢 Subnets par VPC200 par défaut, ajustablePrévoir au moins un subnet par AZ et par couche (public, privé)
🌍 VPC par région5 par défaut, ajustableRelever ce quota relève d’autant celui des Internet Gateways
🎁 VPC par défaut172.31.0.0/16, un subnet /20 par AZTous ses subnets sont publics : pratique pour tester, à éviter en production

🔢 IP réservées par subnet

AWS réserve 5 adresses dans chaque subnet : les 4 premières et la dernière. Exemple avec 10.0.0.0/24 :

📌 Adresse📊 Rôle
10.0.0.0Adresse réseau
10.0.0.1Routeur du VPC
10.0.0.2Réservée par AWS (le DNS Amazon répond sur l’adresse de base du VPC + 2)
10.0.0.3Réservée par AWS pour un usage futur
10.0.0.255Broadcast : non supporté dans un VPC, réservé quand même

Conséquence : un /28 n’offre que 11 adresses utilisables et un /24 en offre 251. Les endpoints d’interface et les attachments Transit Gateway prennent aussi une IP dans le subnet : un subnet trop juste bloque vite les déploiements.

🌐 Subnet public ou privé

Le type d’un subnet dépend uniquement de sa table de routage.

📌 Type🛣️ Route vers📊 Usage type
🌍 PublicIGW (Internet Gateway)Load balancer exposé, bastion, NAT Gateway zonale
🔒 PrivéNAT Gateway, ou aucune sortie Internet directeServeurs applicatifs, bases de données
🏢 VPN-onlyVGW (Virtual Private Gateway) vers le site distantRessources joignables seulement depuis le réseau interne
🧊 IsoléAucune destination hors du VPCRessources qui ne parlent qu’au VPC
📌 Condition pour joindre Internet📊 Détail
🚪 IGW attaché au VPCUn seul IGW par VPC ; gratuit, redondant, sans contrainte de bande passante
🛣️ Route vers l’IGW0.0.0.0/0 (IPv4) ou ::/0 (IPv6) dans la table du subnet
🏷️ Adresse publiqueIP publique ou EIP (Elastic IP, adresse publique fixe) : sans elle, pas d’Internet même en subnet public
🛡️ FiltrageLe Security Group et la NACL doivent autoriser le flux
💶 Coût IPv4 publiqueFacturée à l’heure, qu’elle soit attachée ou inutilisée

🛣️ Tables de routage

📌 Élément📊 Comportement
🗺️ Table principale (main)Créée avec le VPC, appliquée à tout subnet sans association explicite
🔗 AssociationUn subnet a une seule table ; une table peut servir plusieurs subnets
🏠 Route localCouvre le CIDR du VPC : tous les subnets se joignent sans route ajoutée
🎯 PrioritéLa route la plus spécifique gagne (longest prefix match) : /32 passe avant /24
⚖️ Destination identiqueRoute statique prioritaire sur une route propagée par VPN ou Direct Connect
📏 Routes par table500 par défaut (hors routes propagées), ajustable jusqu’à 1 000

Conséquence : un subnet créé sans association hérite de la table principale. Si cette table route vers l’IGW, le subnet devient public sans qu’on l’ait décidé.

🚪 NAT Gateway

Le NAT (Network Address Translation) permet à des ressources privées d’ouvrir des connexions sortantes sans être joignables depuis l’extérieur.

📌 Élément📊 Valeur
🏗️ NAT Gateway zonaleCréée dans un subnet public avec une EIP, redondante dans son AZ uniquement
🌐 NAT Gateway régionaleAucun subnet public requis, s’étend seule aux AZ qui ont des ressources (jusqu’à 60 min)
🚀 Bande passante5 Gbps, montée automatique jusqu’à 100 Gbps
🔌 Connexions55 000 simultanées par IP vers une même destination (IP, port, protocole)
🛡️ Security GroupNon attachable : filtrer sur les instances et dans la NACL
🔁 Ports sources1024-65535, à autoriser dans la NACL
🚫 Depuis un VPC pairImpossible de sortir par la NAT Gateway d’un VPC en peering
🌐 Équivalent IPv6Egress-only Internet Gateway : gratuit, stateful, bloque les connexions entrantes
🧓 NAT instanceEC2 gérée soi-même, contrôle source/destination à désactiver, AMI NAT d’AWS plus maintenue

Règle de haute disponibilité en mode zonal : une NAT Gateway par AZ, et chaque subnet privé route vers celle de sa propre AZ. Avec une seule NAT Gateway, la panne de son AZ coupe Internet à toutes les autres. Le mode régional règle ce point mais ne gère pas le NAT privé et se facture pour chaque AZ couverte.

🛡️ Security Group ou NACL

Le SG (Security Group) filtre au niveau de l’ENI (Elastic Network Interface, carte réseau virtuelle) ; la NACL (Network Access Control List) filtre ce qui entre et sort du subnet.

📌 Critère🛡️ Security Group🧱 NACL
📍 NiveauRessource (ENI)Subnet
✅ Types de règlesAllow uniquementAllow et Deny
🔄 ÉtatStateful : la réponse est autorisée d’officeStateless : la réponse doit avoir sa propre règle
🔢 ÉvaluationToutes les règles avant décisionPar numéro croissant, arrêt à la première correspondance
🎁 Par défautSG default : entrée depuis ce même SG, sortie totaleNACL par défaut : tout autorisé ; NACL créée : tout refusé
🎯 Source possibleCIDR, prefix list ou autre SGCIDR uniquement
📏 Quotas par défaut60 règles entrantes et 60 sortantes ; 5 SG par ENI (jusqu’à 16)20 règles par sens, ajustable jusqu’à 40
🔗 AssociationPlusieurs SG par ressourceUne NACL par subnet, partageable entre subnets

Ni le SG ni la NACL ne filtrent le DNS Amazon, le DHCP, les métadonnées d’instance ou le Time Sync Service. AWS recommande le SG comme contrôle principal et la NACL comme garde-fou au niveau du subnet.

🔌 VPC Endpoints

Un endpoint donne accès aux services AWS sans IGW ni NAT : le trafic reste sur le réseau AWS.

📌 Critère🚪 Gateway Endpoint🔌 Interface Endpoint
🎯 ServicesS3 et DynamoDB uniquementLa plupart des services AWS via PrivateLink, dont S3 et DynamoDB
⚙️ MécanismeRoute vers une prefix list ajoutée à la table de routageENI avec IP privée, un subnet par AZ
💶 CoûtGratuitFacturé à l’heure par AZ et au Go traité
🏢 Accès depuis le site (VPN, Direct Connect)NonOui
🔗 Accès depuis un autre VPCNon (un VPC pair ne peut pas l’utiliser)Oui, via peering ou Transit Gateway

Règle pour S3 : Gateway Endpoint pour le trafic interne au VPC, Interface Endpoint pour le trafic venant du site distant. Les deux cohabitent dans le même VPC.

🔗 VPC Peering ou Transit Gateway

📌 Critère🤝 VPC Peering🚉 Transit Gateway (TGW)
🧩 ModèleLien 1 à 1 entre deux VPCRouteur virtuel régional central
🔁 TransitivitéAucune : A-B et B-C ne donnent pas A-COui, selon les tables de routage du TGW
🧮 Liens pour n VPC maillésn(n-1)/2 (10 VPC = 45 peerings)Un attachment par VPC
🌍 PortéeMême région, inter-régions, inter-comptesRégional, peering de TGW entre régions, partage via RAM (Resource Access Manager)
🔌 Autres rattachementsAucun : pas d’accès à l’IGW, la NAT, le VPN ou Direct Connect du pairVPN, Direct Connect gateway, autres TGW
🧱 SegmentationPar choix des liens créésPlusieurs tables de routage (isoler DEV et PROD)
🚀 DébitPas de goulot ni de point unique de panneJusqu’à 100 Gbps par attachment VPC et par AZ
💶 CoûtCréation gratuite ; trafic gratuit dans une AZ, payant entre AZ et régionsÀ l’heure par attachment et au Go traité
📏 Quota par défaut50 peerings actifs par VPC, ajustable jusqu’à 1255 000 attachments par TGW, ajustable

Règle peering : les CIDR ne doivent pas se chevaucher, même partiellement (d’où l’intérêt d’un plan d’adressage commun). Après acceptation, ajouter la route vers le CIDR distant des deux côtés, sinon rien ne passe. Dans une même région, un SG peut référencer un SG du VPC pair.

🏢 Connectivité hybride

📌 Critère🔐 Site-to-Site VPN📡 Direct Connect (DX)
🛤️ TransportTunnels IPsec sur InternetLien physique privé depuis une Direct Connect location
🔒 ChiffrementOui (IPsec)Non par défaut : MACsec sur ports dédiés 10, 100 ou 400 Gbps (sites sélectionnés), ou VPN par-dessus
🚀 Débit2 tunnels par connexion, jusqu’à 1,25 Gbps par tunnel (5 Gbps en Large Bandwidth Tunnel sur TGW)Dédié : 1, 10, 100 ou 400 Gbps ; hébergé par un partenaire : 50 Mbps à 25 Gbps
⏱️ Mise en placeQuelques minutesCircuit physique à commander (port AWS, cross-connect, opérateur)
📉 LatenceDépend d’InternetStable
🧱 Côté AWSVGW (un VPC) ou TGW (plusieurs VPC, ECMP pour cumuler les tunnels)VIF (Virtual Interface) privée, publique ou transit

ECMP (Equal-Cost Multi-Path) répartit le trafic sur plusieurs tunnels actifs, à condition d’utiliser le routage dynamique BGP (Border Gateway Protocol). Le Direct Connect gateway, ressource globale, relie une connexion DX à des VPC de plusieurs régions sans permettre le trafic entre ces VPC. Schéma robuste : DX en lien principal, VPN en secours, AWS préférant toujours le chemin DX quand il est actif.

📜 VPC Flow Logs

📌 Élément📊 Détail
🎯 NiveauVPC, subnet ou ENI (y compris celles d’un load balancer, d’une NAT Gateway ou d’un TGW)
🔎 FiltreTrafic accepté, rejeté, ou les deux
📦 DestinationsCloudWatch Logs, S3 (requêtes SQL avec Athena), Data Firehose
⏱️ DélaiPas de temps réel : plusieurs minutes avant les premiers enregistrements
⚡ Impact réseauAucun : la collecte se fait hors du chemin du trafic
✏️ ModificationImpossible après création : supprimer puis recréer
🙈 Non capturéDNS Amazon, DHCP, métadonnées 169.254.169.254, Time Sync 169.254.169.123, ARP
💶 CoûtTarif « vended logs » de CloudWatch (ingestion et archivage)

Usage type : un flux marqué REJECT pointe vers un SG ou une NACL trop restrictif ; activer le filtre « rejeté » sur le subnet concerné donne la réponse sans capture réseau.

Articles liés