Implantar microsserviços Java no Amazon ECS usando o Amazon ECR e o AWS Fargate - 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á.

Implantar microsserviços Java no Amazon ECS usando o Amazon ECR e o AWS Fargate

Criado por Vijay Thompson (AWS) e Sandeep Bondugula (AWS)

Ambiente: PoC ou piloto

Origem: contêineres

Destino: Amazon ECS

Tipo R: N/A

Tecnologias: contêineres e microsserviços; aplicativos móveis e da Web

Serviços da AWS: Amazon ECS

Resumo

Este padrão orienta você pelas etapas de implantação de microsserviços Java como aplicações em contêineres no Amazon Elastic Container Service (Amazon ECS). O padrão também usa o Amazon Elastic Container Registry (Amazon ECR) para gerenciar o contêiner e o AWS Fargate para executar o contêiner.

Pré-requisitos e limitações

Pré-requisitos

  • Um aplicativo de microsserviços Java existente executado on- premises no Docker

  • Uma conta AWS ativa

  • Familiaridade com o Amazon ECR, o Amazon ECS, o AWS Fargate e AWS Command Line Interface (AWS CLI)

  • Familiaridade com os softwares Java e Docker

Versões do produto

  • AWS CLI versão 1.7 ou mais recente

Arquitetura

Pilha de tecnologia de origem

  • Microsserviços Java (por exemplo, desenvolvidos usando o Spring Boot) e implantados on-premises

  • Docker

Arquitetura de origem

Arquitetura de origem para implantação de microsserviços Java no Amazon ECS

Pilha de tecnologias de destino

  • Amazon ECR

  • Amazon ECS

  • AWS Fargate

Arquitetura de destino

Arquitetura de destino para implantação de microsserviços Java no Amazon ECS

Ferramentas

Ferramentas

Código

O seguinte DockerFile especifica a versão do Java Development Kit (JDK) usada, onde existe o arquivo Java archive (JAR), o número da porta exposta e o ponto de entrada do aplicativo.

FROM openjdk:8 ADD target/Spring-docker.jar Spring-docker.jar EXPOSE 8080 ENTRYPOINT ["java","-jar","Spring-docker.jar"]

Épicos

TarefaDescriçãoHabilidades necessárias

Criar um repositório.

Faça login no Console de Gerenciamento da AWS e abra o console do Amazon ECR em https://console.aws.amazon.com/ecr/repositories. Criar um repositório privado. Para obter instruções, consulte Criar um repositório privado na documentação do Amazon ECR.

Desenvolvedor, administrador do sistema

Faça o upload do projeto.

Abra o repositório e escolha Exibir comandos push. Siga as etapas exibidas para carregar o projeto. (Essas etapas funcionam somente quando você usa a AWS CLI versão 1.7 ou mais recente.) Quando o upload estiver concluído, copie a URL da compilação no repositório. Você verá esse URL é obrigatório quando você cria um contêiner no Amazon ECS.

Desenvolvedor, administrador do sistema
TarefaDescriçãoHabilidades necessárias

Crie uma definição de tarefa.

É necessária uma definição de tarefa para executar contêineres do Docker no Amazon ECS. Abra o console do Amazon ECS em https://console.aws.amazon.com/ecs/, escolha Definições de tarefas e crie uma nova definição de tarefa. Para obter mais informações, consulte Criar uma definição de tarefa na documentação do Amazon ECR.

Desenvolvedor, administrador do sistema

Escolha o tipo de inicialização.

Escolha Fargate como o tipo de inicialização.

Desenvolvedor, administrador do sistema

Configure a tarefa.

Defina um nome de tarefa e configure o aplicativo com a quantidade adequada de memória de tarefa e CPU.

Desenvolvedor, administrador do sistema

Defina o contêiner.

Adicione o contêiner, fornecendo um nome, a URL do repositório Amazon ECR, limites de memória e mapeamento de portas. As portas 8080 e 80 são configuradas para mapeamentos de portas. Defina as configurações restantes com base nos requisitos da sua aplicação.

Desenvolvedor, administrador do sistema

Crie a tarefa.

Quando as configurações da tarefa e do contêiner estiverem prontas, crie a tarefa. Para obter instruções detalhadas, consulte os links na seção Recursos relacionados.

Desenvolvedor, administrador do sistema
TarefaDescriçãoHabilidades necessárias

Crie ou escolha um cluster.

Um cluster do Amazon ECS oferece um agrupamento lógico de tarefas ou serviços. Você pode optar por usar um cluster existente ou criar um novo cluster. Se você decidir criar um novo cluster, escolha o tipo de cluster com base em seus requisitos. Em nosso exemplo, selecionamos um cluster de rede. Forneça um nome para o cluster e escolha se você deseja criar uma nova nuvem privada virtual (VPC) para usar nas tarefas do Fargate.

Desenvolvedor, administrador do sistema

Crie um serviço.

Dentro do cluster, escolha Criar serviço.

Desenvolvedor, administrador do sistema

Escolha o tipo de inicialização.

Escolha Fargate como o tipo de inicialização.

Desenvolvedor, administrador do sistema

Escolha a definição da tarefa, a revisão e a versão da plataforma.

Escolha a tarefa que você deseja executar, seguida pela revisão da definição da tarefa e da versão da plataforma.

Desenvolvedor, administrador do sistema

Selecione o cluster.

Selecione o cluster no qual criar seu serviço na lista suspensa.

Desenvolvedor, administrador do sistema

Forneça um nome de serviço.

Forneça um nome exclusivo para o serviço que você está criando.

Desenvolvedor, administrador do sistema

Especifique o número de tarefas.

Configure o número de tarefas que devem ser executadas quando o serviço for inicializado. Se você estiver inicializando com duas ou mais tarefas, é necessário um balanceador de carga para balancear as tarefas. O número mínimo de tarefas a serem configuradas é Um.

Desenvolvedor, administrador do sistema

Defina as porcentagens mínima e máxima de integridade.

Configure as porcentagens mínimas e máximas de integridade da aplicação ou aceite a opção padrão fornecida.

Desenvolvedor, administrador do sistema

Defina as configurações de implantação.

Escolha o tipo de implantação dependendo dos seus requisitos. É possível escolher uma atualização contínua ou uma implantação azul/verde.

Desenvolvedor, administrador do sistema

Configure as sub-redes e os grupos de segurança da VPC do cluster.

Configure o cluster VPC, as sub-redes nas quais você deseja implantar o aplicativo e os grupos de segurança (HTTP, HTTPS e porta 8080) para fornecer acesso às conexões de entrada/saída.

Desenvolvedor, administrador do sistema

Defina as configurações de IP público.

Ative ou desative o IP público, dependendo da sua necessidade em usar um endereço IP público para tarefas do Fargate.

Desenvolvedor, administrador do sistema

Configure o balanceamento de carga.

Configure o balanceador de carga se você estiver inicializando o serviço com mais de uma tarefa. Você deve criar um balanceador de carga e seu grupo de destino antes de inicializar o serviço.

Desenvolvedor, administrador do sistema

Configure a escalabilidade automática.

Defina seu serviço para usar o Amazon ECS Service Auto Scaling para aumentar ou diminuir o número desejado de tarefas, dependendo de seus requisitos.

Desenvolvedor, administrador do sistema

Revise as configurações e crie o serviço.

Revise as configurações do serviço e, em seguida, escolha Criar serviço.

Desenvolvedor, administrador do sistema
TarefaDescriçãoHabilidades necessárias

Testar seu aplicativo

Teste o aplicativo usando o DNS público criado quando a tarefa for implantada. Se o aplicativo tiver um balanceador de carga, teste o aplicativo usando-o e, em seguida, faça a substituição.

Desenvolvedor, administrador do sistema

Recursos relacionados