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 PrivateLink et d'un Network Load Balancer
Créée par Kirankumar Chandrashekar (AWS)
Récapitulatif
Ce modèle décrit comment héberger en privé une application de conteneur Docker sur Amazon Elastic Container Service (Amazon ECS) derrière un Network Load Balancer et accéder à l'application via AWS. PrivateLink Vous pouvez ensuite utiliser un réseau privé pour accéder en toute sécurité aux services sur le cloud Amazon Web Services (AWS). 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). Amazon Elastic File System (Amazon EFS) est utilisé si l'application nécessite un stockage permanent.
Le service Amazon ECS exécutant les applications Docker, avec un Network Load Balancer sur le front-end, peut être associé à un point de terminaison de cloud privé virtuel (VPC) pour un accès 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 également utiliser AWS Fargate au lieu d'un groupe Amazon Auto EC2 Scaling. Pour plus d'informations, consultez Accéder aux applications de conteneur de manière privée sur Amazon ECS à l'aide d'AWS Fargate, d' PrivateLinkAWS et d'un Network Load Balancer.
Conditions préalables et limitations
Prérequis
Un compte AWS actif
Interface de ligne de commande AWS (AWS CLI) version 2, installée et configurée sous Linux, macOS ou Windows
Docker
, installé et configuré sous Linux, macOS ou Windows Une application exécutée sur Docker
Architecture

Pile technologique
Amazon CloudWatch
Amazon Elastic Compute Cloud (Amazon EC2)
Amazon EC2 Auto Scaling
Amazon Elastic Container Registry (Amazon ECR)
Amazon ECS
Amazon RDS
Amazon Simple Storage Service (Amazon S3)
AWS Lambda
AWS PrivateLink
AWS Secrets Manager
Application Load Balancer
Network Load Balancer
VPC
Automatisation et mise à l'échelle
Vous pouvez utiliser AWS CloudFormation pour créer ce modèle en utilisant l'infrastructure en tant que code.
Outils
Amazon EC2 — Amazon Elastic Compute Cloud (Amazon EC2) fournit une capacité de calcul évolutive dans le cloud AWS.
Amazon EC2 Auto Scaling — Amazon EC2 Auto Scaling vous aide à vous assurer que vous disposez du nombre correct d' EC2 instances Amazon disponibles pour gérer la charge de votre application.
Amazon ECS — 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 ECR — 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 EFS — 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 Lambda — Lambda est un service de calcul permettant d'exécuter du code sans provisionner ni gérer de serveurs.
Amazon RDS — 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 cloud AWS.
Amazon S3 — 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 — Secrets Manager vous aide à remplacer les informations d'identification codées en dur dans votre code, y compris les mots de passe, en fournissant un appel d'API à Secrets Manager pour récupérer le secret par programmation.
Amazon VPC — Amazon Virtual Private Cloud (Amazon VPC) vous aide à déployer des ressources AWS dans un réseau virtuel que vous avez défini.
Elastic Load Balancing — Elastic Load Balancing distribue le trafic applicatif ou réseau entrant sur plusieurs cibles, telles que EC2 les instances Amazon, les conteneurs et les adresses IP, dans plusieurs zones de disponibilité.
Docker
— Docker aide les développeurs à emballer, expédier et exécuter n'importe quelle application sous la forme d'un conteneur léger, portable et autonome.
Épopées
Tâche | Description | Compétences requises |
---|---|---|
Créez un VPC. |
| Administrateur du cloud |
Tâche | Description | Compétences requises |
---|---|---|
Créez un Network Load Balancer. |
| Administrateur du cloud |
Créez un Application Load Balancer. |
| Administrateur du cloud |
Tâche | Description | Compétences requises |
---|---|---|
Créez un système de fichiers Amazon EFS. |
| Administrateur du cloud |
Montez des cibles pour les sous-réseaux. |
| Administrateur du cloud |
Vérifiez que les sous-réseaux sont montés en tant que cibles. |
| Administrateur du cloud |
Tâche | Description | Compé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âche | Description | Compé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. |
| Administrateur du cloud |
Tâche | Description | Compétences requises |
---|---|---|
Créez un groupe de sous-réseaux de base de données. |
| 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 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. | Administrateur cloud, DBA |
Tâche | Description | Compétences requises |
---|---|---|
Créez un cluster ECS. |
| Administrateur du cloud |
Créez les images Docker. | Créez les images Docker en suivant les instructions de la section Ressources associées. | Administrateur du cloud |
Créez des référentiels Amazon ECR. |
| Administrateur cloud, DevOps ingénieur |
Authentifiez votre client Docker pour le référentiel Amazon ECR. | Pour authentifier votre client Docker pour le référentiel Amazon ECR, exécutez la | Administrateur du cloud |
Transférez les images Docker vers le référentiel Amazon ECR. |
| 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.
ImportantPour 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 Amazon ECS service. | Créez un service Amazon ECS en utilisant le cluster ECS que vous avez créé précédemment. Assurez-vous de choisir Amazon EC2 comme type de lancement, de choisir la définition de tâche créée à l'étape précédente, ainsi que le groupe cible de l'Application Load Balancer. | Administrateur du cloud |
Tâche | Description | Compétences requises |
---|---|---|
Créez une configuration du lancement. | Ouvrez la EC2 console Amazon et créez une configuration de lancement. Assurez-vous que les données utilisateur contiennent le code permettant aux EC2 instances de rejoindre le cluster ECS souhaité. Pour un exemple du code requis, consultez la section Ressources connexes. | Administrateur du cloud |
Créez un groupe Amazon EC2 Auto Scaling. | Revenez à la EC2 console Amazon et sous Auto Scaling, sélectionnez Auto Scaling groups. Configurez un groupe Amazon EC2 Auto Scaling. Assurez-vous de choisir les sous-réseaux privés et la configuration de lancement que vous avez créés précédemment. | Administrateur du cloud |
Tâche | Description | Compétences requises |
---|---|---|
Configurez le point de PrivateLink terminaison AWS. |
Pour plus d'informations, consultez la section Ressources connexes. | Administrateur du cloud |
Tâche | Description | Compé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 DNS peuvent accéder. | Administrateur du cloud |
Tâche | Description | Compétences requises |
---|---|---|
Créez la fonction Lambda. | Sur la console AWS Lambda, créez une fonction Lambda pour mettre à jour les adresses IP de l'Application Load Balancer en tant que cibles pour le Network Load Balancer. Pour plus d'informations à ce sujet, consultez le billet de blog Utiliser AWS Lambda pour activer les adresses IP statiques pour les équilibreurs de charge d'application | Développeur d’applications |
Ressources connexes
Créez les équilibreurs de charge :
Créez un système de fichiers Amazon EFS :
Créez un compartiment S3 :
Créez un secret du Gestionnaire de Secrets :
Créez une instance Amazon RDS :
Créez les composants Amazon ECS :
Créez un groupe Amazon EC2 Auto Scaling :
Configurez AWS PrivateLink :
Créez un point de terminaison VPC :
Créez la fonction Lambda :
Autres ressources :