Sélectionner vos préférences de cookies

Nous utilisons des cookies essentiels et des outils similaires qui sont nécessaires au fonctionnement de notre site et à la fourniture de nos services. Nous utilisons des cookies de performance pour collecter des statistiques anonymes afin de comprendre comment les clients utilisent notre site et d’apporter des améliorations. Les cookies essentiels ne peuvent pas être désactivés, mais vous pouvez cliquer sur « Personnaliser » ou « Refuser » pour refuser les cookies de performance.

Si vous êtes d’accord, AWS et les tiers approuvés utiliseront également des cookies pour fournir des fonctionnalités utiles au site, mémoriser vos préférences et afficher du contenu pertinent, y compris des publicités pertinentes. Pour accepter ou refuser tous les cookies non essentiels, cliquez sur « Accepter » ou « Refuser ». Pour effectuer des choix plus détaillés, cliquez sur « Personnaliser ».

Déployez des microservices Java sur Amazon ECS à l'aide d'Amazon ECR et de l'équilibrage de charge - 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.

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 microservices Java sur Amazon ECS à l'aide d'Amazon ECR et de l'équilibrage de charge

Créée par Durga Prasad Cheepuri (AWS)

Récapitulatif

Ce modèle décrit les étapes à suivre pour déployer une architecture de microservices Java conteneurisée sur Amazon Elastic Container Service (Amazon ECS) afin de faciliter le dimensionnement et d'accélérer le développement de vos applications. Cela permet de favoriser l'innovation et d'accélérer la time-to-market mise en place de nouvelles fonctionnalités. 

Le modèle utilise également Amazon Elastic Container Registry (Amazon ECR) pour stocker et gérer les conteneurs basés sur Docker, ainsi qu'un modèle CloudFormation AWS avec un script Python pour automatiser la configuration de votre infrastructure. Le modèle est basé sur le billet Deploying Java Microservices on Amazon Elastic Container Service, publié sur le blog AWS Compute.

Les microservices fournissent une approche architecturale et organisationnelle du développement logiciel, dans laquelle le logiciel est composé de petits services indépendants qui communiquent via des interfaces de programmation d'applications bien définies ()APIs. De petites équipes autonomes sont propriétaires de ces services. 

Amazon ECS est un service d'orchestration de conteneurs hautement évolutif et performant. Il prend en charge les conteneurs Docker et vous permet d'exécuter et de faire évoluer rapidement des applications conteneurisées sur AWS. Avec Amazon ECS, vous n'avez plus besoin d'installer et d'utiliser votre logiciel d'orchestration de conteneurs, de gérer et de dimensionner un cluster de machines virtuelles (VMs) ou de planifier des conteneurs sur ces VMs machines.

À l'aide de simples appels d'API, vous pouvez lancer et arrêter des applications compatibles Docker, demander l'état complet de votre demande et accéder à de nombreuses fonctionnalités naturelles, telles que les rôles AWS Identity and Access Management (IAM), les groupes de sécurité, les équilibreurs de charge, Amazon Events CloudWatch , les modèles AWS et les journaux CloudFormation AWS. CloudTrail

Conditions préalables et limitations

Prérequis

  • Un compte AWS actif  

  • Code source des microservices Java, avec le kit de développement Java version 1.7 ou ultérieure

  • Une clé d'accès et une clé d'accès secrète pour un utilisateur du compte

  • Interface de ligne de commande AWS (AWS CLI)

  • Java, kit de développement logiciel (SDK) AWS pour Python (Boto3) et logiciels Docker

  • Connaissance de l'utilisation des technologies précédentes

  • Connaissance des services AWS tels qu'Amazon ECS CloudFormation, AWS et Elastic Load Balancing

Architecture

Pile technologique source

  • Microservices implémentés en Java et déployés sur Apache Tomcat dans un environnement sur site

Pile technologique cible

  • Application Load Balancer qui inspecte la demande du client. Sur la base des règles de routage, l'équilibreur de charge dirige la demande vers une instance et un port du groupe cible correspondant à l'état.

  • Un groupe cible pour chaque microservice. Les groupes cibles sont utilisés par les services correspondants pour enregistrer les instances de conteneur disponibles. Chaque groupe cible possède un chemin. Ainsi, lorsque vous appelez un microservice en particulier, celui-ci correspond au groupe cible approprié. Cela vous permet d'utiliser une Application Load Balancer pour desservir tous les microservices accessibles par le chemin. Par exemple, https:///owner/ * serait mappé et redirigerait vers le microservice Owner.

  • Un cluster Amazon ECS qui héberge les conteneurs pour chaque microservice.

  • Un réseau Amazon Virtual Private Cloud (Amazon VPC) pour héberger le cluster Amazon ECS et les groupes de sécurité associés.

  • Un référentiel Amazon Elastic Container Registry (Amazon ECR) pour chaque microservice.

  • Une définition de service ou de tâche pour chaque microservice, qui active des conteneurs sur les instances du cluster Amazon ECS.

Architecture cible

Étapes de déploiement d'une architecture de microservices Java conteneurisée sur Amazon ECS.

Outils

  • Amazon ECS — Amazon ECS vous permet de lancer et d'arrêter des applications basées sur des conteneurs à l'aide de simples appels d'API, vous permet d'obtenir l'état de votre cluster à partir d'un service centralisé et vous donne accès à de nombreuses fonctionnalités familières d'Amazon Elastic Compute Cloud EC2 (Amazon).

  • Amazon ECR — Amazon Elastic Container Registry (Amazon ECR) est un registre entièrement géré qui permet aux développeurs de stocker, de gérer et de déployer facilement des images de conteneurs Docker. Amazon ECR est intégré à Amazon ECS pour simplifier votre development-to-production flux de travail. Amazon ECR héberge vos images dans une architecture hautement disponible et évolutive afin que vous puissiez déployer des conteneurs de manière fiable pour vos applications. L'intégration à AWS Identity and Access Management (IAM) permet de contrôler chaque référentiel au niveau des ressources.

Épopées

TâcheDescriptionCompétences requises

Provisionnez une instance Amazon EC2 Linux, installez Docker et créez un fichier Docker pour chaque microservice.

Ops

Configurez des images Docker sur Amazon ECR.

Utilisez le Dockerfile pour l'image à envoyer, créez l'image et balisez-la pour votre nouveau référentiel. Procédez de même pour chaque microservice. Transférez les images nouvellement balisées vers le référentiel.

Ops

Créez un CloudFormation modèle AWS.

Créez un CloudFormation modèle AWS pour approvisionner le cloud privé virtuel (VPC), le cluster Amazon ECS et Amazon Relational Database Service (Amazon RDS).

Ops

Créez un CloudFormation modèle AWS pour configurer un cluster Amazon ECS afin d'héberger les microservices Java

TâcheDescriptionCompétences requises

Provisionnez une instance Amazon EC2 Linux, installez Docker et créez un fichier Docker pour chaque microservice.

Ops

Configurez des images Docker sur Amazon ECR.

Utilisez le Dockerfile pour l'image à envoyer, créez l'image et balisez-la pour votre nouveau référentiel. Procédez de même pour chaque microservice. Transférez les images nouvellement balisées vers le référentiel.

Ops

Créez un CloudFormation modèle AWS.

Créez un CloudFormation modèle AWS pour approvisionner le cloud privé virtuel (VPC), le cluster Amazon ECS et Amazon Relational Database Service (Amazon RDS).

Ops
TâcheDescriptionCompétences requises

Créez l'infrastructure AWS à l'aide du CloudFormation modèle que vous avez créé précédemment.

Utilisez le script Python situé à l' https://github.com/awslabs/amazon-ecs-java-microservicesadresse/blob/master/2_ECS_Java_Spring_PetClinic_Microservices/setup.py pour appeler le CloudFormation modèle AWS que vous avez créé précédemment. Ce modèle crée l'infrastructure AWS dont vous avez besoin pour l'environnement cible.

Ops

Créez des référentiels, des tâches, des services Amazon ECR, l'Application Load Balancer et des groupes cibles.

Le script Python lit les sorties du CloudFormation modèle AWS et utilise des appels d' BOTO3 API pour créer des référentiels Amazon ECR, des tâches, des services, l'Application Load Balancer et des groupes cibles.

Ops

Fournir des services AWS

TâcheDescriptionCompétences requises

Créez l'infrastructure AWS à l'aide du CloudFormation modèle que vous avez créé précédemment.

Utilisez le script Python situé à l' https://github.com/awslabs/amazon-ecs-java-microservicesadresse/blob/master/2_ECS_Java_Spring_PetClinic_Microservices/setup.py pour appeler le CloudFormation modèle AWS que vous avez créé précédemment. Ce modèle crée l'infrastructure AWS dont vous avez besoin pour l'environnement cible.

Ops

Créez des référentiels, des tâches, des services Amazon ECR, l'Application Load Balancer et des groupes cibles.

Le script Python lit les sorties du CloudFormation modèle AWS et utilise des appels d' BOTO3 API pour créer des référentiels Amazon ECR, des tâches, des services, l'Application Load Balancer et des groupes cibles.

Ops

Ressources connexes

ConfidentialitéConditions d'utilisation du sitePréférences de cookies
© 2025, Amazon Web Services, Inc. ou ses affiliés. Tous droits réservés.