Selecione suas preferências de cookies

Usamos cookies essenciais e ferramentas semelhantes que são necessárias para fornecer nosso site e serviços. Usamos cookies de desempenho para coletar estatísticas anônimas, para que possamos entender como os clientes usam nosso site e fazer as devidas melhorias. Cookies essenciais não podem ser desativados, mas você pode clicar em “Personalizar” ou “Recusar” para recusar cookies de desempenho.

Se você concordar, a AWS e terceiros aprovados também usarão cookies para fornecer recursos úteis do site, lembrar suas preferências e exibir conteúdo relevante, incluindo publicidade relevante. Para aceitar ou recusar todos os cookies não essenciais, clique em “Aceitar” ou “Recusar”. Para fazer escolhas mais detalhadas, clique em “Personalizar”.

Implantar microsserviços Java no Amazon ECS usando o Amazon ECR e o balanceamento de carga - Recomendações da AWS

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Implantar microsserviços Java no Amazon ECS usando o Amazon ECR e o balanceamento de carga

Criado por Durga Prasad Cheepuri (AWS)

Resumo

Este padrão descreve as etapas para a implantação de uma arquitetura de microsserviços Java em contêineres no Amazon Elastic Container Service (Amazon ECS) para facilitar a escalabilidade e agilizar o desenvolvimento de seus aplicativos. Isso ajuda a viabilizar a inovação e acelera a time-to-market criação de novos recursos. 

O padrão também usa o Amazon Elastic Container Registry (Amazon ECR) para armazenar e gerenciar os contêineres baseados em Docker e um CloudFormation modelo da AWS com um script Python para automatizar a configuração da sua infraestrutura. O padrão é baseado na postagem Deploying Java Microservices on Amazon Elastic Container Service (Implantação de microsserviços Java no Amazon Elastic Container Service, publicada no blog AWS Compute.

Os microsserviços fornecem uma abordagem arquitetônica e organizacional para o desenvolvimento de software, na qual o software é composto por serviços pequenos e independentes que se comunicam por meio de interfaces de programação de aplicativos bem definidas ()APIs. Equipes pequenas e independentes são proprietárias desses serviços. 

O Amazon ECS é um serviço de orquestração de contêineres altamente escalável e de alto desempenho. Ele oferece suporte a contêineres do Docker e permite que você execute e escale aplicativos em contêineres na AWS rapidamente. Com o Amazon ECS, você não precisa mais instalar e operar seu software de orquestração de contêineres, gerenciar e escalar um cluster de máquinas virtuais (VMs) ou programar contêineres nelas. VMs

Com chamadas de API simples, você pode iniciar e interromper aplicativos habilitados para Docker, consultar o estado completo da sua solicitação e acessar muitos recursos naturais, como funções do AWS Identity and Access Management (IAM), grupos de segurança, balanceadores de carga, Amazon CloudWatch Events, modelos da AWS e CloudFormation registros da AWS. CloudTrail

Pré-requisitos e limitações

Pré-requisitos

  • Uma conta AWS ativa  

  • Código-fonte de microsserviços Java, com o Java Development Kit versão 1.7 ou mais recente

  • Uma chave de acesso e uma chave de acesso secreta para um usuário na conta

  • AWS Command Line Interface (AWS CLI)

  • Java, kit de desenvolvimento de software (SDK) da AWS para Python (Boto3) e software Docker

  • Familiaridade com o uso das tecnologias anteriores

  • Familiaridade com os serviços da AWS, como Amazon ECS CloudFormation, AWS e Elastic Load Balancing

Arquitetura

Pilha de tecnologia de origem

  • Microsserviços implementados em Java e implantados no Apache Tomcat em um ambiente on-premises

Pilha de tecnologias de destino

  • O Application Load Balancer que inspeciona a solicitação do cliente. Com base nas regras de roteamento, o balanceador de carga direciona a solicitação para uma instância e porta do grupo de destino que corresponda ao estado.

  • Um grupo de destino para cada microsserviço. Os grupos de destino são usados pelos serviços correspondentes para registrar as instâncias de contêiner disponíveis. Cada grupo de destino tem um caminho, então, quando você chama o caminho para um microsserviço específico, ele mapeia para o grupo de destino correto. Isso permite que você use um Application Load Balancer para atender a todos os microsserviços acessados pelo caminho. Por exemplo, https:///owner/ * mapearia e direcionaria para o microsserviço do proprietário.

  • Um cluster do Amazon ECS que hospeda os contêineres de cada microsserviço.

  • Uma rede Amazon Virtual Private Cloud (Amazon VPC) para hospedar o cluster do Amazon ECS e grupos de segurança associados.

  • Um repositório Amazon Elastic Container Registry (Amazon ECR) para cada microsserviço.

  • Uma definição de serviço ou tarefa para cada microsserviço, que gera contêineres nas instâncias do cluster Amazon ECS.

Arquitetura de destino

Etapas para implantar uma arquitetura de microsserviços Java em contêineres no Amazon ECS.

Ferramentas

  • Amazon ECS — O Amazon ECS permite que você inicie e interrompa aplicativos baseados em contêineres com chamadas de API simples, permite que você obtenha o estado do seu cluster a partir de um serviço centralizado e oferece acesso a muitos recursos familiares da Amazon Elastic Compute Cloud (Amazon). EC2

  • Amazon ECR: o Amazon Elastic Container Registry (Amazon ECR) é um registro totalmente gerenciado que facilita aos desenvolvedores o armazenamento, o gerenciamento e a implantação de imagens de contêiner do Docker. O Amazon ECR é integrado ao Amazon ECS para simplificar seu development-to-production fluxo de trabalho. O Amazon ECR hospeda as imagens em uma arquitetura altamente disponível e escalável, o que permite que você implante contêineres para seus aplicativos. A integração com o AWS Identity and Access Management (IAM) fornece controle em nível de recurso de cada repositório.

Épicos

TarefaDescriçãoHabilidades necessárias

Provisione uma instância Amazon EC2 Linux, instale o Docker e crie um arquivo Docker para cada microsserviço.

Ops

Configure imagens do Docker no Amazon ECR.

Use o um Dockerfile para a imagem a ser enviada, compile a imagem e marque-a para o novo repositório. Faça o mesmo para cada microsserviço. Envie a imagem recentemente marcada ao repositório.

Ops

Crie um CloudFormation modelo da AWS.

Crie um CloudFormation modelo da AWS para provisionar a nuvem privada virtual (VPC), o cluster Amazon ECS e o Amazon Relational Database Service (Amazon RDS).

Ops

Crie um CloudFormation modelo da AWS para configurar um cluster do Amazon ECS para hospedar os microsserviços Java

TarefaDescriçãoHabilidades necessárias

Provisione uma instância Amazon EC2 Linux, instale o Docker e crie um arquivo Docker para cada microsserviço.

Ops

Configure imagens do Docker no Amazon ECR.

Use o um Dockerfile para a imagem a ser enviada, compile a imagem e marque-a para o novo repositório. Faça o mesmo para cada microsserviço. Envie a imagem recentemente marcada ao repositório.

Ops

Crie um CloudFormation modelo da AWS.

Crie um CloudFormation modelo da AWS para provisionar a nuvem privada virtual (VPC), o cluster Amazon ECS e o Amazon Relational Database Service (Amazon RDS).

Ops
TarefaDescriçãoHabilidades necessárias

Crie a infraestrutura da AWS usando o CloudFormation modelo que você criou anteriormente.

Use o script Python em https://github.com/awslabs/ amazon-ecs-java-microservices blob/master/2_ECS_Java_Spring_PetClinic_Microservices/setup /.py para invocar o modelo da CloudFormation AWS que você criou anteriormente. Esse modelo cria a infraestrutura da AWS de que você precisa para o ambiente de destino.

Ops

Crie repositórios, tarefas, serviços, o Application Load Balancer e grupos de destino do Amazon ECR.

O script Python lê as saídas do CloudFormation modelo da AWS e usa chamadas de BOTO3 API para criar repositórios, tarefas, serviços, o Application Load Balancer e grupos-alvo do Amazon ECR.

Ops

Provisione serviços da AWS

TarefaDescriçãoHabilidades necessárias

Crie a infraestrutura da AWS usando o CloudFormation modelo que você criou anteriormente.

Use o script Python em https://github.com/awslabs/ amazon-ecs-java-microservices blob/master/2_ECS_Java_Spring_PetClinic_Microservices/setup /.py para invocar o modelo da CloudFormation AWS que você criou anteriormente. Esse modelo cria a infraestrutura da AWS de que você precisa para o ambiente de destino.

Ops

Crie repositórios, tarefas, serviços, o Application Load Balancer e grupos de destino do Amazon ECR.

O script Python lê as saídas do CloudFormation modelo da AWS e usa chamadas de BOTO3 API para criar repositórios, tarefas, serviços, o Application Load Balancer e grupos-alvo do Amazon ECR.

Ops

Recursos relacionados

PrivacidadeTermos do sitePreferências de cookies
© 2025, Amazon Web Services, Inc. ou suas afiliadas. Todos os direitos reservados.