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.
Déployez des conteneurs à l'aide d'Elastic Beanstalk
Créé par Thomas Scott (AWS) et Jean-Baptiste Guillois () AWS
Dépôt de code : Cluster Sample App | Environnement : Production | Technologies : Conteneurs et microservices CloudNative ; Modernisation |
AWSservices : AWS Elastic Beanstalk |
Récapitulatif
Sur le cloud Amazon Web Services (AWS), AWS Elastic Beanstalk prend en charge Docker en tant que plate-forme disponible, afin que les conteneurs puissent fonctionner avec l'environnement créé. Ce modèle montre comment déployer des conteneurs à l'aide du service Elastic Beanstalk. Le déploiement de ce modèle utilisera l'environnement du serveur Web basé sur la plate-forme Docker.
Pour utiliser Elastic Beanstalk pour déployer et dimensionner des applications et des services Web, vous téléchargez votre code et le déploiement est automatiquement géré. Le provisionnement des capacités, l'équilibrage de charge, le dimensionnement automatique et la surveillance de l'état de santé des applications sont également inclus. Lorsque vous utilisez Elastic Beanstalk, vous pouvez AWS contrôler totalement les ressources qu'il crée en votre nom. Elastic Beanstalk est gratuit. Vous ne payez que pour les AWS ressources utilisées pour stocker et exécuter vos applications.
Ce modèle inclut des instructions de déploiement à l'aide de l'AWSinterface de ligne de commande CLI (EB) d'Elastic Beanstalk et de la console de gestion. AWS
Cas d’utilisation
Les cas d'utilisation d'Elastic Beanstalk sont les suivants :
Déployez un environnement prototype pour faire la démonstration d'une application frontale. (Ce modèle utilise un Dockerfile comme exemple.)
Déployez un API pour traiter les API demandes relatives à un domaine donné.
Déployez une solution d'orchestration à l'aide de Docker-Compose (
docker-compose.yml
ce modèle n'est pas utilisé comme exemple pratique).
Conditions préalables et limitations
Prérequis
Un AWS compte
AWSInstallation CLI locale d'EB
Docker installé sur une machine locale
Limites
Le forfait gratuit impose une limite d'extraction Docker de 100 extractions par 6 heures et par adresse IP.
Architecture
Pile technologique cible
Instances Amazon Elastic Compute Cloud (AmazonEC2)
Groupe de sécurité
Application Load Balancer
Groupe Auto Scaling
Architecture cible
Automatisation et évolutivité
AWSElastic Beanstalk peut automatiquement évoluer en fonction du nombre de demandes effectuées. AWSles ressources créées pour un environnement incluent un Application Load Balancer, un groupe Auto Scaling et une ou plusieurs instances AmazonEC2.
L'équilibreur de charge se trouve devant les EC2 instances Amazon, qui font partie du groupe Auto Scaling. Amazon EC2 Auto Scaling démarre automatiquement des EC2 instances Amazon supplémentaires pour s'adapter à la charge croissante de votre application. Si la charge de votre application diminue, Amazon EC2 Auto Scaling arrête les instances, mais maintient au moins une instance en cours d'exécution.
Déclencheurs de dimensionnement automatiques
Le groupe Auto Scaling de votre environnement Elastic Beanstalk utilise CloudWatch deux alarmes Amazon pour lancer les opérations de dimensionnement. Les déclencheurs par défaut évoluent quand le trafic réseau sortant moyen de chaque instance est supérieur à 6 Mo ou inférieur à 2 Mo sur une période de cinq minutes. Pour utiliser Amazon EC2 Auto Scaling de manière efficace, configurez des déclencheurs adaptés à votre application, à votre type d'instance et à vos exigences de service. Vous pouvez effectuer une mise à l'échelle en fonction de plusieurs statistiques, notamment la latence, les E/S du disque, CPU l'utilisation et le nombre de demandes. Pour plus d'informations, consultez la section Déclencheurs Auto Scaling.
Outils
AWSservices
AWSL'interface de ligne de commande (AWSCLI) est un outil open source qui vous permet d'interagir avec les AWS services par le biais de commandes dans votre interface de ligne de commande.
AWSL'interface de ligne de commande EB (EBCLI) est un client de ligne de commande que vous pouvez utiliser pour créer, configurer et gérer des environnements Elastic Beanstalk.
Elastic Load Balancing répartit le trafic applicatif ou réseau entrant sur plusieurs cibles. Par exemple, vous pouvez répartir le trafic entre les instances, les conteneurs et les adresses IP d'Amazon Elastic Compute Cloud (AmazonEC2) dans une ou plusieurs zones de disponibilité.
Autres services
Docker regroupe
les logiciels dans des unités standardisées appelées conteneurs qui incluent des bibliothèques, des outils système, du code et un environnement d'exécution.
Code
Le code de ce modèle est disponible dans le référentiel GitHub Cluster Sample Application
Épopées
Tâche | Description | Compétences requises |
---|---|---|
Clonez le référentiel distant. |
| Développeur d'applications, AWS administrateur, AWS DevOps |
Initialisez le projet Elastic Beanstalk Docker. |
| Développeur d'applications, AWS administrateur, AWS DevOps |
Testez le projet localement. |
| Développeur d'applications, AWS administrateur, AWS DevOps |
Tâche | Description | Compétences requises |
---|---|---|
Exécuter la commande de déploiement |
| Développeur d'applications, AWS administrateur, AWS DevOps |
Accédez à la version déployée. | Une fois la commande de déploiement terminée, accédez au projet à l'aide de la | Développeur d'applications, AWS administrateur, AWS DevOps |
Tâche | Description | Compétences requises |
---|---|---|
Déployez l'application à l'aide du navigateur. |
| Développeur d'applications, AWS administrateur, AWS DevOps |
Accédez à la version déployée. | Après le déploiement, accédez à l'application déployée et choisissez celle qui est URL fournie. | Développeur d'applications, AWS administrateur, AWS DevOps |
Ressources connexes
Informations supplémentaires
Avantages de l'utilisation d'Elastic Beanstalk
Provisionnement automatique de l'infrastructure
Gestion automatique de la plateforme sous-jacente
Correctifs et mises à jour automatiques pour soutenir l'application
Dimensionnement automatique de l'application
Possibilité de personnaliser le nombre de nœuds
Possibilité d'accéder aux composants de l'infrastructure si nécessaire
Facilité de déploiement par rapport aux autres solutions de déploiement de conteneurs