Composants clés d'une architecture d'hébergement web AWS - Hébergement d'Application Web sur le Nuage AWS

Composants clés d'une architecture d'hébergement web AWS

Les sections suivantes présentent certains des composants clés d'une architecture d'hébergement web déployée dans le cloud AWS et expliquent en quoi ils diffèrent d'une architecture d'hébergement web traditionnelle.

Gestion du réseau

Dans le cloud AWS, la possibilité de segmenter votre réseau par rapport à celui des autres clients permet une architecture plus sécurisée et évolutive. Alors que les groupes de sécurité fournissent une sécurité au niveau de l'hôte (voir la section Sécurité de l'hôte), Amazon Virtual Private Cloud (Amazon VPC) vous permet de lancer des ressources dans un réseau virtuel et isolé logiquement que vous définissez.

Amazon VPC est un service qui vous donne un contrôle total sur les détails de votre configuration de réseaux dans AWS. Parmi les exemples de ce contrôle, citons la création de sous-réseaux publics pour les serveurs web et de sous-réseaux privés sans accès à Internet pour vos bases de données. En outre, Amazon VPC vous permet de créer des architectures hybrides en utilisant des réseaux VPN matériels et d'utiliser le cloud AWS comme extension de votre propre centre de données.

Amazon VPC prend également en charge IPv6, en plus de la prise en charge IPv4 traditionnelle pour votre réseau.

Diffusion de contenu

Lorsque votre trafic web est géographiquement dispersé, il n'est pas toujours possible et certainement pas économique de répliquer la totalité de votre infrastructure à travers le monde. Un réseau de diffusion de contenu (CDN) vous offre la possibilité d'utiliser son réseau mondial d'emplacements périphériques pour déployer une copie en cache du contenu web, comme des vidéos, des pages web, des images et autres, vers vos clients. Pour réduire le temps de réponse, le CDN utilise l'emplacement périphérique le plus proche du client ou de l'emplacement de la demande d'origine. Le débit augmente considérablement du fait que les ressources web sont déployées à partir du cache. Pour les données dynamiques, un grand nombre de CDN peuvent être configurés pour récupérer les données depuis les serveurs d'origine.

Vous pouvez utiliser CloudFront pour diffuser votre site web y compris les contenus dynamiques, statiques et diffusés en continu, à partir d'un réseau mondial d'emplacements périphériques. CloudFront achemine automatiquement les requêtes pour votre contenu vers l'emplacement périphérique le plus proche, de sorte que le contenu puisse être diffusé de manière optimale. CloudFront est optimisé pour fonctionner avec d'autres services AWS, tels qu'Amazon S3 et Amazon Elastic Compute Cloud (Amazon EC2). CloudFront fonctionne aussi de manière transparente avec n'importe quel serveur d'origine autre qu'AWS qui stocke les versions définitives et originales de vos fichiers.

Comme pour les autres services AWS, aucun contrat ni abonnement mensuel n'est requis pour utiliser CloudFront : vous ne payez que la quantité de contenu que vous diffusez par le biais de ce service.

En outre, toutes les solutions existantes de mise en cache périphérique dans votre infrastructure d'application web devraient fonctionner correctement dans le cloud AWS.

Gestion du DNS public

Le déplacement d'une application web vers le cloud AWS nécessite certaines modifications du système de noms de domaine (DNS). Pour vous aider à gérer le routage DNS, AWS fournit Amazon Route 53, un service web DNS cloud hautement disponible et évolutif. Route 53 est conçu pour donner aux développeurs et aux entreprises un moyen extrêmement fiable et rentable d'acheminer les utilisateurs finaux vers des applications Internet en remplaçant des noms, comme www.exemple.com, par des adresses IP telles que 192.0.2.1, que les ordinateurs utilisent pour se connecter l'un à l'autre. De plus, Route 53 est entièrement conforme au protocole IPv6.

Sécurité de l'hôte

Outre le filtrage du trafic réseau entrant en périphérie, AWS recommande également aux applications web d'appliquer le filtrage du trafic réseau au niveau de l'hôte. Amazon EC2 fournit une fonction nommée groupes de sécurité. Un groupe de sécurité est analogue à un pare-feu réseau entrant, pour lequel vous pouvez spécifier les protocoles, les ports et les plages d'adresses IP sources qui sont autorisés à atteindre vos instances EC2.

Vous pouvez attribuer un ou plusieurs groupes de sécurité à chaque instance EC2. Chaque groupe de sécurité autorise le trafic approprié vers chaque instance. Les groupes de sécurité peuvent être configurés de telle sorte que seuls des sous-réseaux, des adresses IP et des ressources spécifiques aient accès à une instance EC2. Ils peuvent également référencer d'autres groupes de sécurité pour limiter l'accès aux instances EC2 appartenant à des groupes spécifiques.

Dans l'architecture d'hébergement web AWS de la figure 3, le groupe de sécurité du cluster de serveurs web peut autoriser l'accès uniquement à partir de l'équilibreur de charge de la couche web et uniquement via TCP sur les ports 80 et 443 (HTTP et HTTPS). Le groupe de sécurité du serveur d'applications, en revanche, peut autoriser l'accès uniquement à partir de l'équilibreur de charge de la couche application. Dans ce modèle, vos ingénieurs de support doivent également accéder aux instances EC2, ce qui peut être réalisé avec AWS Systems Manager Session Manager. Pour une discussion plus approfondie sur la sécurité, veuillez consulter Sécurité dans le cloud AWS, qui contient des bulletins de sécurité, des informations de certification et des livres blancs sur la sécurité qui expliquent les fonctionnalités de sécurité d'AWS.

Répartition de charge entre les clusters

Les équilibreurs de charge matériels sont une appliance réseau courante utilisée dans les architectures traditionnelles d'application web. AWS fournit cette fonctionnalité par le biais du service Elastic Load Balancing (ELB). ELB distribue automatiquement le trafic d'application entrant sur plusieurs cibles, telles que les instances EC2, les conteneurs, les adresses IP, les fonctions AWS Lambda et les appliances virtuelles. Il peut gérer la charge variable du trafic de votre application dans une seule zone de disponibilité ou à travers plusieurs zones de disponibilité. Elastic Load Balancing fournit quatre types d'équilibreurs de charge offrant tous la haute disponibilité, la scalabilité automatique et la sécurité robuste nécessaires pour rendre vos applications tolérantes aux pannes.

Trouver d'autres hôtes et services

Dans l'architecture d'hébergement web traditionnelle, la plupart de vos hôtes ont des adresses IP statiques. Dans le cloud AWS, la plupart de vos hôtes ont des adresses IP dynamiques. Bien que chaque instance EC2 puisse avoir des entrées DNS publiques et privées et soit adressable sur Internet, les entrées DNS et les adresses IP sont attribuées dynamiquement lorsque vous lancez l'instance. Elles ne peuvent pas être assignées manuellement. Les adresses IP statiques (adresses IP élastiques dans la terminologie AWS) peuvent être attribuées à des instances en cours d'exécution après leur lancement. Les adresses IP élastiques devraient être utilisées pour les instances et les services qui nécessitent des points de terminaison constants, telles que les bases de données primaires, les serveurs de fichiers centraux ou les équilibreurs de charge hébergés sur EC2.

Mise en mémoire cache dans l'application web

Les caches d'applications en mémoire peuvent réduire la charge sur les services et améliorer les performances et la capacité de mise à l'échelle au niveau de la base de données en mettant en cache les informations fréquemment utilisées. Amazon ElastiCache est un service web qui facilite le déploiement, l'utilisation et la mise à l'échelle d'un cache en mémoire dans le cloud. Vous pouvez configurer le cache en mémoire que vous créez pour qu'il s'adapte automatiquement à la charge et remplace automatiquement les nœuds défaillants. ElastiCache est conforme au protocole avec Memcached et Redis, ce qui simplifie la migration à partir de votre solution sur site actuelle.