AWS Architectures ING-4-SSIR-Part 1 PDF
Document Details
Sejda Kamoun
Tags
Summary
This document provides an overview of AWS architectures, including cloud computing models, deployment methods, and advantages. It also details various use cases, such as web application hosting and big data analytics.
Full Transcript
Rappel Cloud Computing : Service qui permet d'accéder à des ressources informatiques (serveurs, stockage, bases de données, réseaux, logiciels) via Internet, sans avoir à gérer l'infrastructure physique. Principaux modèles de service : – IaaS (Infrastructure as a Service) : Fourniture...
Rappel Cloud Computing : Service qui permet d'accéder à des ressources informatiques (serveurs, stockage, bases de données, réseaux, logiciels) via Internet, sans avoir à gérer l'infrastructure physique. Principaux modèles de service : – IaaS (Infrastructure as a Service) : Fourniture de machines virtuelles, stockage, réseaux, etc. (ex. : EC2, S3). – PaaS (Platform as a Service) : Environnement complet pour le développement et le déploiement d'applications (ex. : Elastic Beanstalk, Lambda). – SaaS (Software as a Service) : Applications disponibles en ligne (ex. : Gmail, Office 365). Modèles de déploiement du cloud Cloud public (ex. : AWS, Microsoft Azure, Google Cloud Platform) Cloud privé (ex. : OpenStack, VMware) Cloud hybride (combinaison des deux) Avantages du Cloud Computing Évolutivité : Capacité à ajuster rapidement les ressources en fonction de la demande. Pay-as-you-go : Modèle économique flexible où vous payez uniquement pour ce que vous utilisez. Accès global et mobilité : Possibilité d’accéder aux ressources depuis n'importe quel endroit dans le monde. Agilité et innovation : Facilité d’expérimenter et de déployer rapidement des applications. Définition Amazon Web Services (AWS) est la plateforme cloud la plus complète et la plus largement adoptée au monde. Elle propose plus de 200 services complets issus de centres de données du monde entier. Des millions de clients (dont certaines des startups les plus dynamiques au monde, de très grandes entreprises et des agences fédérales de premier plan) utilisent AWS pour réduire leurs coûts, gagner en agilité et innover plus rapidement. Les cas d'utilisation du cloud AWS 1. Hébergement d'applications Web et d’API: Développement et déploiement d'applications web, plateformes e-commerce, ou API. (Amazon EC2 , Elastic Load Balancer (ELB), Amazon RDS (Relational Database Service), S3, AWS Lambda, AWS API Gateway) 2. Sauvegarde, Archivage et Récupération des Données: Sauvegarde de données d’entreprise, archivage à long terme et plans de reprise après sinistre (disaster recovery). 3. Big Data et Analytique: Traitement et analyse de grandes quantités de données (Big Data) en temps réel ou en batch (Amazon EMR (Elastic MapReduce), Amazon Redshift, Amazon Athena, AWS Glue, Amazon Kinesis ) 4. Intelligence Artificielle (IA) et Machine Learning (ML): Création de modèles d'apprentissage automatique et intégration d'intelligence artificielle dans les produits et services. (Amazon SageMaker, Amazon Rekognition, Amazon lex, Amazon Polly, lambda) 5. Hébergement et Déploiement d’Applications Mobiles 6. Gaming AWS Global Infrastructure AWS Regions AWS Availability Zones AWS Local Zones AWS Edge Locations /Points of Presence AWS Regions Une région est une zone géographique. Chaque région est composée de 3 AZ ou plus. Chaque région Amazon est conçue pour être complètement isolée des autres régions Amazon. Chaque région AWS possède plusieurs AZ et Datacenters. AWS Availability Zones Les zones de disponibilité sont physiquement séparées et isolées les unes des autres. Les zones de disponibilité s'étendent sur un ou plusieurs centres de données et disposent de connexions réseau directes, à faible latence, à haut débit et redondantes entre elles. Chaque zone de disponibilité est conçue comme une zone de défaillance indépendante. AWS Local Zones une forme de déploiement d'infrastructure AWS qui permet d'exécuter des ressources AWS plus près des utilisateurs finaux, dans des zones métropolitaines éloignées des régions principales d'AWS. Services fournis : Elles proposent un sous-ensemble de services AWS, tels que le calcul, le stockage, les bases de données et les services réseau. Utilisation : Conçues pour fonctionner avec les régions AWS principales, elles permettent d'étendre l'infrastructure AWS existante aux Local Zones tout en utilisant les mêmes outils, API et services AWS. AWS Edge Locations Ce sont des installations déployées dans des emplacements stratégiques dans le monde entier pour fournir des services de mise en cache et de distribution de contenu. Utilisées pour améliorer la distribution du contenu en mettant en cache celui-ci dans des emplacements géographiques distribués, réduisant ainsi la latence des demandes de contenu. Elles sont principalement utilisées par le service CDN (réseau de distribution de contenu) Amazon CloudFront. Lorsqu'un utilisateur demande du contenu d'un site web ou d'une application utilisant CloudFront, la requête est redirigée vers l'Edge Location la plus proche. Compute Service : Amazon EC2 Definition EC2 = Elastic Compute Cloud = Infrastructure as a Service un service d'Amazon Web Services (AWS) qui fournit des machines virtuelles (ou instances) offre une capacité de calcul évolutive Amazon EC2 prend actuellement en charge une variété de systèmes d'exploitation, y compris : Amazon Linux, Ubuntu, Windows... Amazon Machine Images (AMIs) L'Amazon Machine Image (AMI) définit le logiciel initial qui sera présent sur une instance lorsqu'elle est lancée. Une AMI détermine chaque aspect de l'état logiciel au lancement de l'instance : Le système d'exploitation (OS) et sa configuration. L'état initial de tous les correctifs. Les logiciels applicatifs ou systèmes. Il existe quatre sources d'AMIs : Publiées par AWS. Le AWS Marketplace (magasin en ligne pour les AMIs). Générées à partir d'instances existantes. Serveurs virtuels téléchargés (en utilisant le service AWS VM Import/Export). Les AMIs sont régionales. Elles ne peuvent être lancées que dans la région où elles sont stockées. EC2 User Data Une fonctionnalité d'AWS EC2. Exécution des Scripts personnalisés automatiquement lors du lancement ou du redémarrage d'une instance : Des scripts en Bash (Linux) ou en PowerShell (Windows). Un outil puissant pour automatiser les configurations initiales d’une instance EC2. Cas d’utilisation courants : – Installer des paquets ou mises à jour automatiques. – Déployer des applications ou fichiers de configuration. – Configurer des services comme SSH, NTP, ou des applications spécifiques. – Configurer les logs ou le monitoring dès le lancement. EC2 Instance types Type d'Instance Exemples Objectif Principal General Purpose t3, t3a, m5, m6g Équilibrer CPU, mémoire et réseau pour des charges de travail variées. Compute Optimized c5, c6g Puissance de calcul intensive pour traitement par lot, HPC. Memory Optimized r5, r6g, x1e, z1d Optimiser la mémoire pour les bases de données et l'analyse en temps réel. Storage Optimized i3, i4i, d2, h1 Stockage haute performance pour des applications avec E/S intensives. Accelerated Computing p3, p4, g4, g5 Utiliser des GPU pour IA/ML, rendu graphique, traitement vidéo. Dense Storage (FPGA) f1 Personnalisation avec FPGA pour calculs scientifiques ou spécialisés. Networking Optimized n1, n2 Performances réseau élevées pour des applications nécessitant beaucoup de bande passante. Elastic IP une adresse IP statique fournie par Amazon Web Services (AWS) Adresse IP Publique Fixe Redirection en Cas de Défaillance contrôlée et fournie par AWS Security Groups AWS permet de contrôler le trafic entrant et sortant des instances via des pare-feu virtuels appelés groupes de sécurité. Security Groups permettent de contrôler le trafic en fonction du port, du protocole et de la source/destination. Security Groups sont associés aux instances lors de leur lancement. Chaque instance doit avoir au moins un groupe de sécurité, mais peut en avoir plusieurs. Lorsqu'une instance est associée à plusieurs groupes de sécurité, les règles sont agrégées, et tout le trafic autorisé par chacun des groupes individuels est également autorisé. Les groupes de sécurité sont appliqués au niveau de l'instance. Les groupes de sécurité dans AWS ne contiennent que des règles d'autorisation (règles d'autorisation). Inbound and Outbound Rules Inbound Rule : définit le type de trafic qui est autorisé à entrer dans la ressource (EC2 Instance, RDS Database etc.) en provenance de sources externes. Outbound Rule: définit le type de trafic qui est autorisé à sortir de la ressource (EC2 Instance, RDS Database etc.) vers des destinations externes. All inbound traffic is blocked by default All outbound traffic is authorised by default Placement Groups Les groupes de placement dans AWS permettent de contrôler la façon dont les instances EC2 sont placées dans l'infrastructure AWS. Cela permet d'améliorer les performances, de minimiser les risques de défaillance ou de répondre aux besoins spécifiques des applications. 3 types de Placement Groups: Cluster Placement Group Spread Placement Group Partition Placement Group Cluster Placement Group Ce type de groupe permet de regrouper les instances dans un seul rack physique au sein d'une zone de disponibilité. Cela garantit une latence réseau extrêmement faible et une bande passante très élevée entre les instances. Il est principalement utilisé pour : Des applications nécessitant une communication rapide entre les instances. Des charges de travail intensives telles que le calcul haute performance (HPC). Avantages : Latence réseau réduite et Performance réseau accrue. Inconvénients : Risque accru de défaillance puisque toutes les instances sont situées sur le même rack physique. Convient uniquement aux instances dans une zone de disponibilité. Risque élevé : Si l'AZ tombe en panne, toutes les instances du cluster tombent en panne. Spread Placement Group Un groupe de placement dispersé permet de répartir les instances sur différents racks physiques (hôtes) dans une ou plusieurs zones de disponibilité. Cela réduit les risques de défaillance simultanée, car chaque instance est située sur un rack séparé, ce qui offre une meilleure tolérance aux pannes. Avantages : Réduction du risque de défaillance liée à des pannes matérielles. Convient pour les charges de travail critiques où la haute disponibilité est importante. Inconvénients : Ne garantit pas une latence ou des performances réseau optimisées entre les instances. Limité à 7 instances par AZ et par groupe de placement. Partition Placement Group Ce type permet de répartir les instances EC2 dans des partitions distinctes au sein d'une zone de disponibilité, chaque partition ayant son propre matériel (serveurs, racks, etc.). Il est souvent utilisé pour des architectures de type Big Data ou des systèmes distribués comme Hadoop, Cassandra ou HBase. Jusqu'à sept partitions par AZ, qui peuvent s'étendre sur plusieurs AZ. Avantages : Réduit les risques d'échec simultané des instances dans une même partition. Offre une isolation entre les partitions, tout en maintenant des performances élevées pour les communications internes à une partition. Inconvénients : Nécessite une bonne gestion pour répartir efficacement les charges de travail. EC2 Hibernate L'hibernation EC2 permet de mettre en pause une instance en préservant l'état de la mémoire (RAM), ce qui permet de reprendre l'instance plus rapidement sans redémarrer le système d'exploitation. Lors de l'hibernation, l'état de la RAM est sauvegardé sur le volume EBS racine, qui doit être chiffré. Une instance ne peut PAS être mise en hibernation plus de 60 jours. Taille de la RAM de l'instance : doit être inférieure à 150 GB. Cas d'utilisation : Traitements de longue durée Sauvegarde de l'état de la RAM Services nécessitant du temps pour l'initialisation Amazon VPC Définition VPC = Virtual Private Cloud Création un réseau isolé dans le cloud AWS Contrôle total sur la configuration de l’adresse IP, les sous-réseaux, les tables de routage, et les passerelles réseau. Ce contrôle est essentiel pour concevoir des architectures cloud sécurisées et optimisées pour des environnements de production, de test ou de développement. Caractéristiques clés d’un VPC : Isolation des réseaux : Chaque VPC est isolé des autres, assurant une sécurité renforcée. Configuration du réseau : Contrôle sur les adresses IP, sous-réseaux, routage et connectivité. Sécurité renforcée : Contrôle précis du trafic via des groupes de sécurité et des listes de contrôle d’accès réseau (ACL). Définition Tous les nouveaux comptes AWS ont un VPC par défaut. Les nouvelles instances EC2 sont lancées dans le VPC par défaut si aucun sous-réseau n'est spécifié. Le VPC par défaut dispose d'une connectivité Internet et toutes les instances EC2 qui s'y trouvent ont des adresses IPv4 publiques. Dans une région AWS, nous pouvons avoir plusieurs VPC (max. 5 par région). Le VPC est privé, seules les plages IPv4 privées sont autorisées : 10.0.0.0 - 10.255.255.255 (10.0.0.0/8) 172.16.0.0 - 172.31.255.255 (172.16.0.0/12) 192.168.0.0 - 192.168.255.255 (192.168.0.0/16) Architecture d’un VPC CIDR : Classless Inter-Domain Routing) : Plage d’adresses IP privées définie pour le VPC (exemple : 10.0.0.0/16). Cette plage peut être subdivisée en sous-réseaux. Subnet (Sous-réseaux) : Un VPC peut être divisé en sous-réseaux (publics ou privés). Les sous-réseaux publics sont accessibles depuis l’extérieur via Internet, tandis que les sous-réseaux privés ne le sont pas. - AWS réserve 5 adresses IP (les 4 premières et la dernière) dans chaque sous-réseau. - Exemple : si le bloc CIDR est 10.0.0.0/24, les adresses IP réservées sont les suivantes : - 10.0.0.0: Adresse réseau - 10.0.0.1: réservé par AWS pour le routeur VPC - 10.0.0.2: réservé par AWS pour le mappage au DNS fourni par Amazon - 10.0.0.3: réservé par AWS pour une utilisation future - 10.0.0.255: Adresse de diffusion réseau. Architecture d’un VPC Routing table : Définie les routes pour le trafic réseau entre les sous-réseaux et les ressources externes. Internet Gateway and NAT Gateway : Permettent l’accès à Internet aux ressources dans les sous-réseaux publics et privés. Un VPC ne peut être rattaché qu'à un Internet GW et vice versa. Types de Sous-Réseaux : Publics vs. Privés Sous-réseaux publics : Contiennent des ressources accessibles depuis Internet (par exemple, les serveurs web). Reliés à une Passerelle Internet pour permettre l'accès depuis et vers Internet. Utilisent des groupes de sécurité pour autoriser le trafic entrant et sortant. Sous-réseaux privés : Contiennent des ressources nécessitant un accès interne uniquement (par exemple, des bases de données). Utilisent une NAT Gateway pour permettre aux ressources d'accéder à Internet pour des mises à jour ou des téléchargements de paquets, mais bloquent le trafic entrant non sollicité. Bastion Host Un Bastion Host est un serveur sécurisé qui sert de point d'accès unique pour se connecter aux ressources d'un réseau privé, comme un VPC sur AWS, permettant un accès sécurisé aux instances sans les exposer directement à Internet. Fonctionnement et Utilité d’un Bastion Host: Point d'accès sécurisé: Le Bastion Host accepte uniquement les connexions SSH (Linux) ou RDP (Windows) depuis des IP autorisées pour accéder aux instances en sous-réseau privé. Isolation du réseau: Les instances privées n'ont pas d'IP publique, assurant une protection contre l'exposition directe à Internet. Contrôle d'accès simplifié: Un point d'entrée unique facilite la gestion et le renforcement de la sécurité grâce à des politiques et groupes de sécurité stricts. Architecture d’un Bastion Host Sous-réseau public : Le bastion host se situe dans un sous-réseau public et est configuré pour avoir une adresse IP publique. Sous-réseau privé : Les instances cibles sont dans des sous-réseaux privés et accessibles uniquement via le bastion host. Groupes de sécurité : Un groupe de sécurité est attaché au bastion host pour limiter l'accès SSH ou RDP à des IP spécifiques (comme une adresse IP de bureau). Le bastion se trouve dans le sous-réseau public qui est ensuite connecté à tous les autres sous-réseaux privés. Le groupe de sécurité de l'hôte du Bastion doit autoriser les flux entrants en provenance d'Internet sur le port 22 à partir d'un CIDR restreint, par exemple le CIDR public de votre entreprise. Le groupe de sécurité des instances EC2 doit autoriser le groupe de sécurité de l'hôte Bastion, ou l'IP privée de l'hôte Bastion. NAT Instance NAT = Traduction d'Adresse Réseau Permet aux instances EC2 situées dans des sous-réseaux privés de se connecter à Internet. Doit être lancé dans un sous-réseau public. Les tables de routage doivent être configurées pour acheminer le trafic des sous-réseaux privés vers l'instance NAT. Une AMI Amazon Linux pré-configurée est disponible. Gestion des Groupes de Sécurité et des Règles : Entrant Sortant Autoriser le trafic HTTP / HTTPS provenant des sous-réseaux Autoriser le trafic HTTP / HTTPS vers Internet. privés. Autoriser l'accès SSH depuis votre réseau domestique (accès fourni via une passerelle Internet). NAT Gateway un service géré par AWS qui permet aux instances dans des sous-réseaux privés d’accéder à Internet sans être accessibles depuis l'extérieur. NAT géré par AWS, offrant une bande passante élevée, haute disponibilité et sans administration requise. Facturation à l'heure selon l'utilisation et la bande passante consommée. Créée dans une zone de disponibilité spécifique (Availability Zone) et utilise une IP élastique (Elastic IP). Ne peut pas être utilisée par une instance EC2 dans le même sous-réseau (seulement pour d'autres sous- réseaux). Nécessite une passerelle Internet (IGW) pour le routage (Sous-réseau privé => NAT Gateway => IGW). Offre 5 Gbps de bande passante avec une mise à l'échelle automatique jusqu'à 45 Gbps.Aucun groupe de sécurité à gérer ou requis. - La NAT Gateway est résiliente au sein d’une seule zone de disponibilité (AZ). - Il faut créer plusieurs NAT Gateways dans plusieurs zones de disponibilité pour garantir la tolérance aux pannes. NAT Gateway vs NAT Instance Critère NAT Gateway NAT Instance Bande passante Jusqu'à 45 Gbps Dépend du type d'instance EC2 Maintenance Géré par AWS Géré par vous (ex. : mises à jour logicielles, correctifs de système d'exploitation, etc.) Coût Facturation à l'heure et en fonction Facturation à l'heure, coût basé sur de la quantité de données le type et la taille de l'instance transférées EC2, + coûts réseau Groupes de Sécurité Aucuns groupes de sécurité à Groupes de sécurité nécessaires à gérer gérer Utilisation comme Bastion Host ? Non Oui NACL: Network Access List Une fonctionnalité de sécurité dans AWS qui permet de contrôler le trafic entrant et sortant au niveau du sous-réseau dans un Virtual Private Cloud (VPC). Une NACL est assignée par sous-réseau. Les nouveaux sous-réseaux reçoivent la NACL par défaut. Les règles NACL sont définies avec un numéro (de 1 à 32766). Un numéro inférieur a une priorité plus élevée. La première règle qui correspond à un paquet détermine la décision (autoriser ou refuser): exemple: Si vous définissez la règle #100 ALLOW 10.0.0.10/32 et la règle #200 DENY 10.0.0.10/32, l’adresse IP sera autorisée parce que la règle 100 a une priorité plus élevée que la 200. La dernière règle est un astérisque (*) qui refuse toute demande en cas de non-correspondance avec les règles précédentes. Les NACL nouvellement créées refusent tout le trafic par défaut. Security Group vs NACLs Security Group NACL (Network Access Control Critère List) Ne supporte que les règles Supporte à la fois les règles Niveau de Contrôle d'autorisation (allow). d'autorisation (allow) et de refus (deny). Stateful : le trafic de retour est Stateless : le trafic de retour doit État automatiquement autorisé, être explicitement autorisé par des indépendamment des règles. règles. Évaluation des Règles Toutes les règles sont évaluées Les règles sont évaluées dans avant de décider d'autoriser le trafic. l'ordre (du plus bas au plus haut) lorsqu'il s'agit de décider d'autoriser le trafic, la première correspondance gagne. Comportement par Défaut Par défaut, les groupes de sécurité Par défaut, la NACL autorise tout le refusent tout le trafic entrant. trafic (sauf si configuré autrement). Gestion Plus facile à gérer avec des règles Nécessite la gestion des règles et de basées sur des groupes. l'ordre de priorité. Ephemeral Ports Les ports éphémères sont des ports temporaires utilisés pour établir des connexions réseau, généralement pour des communications sortantes. Sur la plupart des systèmes, y compris AWS, les ports éphémères sont souvent attribués dans une plage définie, généralement entre 1024 et 65535. Cette plage peut varier selon le système d'exploitation. VPC Peering Une fonctionnalité d'AWS qui permet de connecter deux Virtual Private Clouds (VPC) pour qu'ils puissent communiquer entre eux. Utilisé pour des scénarios tels que l'intégration de services entre différents VPC, le partage de ressources, ou la gestion de l'architecture multi-VPC. Pas de Sécurité de Transit : Les VPC Peering ne supportent pas les groupes de sécurité ou les ACLs de l'autre VPC. Chaque VPC gère sa propre sécurité. Utilisation : Utilisé pour des scénarios tels que l'intégration de services entre différents VPC, le partage de ressources, ou la gestion de l'architecture multi-VPC. Pas de Transfert de Trafic via Internet : Le trafic entre les VPC peering ne passe pas par Internet, ce qui améliore la sécurité et réduit la latence. Routage : Il faut configurer les tables de routage pour permettre la communication entre les VPC. Les routes doivent être mises à jour dans chaque VPC pour diriger le trafic vers le VPC peering. VPC Endpoints Une interface qui connecte un Virtual Private Cloud (VPC) à des services AWS ou des services privés sans passer par Internet, une passerelle NAT, un VPN ou une connexion Direct Connect. Les VPC Endpoints éliminent le besoin d'utiliser une Internet Gateway (IGW), une NAT Gateway (NATGW) ou des tunnels VPN pour accéder aux services AWS. AWS propose deux principaux types de VPC Endpoints : Gateway Endpoint et Interface Endpoint. VPC Endpoints: Gateway Endpoint Il s'agit d'un point de terminaison qui utilise une table de routage pour acheminer le trafic du VPC vers certains services AWS. Il fonctionne comme une passerelle et ne crée pas de composant réseau dans le VPC. Services pris en charge : Actuellement, uniquement pour Amazon S3 et DynamoDB. Caractéristiques : Gratuit : Aucun coût supplémentaire pour utiliser un Gateway Endpoint. Configuré au niveau des tables de routage des sous-réseaux : chaque sous-réseau nécessitant l'accès aux services via un Gateway Endpoint doit avoir une entrée de route spécifique dans sa table de routage. Cas d'utilisation : Idéal pour des accès fréquents et sécurisés à S3 et DynamoDB depuis un VPC privé, sans exposer le trafic sur Internet ni encourir de frais supplémentaires. VPC Endpoints: Interface Endpoint Une Interface Endpoint crée une interface réseau élastique (ENI) dans un sous-réseau du VPC, avec une adresse IP privée, pour permettre l'accès direct à de nombreux services AWS. Services pris en charge : La majorité des services AWS (SQS, SNS, Secrets Manager, etc.). Caractéristiques : Coût par requête : Des frais sont appliqués par heure et par requête. Groupes de Sécurité : Chaque Interface Endpoint peut être associé à des groupes de sécurité afin de contrôler le trafic entrant et sortant, renforçant ainsi la sécurité de l’architecture. Haute Disponibilité : il est possible de créer plusieurs Interface Endpoints dans différentes zones de disponibilité. Cas d'utilisation : Recommandé pour des services AWS qui nécessitent des accès sécurisés depuis un VPC privé, notamment pour des ressources nécessitant des règles de sécurité spécifiques. VPC Endpoints Caractéristique Gateway Endpoint Interface Endpoint Interface réseau élastique Type de connexion Table de routage (ENI) La plupart des services Services supportés S3, DynamoDB AWS Facturation par requête et Coût Gratuit heure Route dans table de Contrôle du trafic Groupes de sécurité routage VPC Endpoints ENI: Elastic Network Interface Une interface réseau virtuelle dans AWS qui peut être attachée à une instance EC2 dans un Virtual Private Cloud (VPC). Caractéristiques de l’ENI: Adresse IP : Chaque ENI a une adresse IP privée principale et peut avoir des adresses IP secondaires. Elle peut aussi se voir attribuer une adresse IP publique si nécessaire. Adresse MAC : Une adresse MAC unique reste attachée à l’ENI, même si elle est déplacée entre instances. Groupes de Sécurité : Des règles de pare-feu peuvent être appliquées pour contrôler le trafic entrant et sortant. Attachement et Détachement : Les ENI peuvent être attachées/détachées des instances EC2, facilitant le basculement et la redondance en transférant l’interface d’une instance à une autre dans le même VPC.