Objectif
Ce lab guide dans la mise en place d’un VPN Site-to-Site entre un VPC AWS et un réseau On-Premises via un AWS Transit Gateway (TGW). L’objectif est de permettre à plusieurs VPCs ou sites distants de se connecter facilement au réseau central via le Transit Gateway.
1. Architecture du Lab
- Un VPC AWS avec un AWS Transit Gateway (TGW).
- Une Customer Gateway (CGW) représentant un réseau On-Premises.
Une connexion VPN Site-to-Site entre le Transit Gateway et le réseau simulé On-Premises.
2. Étapes du Déploiement
1. Créer un VPC AWS
- Aller dans VPC > Create VPC et configurer :
- Nom : VPC-AWS
- CIDR : 10.1.0.0/16
- Subnets : Créer un subnet privé (10.1.1.0/24).
- Créer une table de routage et l’associer au subnet privé.
2. Créer un AWS Transit Gateway (TGW)
- Aller dans VPC > Transit Gateways > Create Transit Gateway :
- Nom : TGW-AWS
- Description : Transit Gateway pour la connexion VPN
- Amazon ASN : Utiliser l’ASN par défaut ou définir un ASN personnalisé (par exemple 64512).
- Attachment Options : Cocher Enable DNS support si nécessaire pour la résolution DNS.
- Créer le Transit Gateway et noter son ID.
3. Créer une Customer Gateway (CGW)
- Aller dans VPC > Customer Gateways > Create Customer Gateway et configurer :
- Nom : CGW-OnPrem
- Type : Static
- IP Address : L’adresse IP publique d’une instance EC2 jouant le rôle de routeur VPN On-Premises (ou une appliance VPN physique).
- Routing : Choisir Static pour un routage manuel (ou BGP pour un routage dynamique).
- Créer la Customer Gateway.
4. Créer la connexion VPN Site-to-Site avec le Transit Gateway
- Aller dans VPC > VPN Connections > Create VPN Connection et configurer :
- Nom : AWS-VPN-TransitGateway
- Transit Gateway : Sélectionner le Transit Gateway TGW-AWS
- Customer Gateway : Sélectionner CGW-OnPrem
- Routing Options : Choisir Static et spécifier le réseau On-Premises (par exemple, 192.168.1.0/24).
- Télécharger la configuration VPN. Cette configuration inclut les informations nécessaires pour configurer l’instance On-Premises.
5. Configurer l’Instance EC2 comme Routeur VPN On-Premises
Lancer une instance EC2 avec :
- AMI : Amazon Linux 2
- Type : t2.micro
- Security Group : Autoriser UDP 500 et 4500 (IPSec) et ICMP pour les tests de connectivité.
Se connecter à l’instance EC2 et installer StrongSwan :
sudo yum update -y
sudo amazon-linux-extras enable epel
sudo yum install strongswan -y
Configurer /etc/ipsec.conf sur l’instance EC2 :
config setup
charondebug="ike 2, knl 2, cfg 2"
conn aws-vpn
auto=start
keyexchange=ikev2
left=%defaultroute
leftid=
leftsubnet=192.168.1.0/24
right=
rightsubnet=10.1.0.0/16
authby=psk
ike=aes256-sha1-modp1024
esp=aes256-sha1
Définir la clé pré-partagée dans /etc/ipsec.secrets :
: PSK "SuperSecretKey"
Redémarrer StrongSwan :
sudo systemctl restart strongswan
sudo systemctl enable strongswan
6. Configurer le Transit Gateway pour Router le Trafic
- Aller dans VPC > Transit Gateways > Attachments et associer le VPC-AWS au Transit Gateway.
- Créer une route dans la table de routage du VPC AWS pour envoyer le trafic destiné au réseau On-Premises (par exemple 192.168.1.0/24) vers le Transit Gateway.
sudo yum update -y
sudo amazon-linux-extras enable epel
sudo yum install strongswan -y
Configurer /etc/ipsec.conf :
config setup
charondebug="ike 2, knl 2, cfg 2"
conn aws-vpn
auto=start
keyexchange=ikev2
left=%defaultroute
leftid=
leftsubnet=192.168.1.0/24
right=
rightsubnet=10.1.0.0/16
authby=psk
ike=aes256-sha1-modp1024
esp=aes256-sha1
Définir la clé pré-partagée dans /etc/ipsec.secrets :
: PSK "SuperSecretKey"
Redémarrer StrongSwan :
sudo systemctl restart strongswan
sudo systemctl enable strongswan
6. Configurer le Transit Gateway pour Router le Trafic
- Aller dans VPC > Transit Gateways > Attachments et associer le VPC-AWS au Transit Gateway.
Créer une route dans la table de routage du VPC AWS pour envoyer le trafic destiné au réseau On-Premises (par exemple 192.168.1.0/24) vers le Transit Gateway.
7. Tester la Connexion VPN
- Depuis l’instance EC2 On-Premises, tester la connexion avec ping 10.1.1.10 (une instance dans le VPC AWS).
- Depuis AWS, tester la connectivité avec ping 192.168.1.10.
Vérifier la connectivité sur le Transit Gateway via CloudWatch Logs.
8. Nettoyer les Ressources
- Supprimer la connexion VPN Site-to-Site.
- Supprimer le Transit Gateway.
- Supprimer les Customer Gateway et les instances EC2 utilisées pour simuler le réseau On-Premises.
Ce lab peut être automatisé avec Terraform ou CloudFormation pour simplifier la mise en place et la gestion des ressources.