Concepts Fondamentaux VPC
Qu'est-ce qu'un VPC ?
Un VPC (Virtual Private Cloud) est votre réseau privé virtuel dans AWS. C'est un espace réseau isolé où vous déployez vos ressources AWS.
┌─────────────────────────────────────────────────────────────┐
│ AMAZON VPC │
├─────────────────────────────────────────────────────────────┤
│ │
│ "Votre datacenter virtuel dans le cloud" │
│ │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ VPC (10.0.0.0/16) │ │
│ │ │ │
│ │ Votre espace réseau privé et isolé │ │
│ │ │ │
│ │ ┌─────────────┐ ┌─────────────┐ │ │
│ │ │ Subnet 1 │ │ Subnet 2 │ │ │
│ │ │ 10.0.1.0/24 │ │ 10.0.2.0/24 │ │ │
│ │ │ │ │ │ │ │
│ │ │ ┌─────┐ │ │ ┌─────┐ │ │ │
│ │ │ │ EC2 │ │ │ │ RDS │ │ │ │
│ │ │ └─────┘ │ │ └─────┘ │ │ │
│ │ │ │ │ │ │ │
│ │ └─────────────┘ └─────────────┘ │ │
│ │ │ │
│ └─────────────────────────────────────────────────────┘ │
│ │
│ Caractéristiques : │
│ • Isolé des autres VPC et d'Internet (par défaut) │
│ • Vous contrôlez la plage d'adresses IP │
│ • Vous définissez les règles de sécurité │
│ • Régional (s'étend sur toutes les AZ de la région) │
│ │
└─────────────────────────────────────────────────────────────┘
Analogie : VPC = Immeuble de Bureaux
┌─────────────────────────────────────────────────────────────┐
│ ANALOGIE : IMMEUBLE DE BUREAUX │
├─────────────────────────────────────────────────────────────┤
│ │
│ MONDE RÉEL AWS │
│ ────────── ─── │
│ │
│ 🏢 Immeuble = VPC │
│ (votre espace privé) (votre réseau privé) │
│ │
│ 🚪 Étages = Subnets │
│ (divisions internes) (sous-réseaux) │
│ │
│ 🔐 Accueil/Sécurité = Internet Gateway │
│ (entrée contrôlée) (accès Internet) │
│ │
│ 📋 Badge d'accès = Security Group │
│ (qui peut entrer où) (règles de pare-feu) │
│ │
│ 🗺️ Plan d'évacuation = Route Table │
│ (chemins de circulation) (routage du trafic) │
│ │
│ 🏠 Bureaux = Instances EC2 │
│ (espaces de travail) (vos serveurs) │
│ │
└─────────────────────────────────────────────────────────────┘
Composants d'un VPC
Vue d'Ensemble
┌─────────────────────────────────────────────────────────────┐
│ COMPOSANTS VPC │
├─────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ VPC │ │
│ │ (conteneur) │ │
│ │ │ │
│ │ ┌─────────────┐ ┌─────────────┐ │ │
│ │ │ SUBNET │ │ SUBNET │ ← Sous-réseaux │ │
│ │ │ (public) │ │ (privé) │ │ │
│ │ └──────┬──────┘ └──────┬──────┘ │ │
│ │ │ │ │ │
│ │ └────────┬───────┘ │ │
│ │ │ │ │
│ │ ┌────────┴────────┐ │ │
│ │ │ ROUTE TABLE │ ← Où va le trafic │ │
│ │ └────────┬────────┘ │ │
│ │ │ │ │
│ │ ┌───────────────┼───────────────┐ │ │
│ │ │ │ │ │ │
│ │ ▼ ▼ ▼ │ │
│ │ ┌─────┐ ┌─────────┐ ┌──────────┐ │ │
│ │ │ IGW │ │ NAT │ │ VPC │ │ │
│ │ │ │ │ Gateway │ │ Peering │ │ │
│ │ └─────┘ └─────────┘ └──────────┘ │ │
│ │ Internet Sortie pour Autre VPC │ │
│ │ subnet privé │ │
│ │ │ │
│ └─────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────┘
Tableau des Composants
| Composant | Description | Obligatoire |
|---|---|---|
| VPC | Réseau virtuel isolé | Oui |
| Subnet | Sous-réseau dans une AZ | Oui (au moins 1) |
| Route Table | Règles de routage | Oui (créée auto) |
| Internet Gateway | Accès Internet | Non (si privé) |
| NAT Gateway | Sortie Internet pour privé | Non |
| Security Group | Pare-feu niveau instance | Oui |
| NACL | Pare-feu niveau subnet | Oui (par défaut) |
VPC par Défaut vs VPC Personnalisé
┌─────────────────────────────────────────────────────────────┐
│ VPC PAR DÉFAUT vs VPC PERSONNALISÉ │
├─────────────────────────────────────────────────────────────┤
│ │
│ VPC PAR DÉFAUT VPC PERSONNALISÉ │
│ ────────────── ──────────────── │
│ │
│ • Créé automatiquement • Vous le créez │
│ • 1 par région • Autant que vous voulez │
│ • CIDR: 172.31.0.0/16 • CIDR: vous choisissez │
│ • Subnets publics auto • Vous configurez tout │
│ • IGW attaché • Vous attachez l'IGW │
│ │
│ Quand utiliser : Quand utiliser : │
│ ✅ Tests rapides ✅ Production │
│ ✅ Apprentissage ✅ Sécurité renforcée │
│ ❌ Production ✅ Multi-tiers │
│ │
│ ⚠️ En production, TOUJOURS utiliser un VPC personnalisé │
│ pour un meilleur contrôle de la sécurité │
│ │
└─────────────────────────────────────────────────────────────┘
Plage d'Adresses IP (CIDR)
Qu'est-ce que CIDR ?
┌─────────────────────────────────────────────────────────────┐
│ NOTATION CIDR │
├─────────────────────────────────────────────────────────────┤
│ │
│ CIDR = Classless Inter-Domain Routing │
│ │
│ Format : ADRESSE_RÉSEAU / PRÉFIXE │
│ │
│ Exemple : 10.0.0.0/16 │
│ │ │ │
│ │ └── 16 bits fixes (réseau) │
│ │ 16 bits variables (hôtes) │
│ │ │
│ └── Adresse de début du réseau │
│ │
│ Calcul du nombre d'adresses : │
│ Formule : 2^(32 - préfixe) │
│ │
│ /16 = 2^(32-16) = 2^16 = 65,536 adresses │
│ /24 = 2^(32-24) = 2^8 = 256 adresses │
│ /28 = 2^(32-28) = 2^4 = 16 adresses │
│ │
└─────────────────────────────────────────────────────────────┘
Plages Privées (RFC 1918)
┌─────────────────────────────────────────────────────────────┐
│ PLAGES IP PRIVÉES (RFC 1918) │
├─────────────────────────────────────────────────────────────┤
│ │
│ Ces plages ne sont PAS routées sur Internet │
│ → Utilisez-les pour vos VPC │
│ │
│ CLASSE A : 10.0.0.0/8 │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ 10.0.0.0 → 10.255.255.255 │ │
│ │ 16,777,216 adresses │ │
│ │ Usage : Grandes entreprises │ │
│ └─────────────────────────────────────────────────────┘ │
│ │
│ CLASSE B : 172.16.0.0/12 │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ 172.16.0.0 → 172.31.255.255 │ │
│ │ 1,048,576 adresses │ │
│ │ Usage : Moyennes entreprises │ │
│ └─────────────────────────────────────────────────────┘ │
│ │
│ CLASSE C : 192.168.0.0/16 │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ 192.168.0.0 → 192.168.255.255 │ │
│ │ 65,536 adresses │ │
│ │ Usage : Réseaux domestiques, petites entreprises │ │
│ └─────────────────────────────────────────────────────┘ │
│ │
│ RECOMMANDATION POUR AWS : │
│ Utilisez 10.0.0.0/16 pour commencer (65,536 adresses) │
│ │
└─────────────────────────────────────────────────────────────┘
Tailles de VPC AWS
| CIDR | Adresses | Usage Recommandé |
|---|---|---|
| /16 | 65,536 | VPC standard, recommandé |
| /20 | 4,096 | VPC moyen |
| /24 | 256 | Petit VPC, test |
| /28 | 16 | Minimum AWS |
Limites AWS
- CIDR minimum : /28 (16 adresses)
- CIDR maximum : /16 (65,536 adresses)
- Un VPC peut avoir plusieurs CIDR (jusqu'à 5)
Adresses Réservées par AWS
┌─────────────────────────────────────────────────────────────┐
│ ADRESSES RÉSERVÉES PAR SUBNET │
├─────────────────────────────────────────────────────────────┤
│ │
│ Pour chaque subnet, AWS réserve 5 adresses : │
│ │
│ Exemple : Subnet 10.0.1.0/24 (256 adresses) │
│ │
│ 10.0.1.0 → Adresse réseau │
│ 10.0.1.1 → Réservée AWS (routeur VPC) │
│ 10.0.1.2 → Réservée AWS (DNS) │
│ 10.0.1.3 → Réservée AWS (usage futur) │
│ 10.0.1.255 → Broadcast (non supporté mais réservé) │
│ │
│ Adresses utilisables : 256 - 5 = 251 adresses │
│ │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ Subnet /24 : 251 adresses utilisables │ │
│ │ Subnet /25 : 123 adresses utilisables │ │
│ │ Subnet /26 : 59 adresses utilisables │ │
│ │ Subnet /27 : 27 adresses utilisables │ │
│ │ Subnet /28 : 11 adresses utilisables │ │
│ └─────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────┘
Architecture VPC Typique
┌─────────────────────────────────────────────────────────────────────────┐
│ ARCHITECTURE VPC 3-TIERS │
├─────────────────────────────────────────────────────────────────────────┤
│ │
│ INTERNET │
│ │ │
│ ▼ │
│ ┌───────────────┐ │
│ │Internet Gateway│ │
│ └───────┬───────┘ │
│ │ │
│ ┌─────────────────────────────┼─────────────────────────────┐ │
│ │ VPC │(10.0.0.0/16) │ │
│ │ │ │ │
│ │ ┌─────────────────────────┴─────────────────────────┐ │ │
│ │ │ SUBNETS PUBLICS │ │ │
│ │ │ │ │ │
│ │ │ ┌─────────────────┐ ┌─────────────────┐ │ │ │
│ │ │ │ Public 1a │ │ Public 1b │ │ │ │
│ │ │ │ 10.0.1.0/24 │ │ 10.0.2.0/24 │ │ │ │
│ │ │ │ │ │ │ │ │ │
│ │ │ │ [ALB/NAT] │ │ [ALB/NAT] │ │ │ │
│ │ │ │ │ │ │ │ │ │
│ │ │ └────────┬────────┘ └────────┬────────┘ │ │ │
│ │ │ │ │ │ │ │
│ │ └───────────┼──────────────────────┼─────────────────┘ │ │
│ │ │ │ │ │
│ │ ┌───────────┼──────────────────────┼─────────────────┐ │ │
│ │ │ │ SUBNETS PRIVÉS (App)│ │ │ │
│ │ │ │ │ │ │ │
│ │ │ ┌────────▼────────┐ ┌────────▼────────┐ │ │ │
│ │ │ │ Private 1a │ │ Private 1b │ │ │ │
│ │ │ │ 10.0.11.0/24 │ │ 10.0.12.0/24 │ │ │ │
│ │ │ │ │ │ │ │ │ │
│ │ │ │ [EC2 App] │ │ [EC2 App] │ │ │ │
│ │ │ │ │ │ │ │ │ │
│ │ │ └────────┬────────┘ └────────┬────────┘ │ │ │
│ │ │ │ │ │ │ │
│ │ └───────────┼──────────────────────┼─────────────────┘ │ │
│ │ │ │ │ │
│ │ ┌───────────┼──────────────────────┼─────────────────┐ │ │
│ │ │ │ SUBNETS PRIVÉS (DB) │ │ │ │
│ │ │ │ │ │ │ │
│ │ │ ┌────────▼────────┐ ┌────────▼────────┐ │ │ │
│ │ │ │ Database 1a │ │ Database 1b │ │ │ │
│ │ │ │ 10.0.21.0/24 │ │ 10.0.22.0/24 │ │ │ │
│ │ │ │ │ │ │ │ │ │
│ │ │ │ [RDS] │ │ [RDS Standby] │ │ │ │
│ │ │ │ │ │ │ │ │ │
│ │ │ └─────────────────┘ └─────────────────┘ │ │ │
│ │ │ │ │ │
│ │ └────────────────────────────────────────────────────┘ │ │
│ │ │ │
│ └─────────────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────────────┘
Créer un VPC
Via Console
1. VPC → Your VPCs → Create VPC
2. Name tag : mon-vpc-prod
3. IPv4 CIDR block : 10.0.0.0/16
4. Tenancy : Default
5. Create VPC
Via AWS CLI
# Créer le VPC
aws ec2 create-vpc \
--cidr-block 10.0.0.0/16 \
--tag-specifications 'ResourceType=vpc,Tags=[{Key=Name,Value=mon-vpc-prod}]'
# Activer les noms DNS (recommandé)
aws ec2 modify-vpc-attribute \
--vpc-id vpc-xxx \
--enable-dns-hostnames '{"Value":true}'
Résumé
| Concept | Description |
|---|---|
| VPC | Réseau privé virtuel isolé |
| CIDR | Notation pour définir la plage IP |
| Subnet | Sous-division du VPC dans une AZ |
| /16 | Taille recommandée (65,536 IPs) |
| RFC 1918 | Plages IP privées à utiliser |
| 5 IPs réservées | AWS réserve 5 IPs par subnet |
Quiz de Validation
- Qu'est-ce qu'un VPC ?
- Combien d'adresses IP dans un /24 ?
- Pourquoi AWS réserve-t-il 5 adresses par subnet ?
- Quelle plage IP utiliser pour un VPC ?
- Quelle est la différence entre VPC par défaut et personnalisé ?
Prochaine section : Subnets et Routage