• 20 hours
  • Medium

Free online content available in this course.

course.header.alt.is_certifying

Got it!

Last updated on 7/5/24

Faites communiquer vos ressources entre VPC

Vous êtes amenés à collaborer avec d’autres équipes de The Green Earth Post qui travaillent dans d’autres VPC dans le même compte AWS ou dans d’autres. Par exemple, ils souhaitent accéder à votre table RDS pour l’enrichir ou pour récupérer les commentaires pour y faire des analyses. Cette partie a pour but de montrer comment il est possible d’établir la communication entre ces VPC et le vôtre.

Établissez une connexion d'appairage entre VPC

Comme indiqué sur l’image suivante, nous pourrions utiliser le réseau internet pour faire communiquer les VPC entre eux grâce aux composants vus dans le premier chapitre. Cependant, ce réseau est moins fiable que le réseau AWS interne dans lequel ils peuvent communiquer en privé

Une flèche barrée mène de l'instance (B) vers Internet (A). Une autre, également barrée, mene de l'internet vers base de données. Un chemin mène de l'instance vers AWS (C) puis vers base de données
Cas d’utilisation de l’appairage de VPC

A - L’instance pourrait utiliser le réseau internet, mais moins sécurisé et plus lent que le réseau AWS.

B - Une instance de notre partenaire souhaite accéder à notre base. Pour cela, il devra passer par le réseau AWS.

C - Réseau AWS (plus sécurisé et plus rapide).

Par défaut, les deux VPC ne peuvent pas communiquer entre eux via ce réseau. C’est là qu’intervient l'appairage de VPC (VPC peering) ! C’est un composant réseau AWS qui vous permet d’établir une connexion privée entre deux VPC, à une condition : les blocs d'adresse CIDR des VPC ne doivent pas se chevaucher !

De plus, une connexion d’appairage de VPC n’est pas transitive, vous devez créer une connexion à chaque VPC avec lequel vous voulez une connexion, comme indiqué ci-dessous :

Appairage entre plusieurs VPC. A - Un appairage de VPC n’est pas transitif, VPC A et VPC C ne peuvent pas utiliser les appairages #1 et #2 pour communiquer.
Appairage entre plusieurs VPC

A - Un appairage de VPC n’est pas transitif, VPC A et VPC C ne peuvent pas utiliser les appairages #1 et #2 pour communiquer.

L’installation d’un appairage de VPC se fait dans un VPC en spécifiant le second VPC. L'administrateur du second VPC devra accepter l’appairage ! Installer un appairage de VPC n'est pas suffisant. Il vous faudra mettre à jour les tables de routage des sous-réseaux de chaque VPC pour pointer le trafic vers la plage d'adresses IP de l'autre VPC, via l'appairage de VPC créé (voir ci-dessous).

Configuration des tables de routage pour l’appairage de VPC.  A - Mettre à jour la table de routage pour diriger le trafic vers le bloc d’adresses CIDR utilisé dans le VPC du site web, via l’appairage de VPC.   B - Mettre à jour la table de routa
Configuration des tables de routage pour l’appairage de VPC.

A - Mettre à jour la table de routage pour diriger le trafic vers le bloc d’adresses CIDR utilisé dans le VPC du site web, via l’appairage de VPC.

B - Mettre à jour la table de routage pour diriger le trafic vers le bloc d’adresses CIDR utilisé dans le VPC du partenaire, via l’appairage de VPC.

L’appairage de VPC est un composant réseau AWS très utile, car vous pouvez créer une connexion privée entre VPC de différents comptes et régions AWS. De plus, vous pouvez référencer un groupe de sécurité pour accepter un trafic entrant ou sortant à partir de l’identifiant de l’appairage de VPC concerné.

Toutefois, son principal inconvénient est qu’il n’est pas transitif. Ce qui implique que si vous avez 100 VPC à connecter au vôtre, vous avez 100 appairages de VPC et 200 mises à jour de tables de routage à effectuer !

Accédez à un service AWS depuis une ressource dans un VPC

Imaginez que vous ayez une instance EC2 dans un sous-réseau privé qui doit accéder à un service AWS, par exemple S3, Cloudwatch ou DynamoDB. Or, les API des services AWS sont par défaut publiques et donc uniquement accessibles depuis Internet. Nous pourrions mettre en place l’architecture réseau suivante avec ce qu’on a déjà vu, mais celle-ci est très coûteuse et lente !

Un chemin mène d'une instance privée vers une passerelle NAT, puis un routeur, une passerelle internet et Internet. Puis trois flèches independantes mènent vers s3, Dynamo DB et CloudWatch
Une instance privée accède aux services AWS via une passerelle NAT.

Pour y remédier, AWS fournit un composant réseau appelé point de terminaison de VPC (VPC Endpoint), permettant les connexions entre un sous-réseau privé et les services AWS sans nécessiter de passerelle internet, de périphérique NAT, de connexion VPN ou de connexion AWS Direct Connect (que nous étudierons plus tard). La connexion se fait via le réseau AWS privé, moins cher, plus rapide et plus sécurisé.

Schema similaire à la precedente, mais l'instance privée est connéctée à AWS (A) via les points de terminaison  de VPC
Cas d’utilisation d’un point de terminaison de VPC

A - La connexion se fait au travers du réseau AWS privé. Plus rapide et plus sécurisé. 

Étudions-les plus en détail.

Point de terminaison d’interface

Il vous permet de vous connecter à certains services AWS grâce à la technologie du service AWS PrivateLink (voir la section suivante). Vous payez les frais de service et la quantité de données transitées.

Chaque point de terminaison est créé uniquement pour un service AWS spécifique. À sa création, il est accompagné d’une interface réseau Elastic (ENI). Il faudra alors mettre à jour le groupe de sécurité de votre ressource, par exemple l’instance EC2, pour diriger le trafic vers le service AWS concerné au travers de cette ENI. Ci-dessous, une instance EC2, dans un sous-réseau privé, qui accède au service Athena.

Un chemin mène d'une instance privée (A) vers ENI puis vers Athena
Schéma d’un point de terminaison d’interface

A - Mettre à jour le groupe de sécurité pour diriger le trafic vers CloudWatch au travers de l’ENI.

Comment est-ce que je la crée ?

Voici les étapes :

Capture d'écran du parametrage, services, VPC
Création d'un point de terminaison 1/3
Capture d'écran: Sous-réseaux, groupes de securité
Création d'un point de terminaison 2/3
Capture d'écran: balises
Création d'un point de terminaison 3/3
Capture d'écran de détails de base, régles entrantes et regles sortantes. Notes: Le VPC est le même que celui ou est installé le point de terminaison. Destination est groupe de sécurité du point de terminaison Athena.
Création d'un groupe de sécurité

Voici comment configurer le groupe de sécurité de l’instance EC2 pour y accéder :

Il faudra également modifier le groupe de sécurité du point de terminaison Athena pour accepter en trafic entrant le groupe de sécurité de l’instance sur le protocole TCP et le port 443.

Point de terminaison de passerelle

Il vous permet de vous connecter uniquement à s3 ou DynamoDB ! En outre, vous ne payez rien, c’est gratuit 😁.

À la création d’un point de terminaison de passerelle pour s3 ou DynamoDB, vous devez mettre à jour la table de routage du sous-réseau privé concerné pour pointer comme cible ce point de terminaison, afin de diriger le trafic vers le service AWS visé.

Un chemin mène d'une instance privée vers une point de terminaison via une table de routage (A) puis vers S3
Schéma d’un point de terminaison d’interface de passerelle

A - Mettre à jour la table de routage pour diriger tout le trafic vers s3 au travers du point de terminaison de passerelle créé.

Deux flèches mènent de l'utilisateur vers Direct Connect et VPN, puis se rejoignent sur la point de terminaison d'interface, dont le chemin continue vers PrivateLink et finit sur S3. Un autre chemin mène de l'instance privée vers la point de terminais
Cas d’utilisation d’un point de terminaison d’interface ou de passerelle pour accéder au service S3

Accédez uniquement à une ressource d’un VPC depuis un autre VPC

Nous avons vu, dans la première section, que l’appairage de VPC nous permet d'accéder en privé à une ressource d’un autre VPC. Toutefois, cette méthode nous ouvre tout le réseau de ce VPC et donc, potentiellement, nous pouvons accéder à d’autres ressources. Or, dans le cas de The Green Earth Post, nous souhaitons ouvrir l’accès à la base de données RDS à d’autres partenaires, mais sans qu’ils puissent accéder à d’autres ressources de notre sous-réseau privé, par exemple une instance Elasticache, comme indiqué ci-dessous.

Une flèche à double sens mène de l'instance dans un VPC partenaire vers l'appairage de VPC. Ce-dernier est également connecté à la base de données (A) et ElastiCache (chemin barrée, B), se trouvant dans le sous-réseau privé du VPC du site web
Cas d’usage non résolu par l’appairage de VPC

A - L’objectif est d’isoler la base de données d’un point de vue réseau pour que l’instance ne puisse “voir” que la base de données dans le VPC du site web.

B - L’instance du partenaire peut accéder d’un point de vue réseau à ElastiCache, même s’il faut configurer les groupes de sécurité de l’instance et d’ElastiCache pour qu’ils puissent communiquer entre eux.

Pour remédier à cette situation, AWS fournit le service PrivateLink, qui permet d’accéder en privé à une application, une ressource dans un autre VPC, sans exposer, d’un point de vue réseau, les autres ressources de ce VPC.

Pour établir la connexion, PrivateLink nécessite l’installation d’un équilibreur de charge réseau (network load balancer - NBL) devant la ressource qui doit être exposée, aussi appelée point de terminaison de service (service endpoint). Ensuite, il faudra installer un point de terminaison d’interface dans le VPC de la ressource consommatrice pour le relier à PrivateLink et donc avoir accès à la ressource exposée.

Qu’est-ce que cela donne dans le cas de notre base de données ?

Voici le schéma récapitulatif :

Un chemin mène de l'instance vers le point de terminaison d'interface, puis vers PrivateLink, puis vers l'équilibreur de charge réseau (NLB), puis vers la base de données (A). Deux dernières étapes constituent le point de terminaison de service
Cas d’utilisation du service PrivateLink

A - Les groupes de sécurité entre NLB et RDS doivent être configurés pour que la connexion s’établisse entre eux.

Évolution du diagramme réseau

Voici le diagramme réseau enrichi des composants vus au début du chapitre :

Diagramme réseau complète avec toutes les détails vu dans ce chapitre
Évolution du diagramme réseau

Questions types de l'examen

Voici quelques questions sur les sujets vus dans ce chapitre que vous pourriez avoir à l'examen. Essayez d'y réfléchir vous-même avant de vérifier les réponses.

Question 1

Un architecte de solutions détermine la meilleure méthode de provisionnement de la connectivité internet pour une application de traitement de données qui extrait de grandes quantités de données d'un système de stockage d'objets via Internet. La solution doit être redondante et n'avoir aucune contrainte de bande passante.

Quelle option répond à ces exigences ?

  • Créer un point de terminaison de VPC

  • Utiliser une passerelle NAT

  • Attacher une passerelle internet

  • Déployer des instances NAT dans un sous-réseau public

Question 2

Vous prévoyez de déployer un certain nombre d'instances EC2 dans votre VPC. Les instances EC2 seront déployées sur plusieurs sous-réseaux et plusieurs AZ. Quelle fonctionnalité AWS peut agir comme un pare-feu au niveau de l'instance pour contrôler le trafic entre vos instances EC2 ?

  • AWS Network Firewall

  • Groupe de sécurité

  • Table de routage

  • NACL

En résumé

  • L’appairage de VPC permet aux ressources de deux VPC de communiquer en privé sur le réseau AWS.

  • L’appairage de VPC n’est pas transitif.

  • Les points de terminaison de VPC permettent à des ressources dans des sous-réseaux privés d’accéder aux API de certains services AWS (S3, CloudWatch, Athena, DynamoDB, etc.).

  • PrivateLink permet d’isoler une application ou une ressource dans un sous-réseau privé pour être accessible par d’autres ressources dans d’autres VPC.

  • PrivateLink nécessite un équilibreur de charge réseau (NLB) et un point de terminaison d’interface.

Étudions ensemble dans le prochain chapitre comment un réseau non AWS distant peut communiquer avec un VPC !

Example of certificate of achievement
Example of certificate of achievement