Accédez à des applications de conteneur en privé sur Amazon ECS à l'aide d'AWS Fargate, d' PrivateLinkAWS et d'un Network Load Balancer - Recommandations AWS

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Accédez à des applications de conteneur en privé sur Amazon ECS à l'aide d'AWS Fargate, d' PrivateLinkAWS et d'un Network Load Balancer

Kirankumar Chandrashekar, Amazon Web Services

Ce modèle décrit comment héberger en privé une application de conteneur Docker sur le cloud Amazon Web Services (AWS) en utilisant Amazon Elastic Container Service (Amazon ECS) avec un type de lancement AWS Fargate, derrière un Network Load Balancer, et accéder à l'application via AWS. PrivateLink Amazon Relational Database Service (Amazon RDS) héberge la base de données relationnelle de l'application exécutée sur Amazon ECS avec haute disponibilité (HA). Vous pouvez utiliser Amazon Elastic File System (Amazon EFS) si l'application nécessite un stockage permanent.

Ce modèle utilise un type de lancement Fargate pour le service Amazon ECS exécutant les applications Docker, avec un Network Load Balancer au niveau du front-end. Il peut ensuite être associé à un point de terminaison de cloud privé virtuel (VPC) pour y accéder via AWS. PrivateLink Ce service de point de terminaison VPC peut ensuite être partagé avec d'autres utilisateurs VPCs en utilisant leurs points de terminaison VPC.

Vous pouvez utiliser Fargate avec Amazon ECS pour exécuter des conteneurs sans avoir à gérer des serveurs ou des clusters d'instances Amazon Elastic Compute Cloud ( EC2Amazon). Vous pouvez également utiliser un groupe Amazon EC2 Auto Scaling au lieu de Fargate. Pour plus d'informations, consultez Accéder aux applications de conteneur en privé sur Amazon ECS à l'aide d'AWS PrivateLink et d'un Network Load Balancer.

Prérequis

Utilisation PrivateLink pour accéder à une application de conteneur sur Amazon ECS avec un type de lancement AWS Fargate.

Pile technologique

  • Amazon CloudWatch

  • Amazon Elastic Container Registry (Amazon ECR)

  • Amazon ECS

  • Amazon EFS

  • Amazon RDS

  • Amazon Simple Storage Service (Amazon S3)

  • AWS Fargate

  • AWS PrivateLink

  • AWS Secrets Manager

  • Application Load Balancer

  • Network Load Balancer

  • VPC

Automatisation et mise à l'échelle

Services AWS

  • Amazon Elastic Container Registry (Amazon ECR) est un service de registre d'images de conteneurs AWS géré qui est sécurisé, évolutif et fiable.

  • Amazon Elastic Container Service (Amazon ECS) est un service de gestion de conteneurs rapide et hautement évolutif qui facilite l'exécution, l'arrêt et la gestion des conteneurs sur un cluster.

  • Amazon Elastic File System (Amazon EFS) fournit un système de fichiers NFS élastique simple, évolutif et entièrement géré à utiliser avec les services cloud AWS et les ressources sur site.

  • AWS Fargateest une technologie que vous pouvez utiliser avec Amazon ECS pour exécuter des conteneurs sans avoir à gérer des serveurs ou des clusters d' EC2 instances Amazon.

  • Amazon Relational Database Service (Amazon RDS) est un service Web qui facilite la configuration, l'exploitation et le dimensionnement d'une base de données relationnelle dans le. AWS Cloud

  • Amazon Simple Storage Service (Amazon S3) est un service de stockage pour Internet. Il est conçu pour faciliter l'informatique à l'échelle d'Internet pour les développeurs.

  • AWS Secrets Manager vous aide à remplacer les informations d'identification codées en dur dans votre code, y compris les mots de passe, par un appel d'API à Secrets Manager pour récupérer le secret par programmation.

  • Amazon Virtual Private Cloud (Amazon VPC) vous aide à lancer des ressources AWS dans un réseau virtuel que vous avez défini.

  • Elastic Load Balancing (ELB) distribue le trafic applicatif ou réseau entrant sur plusieurs cibles, telles que les EC2 instances, les conteneurs et les adresses IP, dans plusieurs zones de disponibilité.

Autres outils

  • Docker aide les développeurs à emballer, expédier et exécuter facilement n'importe quelle application sous la forme d'un conteneur léger, portable et autonome.

TâcheDescriptionCompétences requises

Créez un VPC.

  1. Connectez-vous à l'AWS Management Console et ouvrez la console Amazon VPC. Choisissez Create VPC, puis choisissez VPC et plus encore. 

  2. Entrez un nom pour votre VPC et choisissez une plage de blocs CIDR appropriée.

  3. Spécifiez deux zones de disponibilité, deux sous-réseaux publics, quatre sous-réseaux privés. Deux sous-réseaux privés sont destinés aux tâches Amazon ECS, et deux sous-réseaux privés sont destinés aux bases de données Amazon RDS.

  4. Spécifiez une passerelle NAT pour chaque zone de disponibilité.

  5. Sélectionnez Create VPC (Créer un VPC).

Administrateur du cloud
TâcheDescriptionCompétences requises

Créez un Network Load Balancer.

  1. Ouvrez la EC2 console Amazon et choisissez la région AWS qui contient votre VPC. 

  2. Sous Équilibrage de charge, choisissez Load balancers, puis Create load balancer

  3. Choisissez Network Load Balancer, puis Create. 

  4. Sur la page Configurer l'équilibreur de charge, configurez votre Network Load Balancer et votre écouteur. Important : Assurez-vous de choisir le schéma de votre Network Load Balancer comme Interne

  5. Choisissez les paramètres de sécurité applicables, configurez un groupe de sécurité et un groupe cible. Choisissez IP comme type de cible dans la section Configurer le routage. Assurez-vous de ne pas enregistrer de cible. 

  6. Lorsque vous avez configuré tous les paramètres, choisissez Next : Review, puis Create.

Pour obtenir de l'aide sur ce sujet et sur d'autres articles, consultez la section Ressources connexes.

Administrateur du cloud

Créez un Application Load Balancer.

  1. Sur la EC2 console Amazon, choisissez la même région que celle qui contient votre VPC. 

  2. Sous Équilibrage de charge, choisissez Load balancers, puis Create load balancer

  3. Choisissez Application Load Balancer, puis Create. 

  4. Important

    Configurez votre Application Load Balancer et son écouteur. Assurez-vous de choisir le schéma de votre équilibreur de charge d'application comme interne

  5. Choisissez les paramètres de sécurité applicables, configurez un groupe de sécurité et un groupe cible. Choisissez IP comme type de cible dans la section Configurer le routage. Assurez-vous de ne pas enregistrer de cible. 

  6. Lorsque vous avez configuré tous les paramètres, choisissez Next : Review, puis Create.

Administrateur du cloud
TâcheDescriptionCompétences requises

Créez un système de fichiers Amazon EFS.

  1. Ouvrez la console Amazon EFS, puis choisissez Create file system

  2. Dans la boîte de dialogue Créer un système de fichiers, entrez le nom de votre système de fichiers et choisissez votre VPC. 

  3. Choisissez Create pour créer le système de fichiers. 

  4. Configurez et configurez votre système de fichiers Amazon EFS.

Administrateur du cloud

Montez des cibles pour les sous-réseaux.

  1. Retournez à la console Amazon EFS, puis sélectionnez Systèmes de fichiers. La page Systèmes de fichiers affiche les systèmes de fichiers Amazon EFS de votre compte. 

  2. Choisissez le système de fichiers que vous avez créé, puis sélectionnez Gérer pour afficher la zone de disponibilité

  3. Pour ajouter une cible de montage, choisissez Ajouter une cible de montage et ajoutez les quatre sous-réseaux privés que vous avez créés.

Administrateur du cloud

Vérifiez que les sous-réseaux sont montés en tant que cibles.

  1. Sur la console Amazon EFS, sélectionnez Systèmes de fichiers

  2. Choisissez Réseau pour afficher la liste des cibles de montage existantes. Assurez-vous qu'ils incluent les quatre sous-réseaux que vous avez créés.

Administrateur du cloud
TâcheDescriptionCompétences requises

Créez un compartiment S3.

Ouvrez la console Amazon S3 et créez un compartiment S3 pour stocker les actifs statiques de votre application, si nécessaire.

Administrateur du cloud
TâcheDescriptionCompétences requises

Créez une clé AWS KMS pour chiffrer le secret du Secrets Manager.

Ouvrez la console AWS Key Management Service (AWS KMS) et créez une clé KMS.

Administrateur du cloud

Créez un secret Secrets Manager pour stocker le mot de passe Amazon RDS.

  1. Ouvrez la console AWS Secrets Manager et créez un nouveau secret en choisissant Stocker un nouveau secret

  2. Choisissez la clé KMS que vous avez créée et stockez votre nouveau secret.

Administrateur du cloud
TâcheDescriptionCompétences requises

Créez un groupe de sous-réseaux de base de données.

  1. Ouvrez la console Amazon RDS et choisissez Subnet groups

  2. Choisissez Create DB subnet group, puis entrez un nom et une description pour votre groupe de sous-réseaux DB. 

  3. Choisissez le VPC que vous avez créé précédemment, puis choisissez les zones de disponibilité et les sous-réseaux. Ensuite, choisissez Créer.

Administrateur du cloud

Créez une instance Amazon RDS.

Créez et configurez une instance Amazon RDS dans les sous-réseaux privés. Assurez-vous que le mode Multi-AZ est activé pour une haute disponibilité (HA).

Administrateur du cloud

Chargez les données sur l'instance Amazon RDS.

Chargez les données relationnelles requises par votre application dans votre instance Amazon RDS. Ce processus varie en fonction des besoins de votre application, ainsi que de la façon dont le schéma de votre base de données est défini et conçu.

DBA
TâcheDescriptionCompétences requises

Créez un cluster ECS.

  1. Ouvrez la console Amazon ECS et choisissez Clusters

  2. Choisissez Créer des clusters, puis configurez un cluster ECS conformément à vos spécifications requises.

Administrateur du cloud

Créez les images Docker.

Créez les images Docker en suivant les instructions de la AWS documentation.

Administrateur du cloud

Créez un référentiel Amazon ECR.

  1. Ouvrez la console Amazon ECR et choisissez Repositories

  2. Choisissez Créer un référentiel, puis entrez un nom unique pour votre référentiel. 

  3. Configurez le référentiel conformément à vos spécifications, y compris le chiffrement AWS KMS si nécessaire.

Administrateur cloud, DevOps ingénieur

Transférez les images Docker vers le référentiel Amazon ECR.

  1. Identifiez l'image Docker que vous souhaitez envoyer et exécutez la docker images commande dans l'AWS CLI. 

  2. Marquez votre image à l'aide de la combinaison de noms de registre, de référentiel et de balises d'image facultative Amazon ECR. 

  3. Appuyez sur l'image Docker en exécutant la docker push commande. 

  4. Répétez ces étapes pour toutes les images requises.

Administrateur du cloud

Créez une définition de tâche Amazon ECS.

Une définition de tâche est requise pour exécuter des conteneurs Docker dans Amazon ECS. 

  1. Revenez à la console Amazon ECS, choisissez Définitions de tâches, puis choisissez Créer une nouvelle définition de tâche

  2. Sur la page Sélectionner les compatibilités, sélectionnez le type de lancement que votre tâche doit utiliser, puis choisissez Étape suivante.

Important

Pour obtenir de l'aide sur la configuration de votre définition de tâche, consultez la section « Création d'une définition de tâche » dans la section Ressources connexes. Assurez-vous de fournir les images Docker que vous avez transmises à Amazon ECR.

Administrateur du cloud

Créez un service ECS et choisissez Fargate comme type de lancement.

  1. Créez un service Amazon ECS en utilisant le cluster ECS que vous avez créé précédemment. Assurez-vous de choisir Fargate comme type de lancement.

  2. Choisissez la définition de tâche créée à l'étape précédente et choisissez le groupe cible de l'Application Load Balancer.

Administrateur du cloud
TâcheDescriptionCompétences requises

Configurez le point de PrivateLink terminaison AWS.

  1. Ouvrez la console Amazon VPC et créez un AWS PrivateLink point de terminaison. 

  2. Associez ce point de terminaison au Network Load Balancer, qui met l'application hébergée sur Amazon ECS à la disposition privée des clients. 

Administrateur du cloud
TâcheDescriptionCompétences requises

Créez un point de terminaison de VPC.

Créez un point de terminaison VPC pour le point de PrivateLink terminaison AWS que vous avez créé précédemment. Le nom de domaine complet (FQDN) du point de terminaison VPC pointera vers le nom de domaine complet du point de terminaison AWS PrivateLink . Cela crée une interface réseau élastique vers le service de point de terminaison VPC à laquelle les points de terminaison du service de noms de domaine peuvent accéder.

Administrateur du cloud
TâcheDescriptionCompétences requises

Ajoutez l'Application Load Balancer en tant que cible.

Pour ajouter l'Application Load Balancer en tant que cible pour le Network Load Balancer, suivez les instructions de la documentation.AWS

Développeur d’applications

Créez les équilibreurs de charge :

Créez un système de fichiers Amazon EFS :

Créez un secret du Gestionnaire de Secrets :

Créez une instance Amazon RDS :

Création des composants Amazon ECS

Autres ressources :