Nous avons abordé au chapitre précédent un certain nombre de concepts ; nous allons à présent voir comment construire un réseau au sein d’une région AWS, en tirant parti des différentes zones de disponibilité qu’elle comporte.
Personnellement, j’utilise quasiment exclusivement l’interface AWS en anglais, pour plusieurs raisons :
certains services ne sont pas complètement traduits ;
au quotidien, tout le monde utilise les noms des services en anglais ;
les vidéos que vous pourrez trouver sur Internet sont pour la plupart en anglais ;
les schémas d’architecture en anglais peuvent s’intégrer rapidement dans une présentation internationale.
Je vous recommande également de prendre l’habitude de travailler avec l’interface en anglais : vous aurez une meilleure compréhension des documentations AWS, car celles-ci ne sont pas toujours traduites, et vous assimilerez rapidement une terminologie commune pour vos futurs emplois avec des anglophones (c’est-à-dire, quasiment à coup sûr votre futur emploi, si vous vous engagez dans la filière Cloud).
You have a job
En parlant de futur emploi, aujourd’hui c’est votre premier jour ! Vous êtes le nouvel architecte Cloud de l’entreprise Cat's eyes, qui vend et commercialise des produits pour la vision des animaux de compagnie, comme des lunettes pour chats ou des lentilles de contact pour chiens. Le CTO vous a demandé de construire un nouveau réseau dans le cloud, et vous êtes en charge de faire les bons choix architecturaux, pour permettre aux futures instances EC2 de la société de tourner dans Amazon Web Services.
Créez un premier VPC
Attends, un VPC c’est quoi ?
Vous pouvez facilement adapter la configuration du réseau à l’intérieur de votre VPC, nous verrons tout cela en détail au fil du chapitre.
Lorsque vous créez un VPC, vous devez spécifier une plage d'adresses pour le VPC, sous la forme d'un bloc d'adresses CIDR (Classless Inter-Domain Routing) ; par exemple, 10.0.0.0/16. Il s'agit du bloc CIDR principal du VPC.
AWS conseille de créer un VPC avec un bloc d'adresses CIDR (de /16 ou plus petit) tiré des plages d'adresses IPv4 privées, comme spécifié dans la norme RFC 1918, afin de clairement identifier ces adresses comme des adresses privées non routables à l’extérieur de votre VPC par défaut. Vous trouverez plus de détails sur le mécanisme d’adressage IP dans le cours Concevez votre réseau TCP/IP.
Il nous faut donc créer un VPC à partir de zéro, afin d’y ajouter des ressources progressivement à l’intérieur. Voici les étapes :
dans l’onglet “Services”, choisissez VPC dans le bloc Networking & Content Delivery ;
cliquez sur Your VPCs puis Create VPC ;
choisissez un nom, puis une plage d’adresses IP, comme par exemple ci-dessous ;
cliquez sur Create ;
l’identifiant de votre VPC s’affiche, cliquez alors sur Close.
Votre VPC est désormais disponible dans la liste des VPC disponibles :
Vous constatez qu’il possède déjà une table de routage par défaut, et une liste d’ACL réseau par défaut ; nous y reviendrons.
Créez des sous-réseaux
Un VPC couvre toutes les zones de disponibilité de la région. Au sein d’un VPC, vous pouvez déployer un ou plusieurs sous-réseaux dans chaque zone de disponibilité.
Nous allons à présent créer quatre sous-réseaux dans notre VPC.
C’est quoi un sous-réseau ?
Par défaut, tous les sous-réseaux sont connectés entre eux. Ce paramètre est modifiable à la demande via les tables de routage.
Pourquoi créer quatre sous-réseaux ?
Il nous faut quatre sous-réseaux, car nous souhaitons avoir :
au moins un sous-réseau public ;
au moins un sous-réseau privé ;
un réseau distribué entre deux zones de disponibilité, donc la configuration précédente doit être dupliquée.
Privé ? public ? quelle différence ?
Au fil de la documentation et dans les certifications Amazon Web Services, vous entendrez souvent parler de réseau public et réseau privé. Il n’y a pas de différence fondamentale entre ces deux réseaux, il s’agit d’une différence structurelle :
un sous-réseau public est un sous-réseau comportant une route permettant au trafic réseau d’être routé vers l’extérieur et depuis l’extérieur ;
un sous-réseau privé est un sous-réseau ne permettant pas l’accès depuis l’extérieur.
Pourquoi dupliquer les sous-réseaux public et privé ?
Si vous avez lu le paragraphe sur ce qu’est une zone de disponibilité, vous savez désormais que dans AWS, une zone de disponibilité est un centre de données séparé, c’est-à-dire qu’en cas d’incident d’un des centres de données d’une région, une zone de disponibilité peut devenir inaccessible. Afin de construire un réseau hautement disponible, il convient alors de le déployer dans au moins deux zones de disponibilité distinctes, afin de se protéger de l’indisponibilité de l’une des zones.
Comment on fait ?
Très bonne question ! On commence par créer un premier sous-réseau dans la zone de disponibilité A, auquel on donne le nom private-a afin de l’identifier.
Notre VPC possède le bloc 10.0.0.0/16, cela signifie que le masque réseau est de 16 bits :
IP possibles : toutes les IP de la forme "10.0.xx.xx".
Cela nous laisse donc 16 bits disponibles, que nous allons découper pour donner 8 bits par sous-réseau :
IP possibles : toutes les IP de la forme "10.0.0.xx".
Dans AWS, voici comment créer un tel sous-réseau :
cliquez sur le bouton Subnets à gauche ;
cliquez sur Create subnet ;
configurez un sous-réseau sur la plage 10.0.0.0/24, comme ci-dessous ;
cliquez sur Create ;
L’identifiant de votre sous-réseau s’affiche, cliquez sur Close et vous verrez votre sous-réseau apparaître dans l’interface.
Vous constatez que la table de routage par défaut du VPC, et la liste d’ACL réseau par défaut du VPC, ont été associés au sous-réseau ; nous y reviendrons.
Répétez l’opération 3 fois, afin de créer les sous-réseaux suivants :
xx-private-b
xx-public-a
xx-public-b
Chaque sous-réseau devra avoir des plages d’adresses (CIDR) différentes et disjointes.
Vous devriez voir apparaître les quatre sous-réseaux ainsi créés dans l’inventaire de vos sous-réseaux :
![Sous réseaux](https://user.oc-static.com/upload/2019/04/01/15541252992416_image15.png)
J’ai fait le choix ici de numéroter les sous-réseaux privés à partir de 0, et mes sous-réseaux publics à partir de 100, mais cela n’a pas d’importance pour la suite.
Pour le moment, hormis les plages d’adresses (CIDR), tous ces sous-réseaux sont similaires, et aucun n’est réellement “public”, car aucune passerelle de sortie n’a été attachée au VPC, et aucune règle de routage ne spécifie explicitement de router le trafic vers l’un ou l’autre sous-réseau.
En résumé
un réseau virtuel AWS est appelé un VPC pour Virtual Private Cloud ;
chaque VPC peut contenir plusieurs sous-réseaux ;
un sous-réseau configuré pour recevoir des connexions depuis l’extérieur est appelé un sous-réseau public.