AWS VPC
Le fondement réseau de vos infrastructures cloud AWS, offrant des environnements réseau isolés et personnalisables pour vos applications.
Qu'est-ce qu'un AWS VPC ?
Imaginez que vous construisiez un campus d'entreprise. Vous auriez besoin de définir des bâtiments séparés, des zones sécurisées, et des règles précises sur qui peut aller où et comment les différentes zones communiquent entre elles.
AWS VPC (Virtual Private Cloud) est l'équivalent numérique de ce campus. C'est un réseau virtuel isolé dans le cloud AWS où vous pouvez déployer vos ressources (serveurs, bases de données, etc.) dans un environnement que vous contrôlez complètement.
Pourquoi est-ce important ?
Sécurité et isolation
Protège vos ressources dans des environnements isolés, avec un contrôle précis sur qui peut accéder à quoi.
Personnalisation
Vous permet de définir votre propre réseau avec des sous-réseaux, des tables de routage et des règles de sécurité adaptées à vos besoins.
En résumé, AWS VPC est le fondement de toute architecture cloud sécurisée et bien conçue sur AWS. Il vous donne le contrôle dont vous avez besoin sur votre infrastructure réseau, tout en bénéficiant de la flexibilité et de l'évolutivité du cloud.
Fonctionnement technique
AWS VPC est un service qui vous permet de provisionner une section logiquement isolée du cloud AWS où vous pouvez lancer des ressources AWS dans un réseau virtuel que vous définissez. Il offre un contrôle complet sur votre environnement réseau virtuel, y compris la sélection de votre propre plage d'adresses IP, la création de sous-réseaux, et la configuration de tables de routage et de passerelles réseau.
Les composants clés
VPC et sous-réseaux
Un VPC est défini au niveau d'une région AWS avec une plage CIDR (par exemple, 10.0.0.0/16). À l'intérieur d'un VPC, vous pouvez créer plusieurs sous-réseaux dans différentes zones de disponibilité pour la haute disponibilité, souvent associés à EC2 et
RDS.
# Exemple de définition VPC avec CloudFormation
Resources:
MyVPC:
Type: AWS::EC2::VPC
Properties:
CidrBlock: 10.0.0.0/16
EnableDnsSupport: true
EnableDnsHostnames: true
Tags:
- Key: Name
Value: MyVPC
PublicSubnet1:
Type: AWS::EC2::Subnet
Properties:
VpcId: !Ref MyVPC
AvailabilityZone: !Select [0, !GetAZs '']
CidrBlock: 10.0.1.0/24
MapPublicIpOnLaunch: true
Tags:
- Key: Name
Value: Public Subnet 1
PrivateSubnet1:
Type: AWS::EC2::Subnet
Properties:
VpcId: !Ref MyVPC
AvailabilityZone: !Select [0, !GetAZs '']
CidrBlock: 10.0.10.0/24
Tags:
- Key: Name
Value: Private Subnet 1
InternetGateway:
Type: AWS::EC2::InternetGateway
Properties:
Tags:
- Key: Name
Value: MyVPC-IGW
AttachGateway:
Type: AWS::EC2::VPCGatewayAttachment
Properties:
VpcId: !Ref MyVPC
InternetGatewayId: !Ref InternetGateway
PublicRouteTable:
Type: AWS::EC2::RouteTable
Properties:
VpcId: !Ref MyVPC
Tags:
- Key: Name
Value: Public Route Table
PublicRoute:
Type: AWS::EC2::Route
DependsOn: AttachGateway
Properties:
RouteTableId: !Ref PublicRouteTable
DestinationCidrBlock: 0.0.0.0/0
GatewayId: !Ref InternetGateway
Sécurité réseau
AWS VPC offre plusieurs couches de sécurité réseau, notamment les Security Groups (pare-feu au niveau de l'instance) et les Network ACLs (pare-feu au niveau du sous-réseau). Ces mécanismes peuvent être coordonnés avec IAM pour une sécurité complète.
# Exemple de Security Group pour EC2 dans VPC
Resources:
WebServerSecurityGroup:
Type: AWS::EC2::SecurityGroup
Properties:
GroupDescription: Allow HTTP/HTTPS and SSH
VpcId: !Ref MyVPC
SecurityGroupIngress:
- IpProtocol: tcp
FromPort: 80
ToPort: 80
CidrIp: 0.0.0.0/0
- IpProtocol: tcp
FromPort: 443
ToPort: 443
CidrIp: 0.0.0.0/0
- IpProtocol: tcp
FromPort: 22
ToPort: 22
CidrIp: 10.0.0.0/16 # Restrict SSH to VPC CIDR
SecurityGroupEgress:
- IpProtocol: -1 # All protocols
FromPort: -1 # All ports
ToPort: -1 # All ports
CidrIp: 0.0.0.0/0 # Internet
Le Network ACL est un niveau de sécurité supplémentaire qui agit comme un pare-feu statique au niveau du sous-réseau :
# Exemple de Network ACL
Resources:
PrivateSubnetNACL:
Type: AWS::EC2::NetworkAcl
Properties:
VpcId: !Ref MyVPC
Tags:
- Key: Name
Value: PrivateSubnetNACL
# Règle d'entrée - Autoriser le trafic entrant depuis le sous-réseau public
InboundRule100:
Type: AWS::EC2::NetworkAclEntry
Properties:
NetworkAclId: !Ref PrivateSubnetNACL
RuleNumber: 100
Protocol: -1 # Tous les protocoles
RuleAction: allow
Egress: false # Règle entrante
CidrBlock: 10.0.1.0/24 # CIDR du sous-réseau public
# Règle de sortie - Autoriser tout le trafic sortant
OutboundRule100:
Type: AWS::EC2::NetworkAclEntry
Properties:
NetworkAclId: !Ref PrivateSubnetNACL
RuleNumber: 100
Protocol: -1 # Tous les protocoles
RuleAction: allow
Egress: true # Règle sortante
CidrBlock: 0.0.0.0/0 # Internet
Connectivité et routage
AWS VPC propose plusieurs options pour connecter votre VPC à Internet (Internet Gateway), à d'autres VPCs (VPC Peering, Transit Gateway), ou à votre réseau d'entreprise (VPN, Direct Connect). Le routage est contrôlé via des tables de routage associées aux sous-réseaux.
Types de sous-réseaux
- Public : Avec routage vers Internet Gateway
- Privé : Sans accès Internet direct
- Isolé : Sans accès Internet ni NAT Gateway
Options de connectivité
- Internet Gateway : Accès Internet
- NAT Gateway : Sortie Internet pour sous-réseaux privés
- VPN/Direct Connect : Connexion au réseau on-premise
Architectures multi-VPC et connectivité hybride
Pour les architectures d'entreprise complexes, AWS propose des solutions pour connecter plusieurs VPCs et les intégrer avec des environnements on-premise :
- Transit Gateway : Hub central pour connecter VPCs, VPNs et Direct Connect
- VPC Peering : Connexion point-à-point entre deux VPCs
- AWS Direct Connect : Connexion privée dédiée entre AWS et votre datacenter
- AWS Site-to-Site VPN : Connexion sécurisée via Internet
# Exemple de configuration Transit Gateway
Resources:
MyTransitGateway:
Type: AWS::EC2::TransitGateway
Properties:
Description: My Transit Gateway
DefaultRouteTableAssociation: enable
DefaultRouteTablePropagation: enable
Tags:
- Key: Name
Value: MyTransitGateway
# Attachement du VPC au Transit Gateway
MyVPCAttachment:
Type: AWS::EC2::TransitGatewayAttachment
Properties:
TransitGatewayId: !Ref MyTransitGateway
VpcId: !Ref MyVPC
SubnetIds:
- !Ref PrivateSubnet1
Tags:
- Key: Name
Value: MyVPC-Attachment
Bonnes pratiques
- CIDR Planning - Choisissez des plages d'adresses IP qui ne se chevauchent pas avec d'autres réseaux et prévoyez de l'espace pour la croissance
- Multi-AZ Design - Déployez les sous-réseaux dans plusieurs zones de disponibilité pour la haute disponibilité
- Least Privilege - Appliquez des règles strictes dans les Security Groups et Network ACLs
- VPC Flow Logs - Activez-les pour l'audit, le dépannage et la surveillance de sécurité
- Endpoints VPC - Utilisez-les pour accéder aux services AWS sans sortir du réseau AWS
Intégration avec d'autres services AWS
AWS VPC s'intègre avec de nombreux services AWS pour former une infrastructure complète :
Compute & Containers
Base de données
RDS (dans sous-réseaux privés)
DynamoDB (via VPC endpoints)
ElastiCache (dans le VPC)
Réseau & Sécurité
Route 53 (DNS pour VPC)
API Gateway (avec intégration privée)
- AWS WAF & Shield (protection d'applications)
Monitoring
CloudWatch (métriques VPC)
- VPC Flow Logs (analyse de trafic)
X-Ray (traçage dans le VPC)
Cas d'usage
Architecture multi-niveaux sécurisée
Création d'applications avec des niveaux séparés (web, application, base de données) dans différents sous-réseaux, avec des règles de sécurité adaptées à chaque niveau.
Environnements hybrides
Connecter des environnements on-premise avec le cloud AWS via VPN ou Direct Connect, en maintenant des modèles de sécurité et d'adressage IP cohérents.
Isolation de données réglementaires
Création d'environnements isolés pour les données soumises à des réglementations spécifiques (GDPR, HIPAA, etc.), avec contrôle strict des accès et de la connectivité.
Architectures multi-régions
Déploiement d'applications dans plusieurs régions AWS avec une connectivité inter-VPC, pour la haute disponibilité et la reprise après sinistre.
Industries qui utilisent massivement les VPCs AWS
De nombreux secteurs s'appuient sur AWS VPC pour construire des infrastructures cloud sécurisées :