Table of contents

Table of contents

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 !

Ever considered an OpenClassrooms diploma?
  • Up to 100% of your training program funded
  • Flexible start date
  • Career-focused projects
  • Individual mentoring
Find the training program and funding option that suits you best