D'après ce que j'ai lu sur la certification AWS Certified Solutions Architect, l'un des sujets les plus importants et les questions de test les plus nombreuses sont liés à la VPC. Cet article est un VPC 101 lié à mes études pour mon prochain test d’associé.
Amazon VPC est le AWS Virtual Private Cloud. Un VPC sépare logiquement votre réseau virtuel de tous les autres clients AWS et d'Internet. Considérez-le comme un conteneur pour tous les réseaux que vous effectuez lorsque vous utilisez AWS. Certains services, tels que EC2, ne fonctionnent que dans le VPC. D'autres services, tels que S3, fonctionnent en dehors du VPC mais sont sécurisés par les règles vous mettez en place. Si vous exécutez le service vous-même et que vous décidez s'il est exposé à l'Internet public, il est exécuté à l'intérieur du VPC. Si vous définissez des autorisations d'accès mais que ce dernier est toujours disponible sur Internet, il se trouve en dehors du VPC. Un bon exemple de ceci est S3. Bien que vous puissiez choisir si un compartiment est public ou privé, S3 en tant que service est toujours public. Une instance EC2 n’est publique que si vous le rendez ainsi.
Auparavant, lorsque j'ai commencé avec AWS, les VPC n'existaient pas. Je pense que c'était en 2007 ou 2008. Nous venons d'avoir les EC2 et S3. Je me souviens quand EBS a été offert en tant que service. En tout cas, à cette époque, la sécurité était beaucoup plus difficile. Eh bien, pas tellement plus difficile, mais un processus et une architecture plus manuels. À certains égards, c'était plus simple, mais si vous dépendiez de "par défaut", vous pourriez vraiment bousiller la sécurité. Maintenant, avec les VPC, la valeur par défaut est un peu meilleure.
Le VPC vous permet de contrôler complètement les plages IP que vous utilisez en interne, les sous-réseaux et le routage entre les sous-réseaux et Internet externe.
Par défaut, vous recevez un VPC. Tous les services que vous créez, tels que EC2 ou un équilibreur de charge, seront dans le VPC. De plus, par défaut, ce VPC aura un sous-réseau disposant d'un accès Internet externe. Si vous voulez des serveurs privés, vous devrez au minimum créer un nouveau sous-réseau. En général, vous devez créer un nouveau VPC et commencer sans accès externe. Ensuite, vous ajoutez des sous-réseaux, des NACL et des autorisations pour ouvrir uniquement ce qui doit absolument être public.
Caractéristiques et notes de VPC
Comme mentionné ci-dessus, lorsque vous lancez une instance EC2, celle-ci se fera au sein d'un VPC. Techniquement, vous pouvez lancer des instances en dehors d'un VPC, mais c'est une vieille école et n'est pas nécessaire, ni une bonne idée.
Vous pouvez créer de nouveaux sous-réseaux. Vous pouvez choisir si elles sont privées sans accès à Internet ou publiques. Vous pouvez attribuer des plages IP par sous-réseau, mais vous ne devriez pas avoir de plages qui se chevauchent. Si vous envisagez de connecter deux VPC ou plus ensemble (appelé Peering), ne chevauchez aucune plage.
Vous pouvez créer des itinéraires, à l'aide de tables de routage, pour acheminer le trafic entre les sous-réseaux.
Si vous avez des sous-réseaux privés, vous pouvez utiliser NAT pour le trafic Web et un serveur bastion pour le trafic ssh. Plus sur ceux ci-dessous.
Chaque sous-réseau peut avoir des listes de contrôle d'accès au réseau (NACL) ainsi que des groupes de sécurité. Les NACL sont sans état et permettent ou refusent par IP. Les groupes de sécurité ont un état et renverront le trafic entrant vers le service approprié.
Le VPC par défaut est conçu pour être convivial et fonctionne comme un AWS classique. L'accès à Internet est autorisé par défaut et chaque instance EC2 a une adresse IP privée et publique.
Un VPC peut et aura généralement plusieurs sous-réseaux. Un sous-réseau est associé à un seul VPC. Un VPC se trouve dans une seule région mais peut s'étendre sur plusieurs zones de disponibilité.
Un bon moyen de se rappeler est qu'un sous-réseau est à l'intérieur d'un VPC. Les NACL et les groupes de sécurité sont au même niveau qu'un sous-réseau.
Lorsque vous créez un VPC, vous obtenez automatiquement une table de routage par défaut, un NACL DENY et un groupe de sécurité par défaut. Vous n'aurez aucun accès Internet par défaut.
Aucun sous-réseau n'est créé dans un nouveau VPC. Vous devez les créer vous-même et décider si elles sont publiques ou privées.
Les zones de disponibilité sont randomisées lorsque vous créez le sous-réseau. Un US-EAST-1A pour quelqu'un d'autre peut ou peut ne pas être identique au vôtre.
Amazon réserve 5 adresses IP dans chaque sous-réseau.
Caractéristiques VPC
Peering VPC
La connexion d'un VPC à un autre VPC s'appelle le peering. AWS permet l'appairage à plusieurs VPC. Lorsque vous homologue des VPC, les instances à l'intérieur de ces VPC se comportent comme si elles se trouvaient toutes dans le même VPC.
Vous mettez en réseau des VPC utilisant une route de réseau privé et utilisez des adresses IP privées. Dans une région, le trafic ne quitte jamais Amazon.
Vous pouvez mettre en réseau des points de connexion virtuels entre comptes afin que plusieurs utilisateurs ou entreprises puissent travailler sur le même réseau. Utile si vous avez des tiers qui ont besoin d'accéder à des services partagés.
Le peering transitif n'est pas autorisé. Cela signifie donc que si VPC-A a associé VPC-B et que VPC-B est associé à VPC-C, VPC-A n'est pas associé à VPC-C. VPC-A aurait besoin d'établir une liaison directe avec VPC-C pour accéder aux ressources de VPC-C.
Peering VPC
Instances NAT, passerelles Nat et serveurs Bastion
Si vous avez déjà configuré votre routeur domestique pour permettre le passage d'un jeu (bonjour Minecraft) ou pour permettre l'utilisation de quelque chose comme SSH ou Plex, vous savez ce qu'est le NAT. NAT est la traduction d'adresse réseau. Un paquet arrivant sur une adresse IP: PORT est routé vers une adresse IP différente: PORT, généralement vers un autre serveur.
Où utiliseriez-vous le NAT dans une architecture AWS? Si vous avez une instance privée, par exemple un serveur de base de données, vous ne voudriez pas qu’elle soit généralement disponible pour Internet. Cependant, vous devrez peut-être accéder à Internet à partir du serveur, quelle que soit la raison (téléchargement de logiciel ou mise à jour, par exemple). Vous utiliseriez NAT pour cela.
Dans AWS, vous pouvez avoir trois types de redirection NAT.
Instance NAT – Une instance NAT est une instance EC2 configurée pour fonctionner en tant que serveur NAT. Vous devez également configurer des itinéraires pour que cela fonctionne. L'avantage de cette configuration est que vous pouvez utiliser un serveur EC2 très basique et le faire à moindre coût. L'inconvénient est que vous avez un point de défaillance unique et si le débit du réseau est important, vous risquez de surcharger le serveur NAT. Mise en place d'un serveur NAT
Passerelle NAT – Une passerelle NAT est un service AWS. Il est hautement évolutif et a un débit élevé. Il est entièrement géré, vous n'avez donc pas besoin d'y affecter de la main-d'œuvre. Cela coûte aussi très vite très cher. Pour une solution d'entreprise, la passerelle est la voie à suivre. Infos sur la NAT
Différences entre l'instance NAT et la passerelle NAT
Bastion Host – Un hôte bastion n'est pas vraiment une chose VPC. C'est juste un autre moyen d'isoler vos serveurs privés. La traduction d'adresses réseau (NAT) est un moyen de rediriger le trafic Web, mais vous ne voulez probablement pas que le grand public voie même vos serveurs de base de données, mais vous devez quand même utiliser le protocole SSH. Un serveur de bastion est juste un homme dur endurci. Vous vous connectez à ce serveur très sécurisé, puis SSH au serveur de base de données. Informations supplémentaires sur l'hôte AWS Bastion
ACL réseau
Une NACL est une liste de contrôle d'accès au réseau. NACL peut autoriser une adresse IP ou refuser une adresse IP. Il peut faire cela en entrant ou sortant. Vous pouvez donc refuser l'entrée 0.0.0.0/0 entrante, ce qui empêcherait tout trafic Internet entrant. Vous pouvez AUTORISER 8.8.8.8/32, ce qui autoriserait le trafic sortant vers un serveur DNS GOOGLE.
Pour utiliser les NACL, vous devez configurer des tables de règles. Les règles sont exécutées dans l'ordre. Amazon recommande que les règles commencent à 100 pour IPv4 et ignorent 100 règles. Ils recommandent de commencer à 101 pour IPv6 et de passer 100 entre les règles.
Donc, si nous utilisons IPv4, la première règle serait 100, la deuxième règle 200, la troisième règle 300, etc. Les règles sont définies séparément pour les entrées et les sorties. Chaque règle est définie par ALLOW ou DENY.
Par exemple, disons que nous avons:
Règle entrante 100: DENY pour TCP sur le port 80 à partir de 0.0.0.0/0
Règle entrante 200: ALLOW pour TCP sur le port 80 à partir de 10.10.0.1/32
Cela nierait tout trafic entrant car la première règle consiste à DENY tout et il est exécuté en premier. Pour autoriser l'accès 10.10.0.1, il faudrait le définir comme suit:
Règle entrante 100: ALLOW pour TCP sur le port 80 à partir de 10.10.0.1/32
Règle entrante 200: DENY pour TCP sur le port 80 à partir de 0.0.0.0/0
Je dois être honnête et dire que cette partie est ma partie la plus faible. Je n'ai tout simplement pas eu à faire grand chose avec ce type de règles de mise en réseau. Je ferai plus de lecture et de jeu en direct avant de faire le test.
Info NACL
Enregistrement
AWS dispose d'une fonctionnalité de journalisation soignée appelée journal de flux VPC. Flow Log vous permet d’envoyer tout le trafic (vous pouvez choisir le trafic entrant, le trafic sortant ou les deux à la fois) à CloudWatch ou à S3. Vous pouvez également choisir de voir accepter, rejeter ou les deux types de flux.
Vous n'avez pas à payer un supplément pour cela, mais vous payez pour les frais de stockage S3 ou de journal Cloudwatch.
La mise en miroir du trafic est également beaucoup plus coûteuse, mais elle donne accès aux charges utiles et aux flux de trafic.
Connection directe
La connexion directe est un service de niveau entreprise qui permet à une entreprise de relier un VPC à un centre de données ou à un bureau. C'est comme un VPN entre le VPC et le centre de données, mais utilise une ligne dédiée au lieu de l'internet public. Vous l'utiliseriez pour une bande passante accrue et une expérience plus cohérente. Vous payez pour cela et vous devez payer pour une ligne dédiée. Cher.
Points finaux
Un point de terminaison utilise AWS PrivateLink pour accéder à des services en dehors de votre VPC en privé. Il vous permet de connecter un service privé tel que EC2 à un service AWS public tel que S3 ou DynamoDB sans utiliser Internet public. Votre trafic reste dans AWS. Peut également l'utiliser pour passer d'une instance privée à une autre sans utiliser de passerelle ou autre routage. L'utilisation de PrivateLink utilisé par les systèmes d'extrémité a un coût, mais il s'agit d'un montant relativement faible. Certains services utilisent des points de terminaison comme interface afin que vous ne soyez pas facturé séparément pour ceux-ci.
Informations sur les points de terminaison et les liens privés
Résumé
Donc, c'est à peu près tout pour le moment. Ce n'est pas tout ce qui est lié à la VPC, mais je pense que cela couvre la plupart des choses importantes. Si vous vous présentez au test de certification, n'oubliez pas de tester tout cela pour de vrai. Connectez-vous à AWS et créez un VPC, ajoutez un sous-réseau privé et public et testez le routage entre eux. Une grande partie de ceci est gratuit ou tombe dans le niveau gratuit. Ce que cela ne coûte pas si cher si vous les résiliez dans un court laps de temps.
Je commence à me sentir prêt à passer le test. Je n'ai pas consacré autant de temps à étudier que prévu. La vie arrive
Mon prochain grand sujet à étudier est S3. Je l'utilise depuis longtemps mais je suis sûr qu'il y en a beaucoup que je ne connais pas encore.
Jusqu'à la prochaine fois
LewisC
Commentaires
Laisser un commentaire