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á.
Implante microsserviços Java no Amazon ECS usando 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
Esse padrão fornece orientação para implantar microsserviços Java em contêineres no Amazon Elastic Container Service (Amazon ECS) usando o AWS Fargate. O padrão não usa o Amazon Elastic Container Registry (Amazon ECR) para gerenciamento de contêineres; em vez disso, as imagens do Docker são extraídas do hub do Docker.
Pré-requisitos e limitações
Pré-requisitos
Um aplicativo de microsserviços Java existente em um hub do Docker
Um repositório público do Docker
Uma conta AWS ativa
Familiaridade com os serviços da AWS, incluindo Amazon ECS e Fargate
Estrutura Docker, Java e Spring Boot
Amazon Relational Database Service (Amazon RDS) instalado e em execução (opcional)
Uma nuvem privada virtual (VPC) se o aplicativo exigir o Amazon RDS (opcional)
Arquitetura
Pilha de tecnologia de origem
Microsserviços Java (por exemplo, implementados no Spring Boot) e implantados no Docker
Arquitetura de origem
Pilha de tecnologias de destino
Um cluster do Amazon ECS que hospeda cada microsserviço usando o Fargate
Uma rede VPC para hospedar o cluster do Amazon ECS e os grupos de segurança associados
Uma definição de cluster/tarefa para cada microsserviço que gera contêineres usando o Fargate
Arquitetura de destino
Ferramentas
Ferramentas
O Amazon ECS elimina a necessidade de instalar e operar seu próprio software de orquestração de contêineres, gerenciar e escalar um cluster de máquinas virtuais ou programar contêineres nessas máquinas virtuais.
O AWS Fargate ajuda você a executar contêineres sem precisar gerenciar servidores ou instâncias do Amazon Elastic Compute Cloud (Amazon EC2). É usado em conjunto com o Amazon Elastic Container Service (Amazon ECS).
Docker
é uma plataforma de software que permite criar, testar e implantar aplicativos rapidamente. O Docker empacota o software em unidades padronizadas chamadas contêineres que têm tudo o que o software precisa para ser executado, incluindo bibliotecas, ferramentas do sistema, código e runtime.
Código Docker
O Dockerfile a seguir especifica a versão do Java Development Kit (JDK) usada, onde o arquivo Java (JAR) existe, o número da porta exposta e o ponto de entrada do aplicativo.
FROM openjdk:11 ADD target/Spring-docker.jar Spring-docker.jar EXPOSE 8080 ENTRYPOINT ["java","-jar","Spring-docker.jar"]
Épicos
Tarefa | Descrição | Habilidades 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/ | Administrador de sistemas da AWS, desenvolvedor de aplicativos |
Escolha o tipo de inicialização. | Escolha Fargate como o tipo de lançamento. | Administrador de sistemas da AWS, desenvolvedor de aplicativos |
Configure a tarefa. | Defina um nome de tarefa e configure o aplicativo com a quantidade adequada de memória de tarefa e CPU. | Administrador de sistemas da AWS, desenvolvedor de aplicativos |
Defina o contêiner. | Especifique o nome do contêiner. Para a imagem, insira o nome do site do Docker, o nome do repositório e o nome da tag da imagem do Docker ( | Administrador de sistemas da AWS, desenvolvedor de aplicativos |
Crie a tarefa. | Quando as configurações da tarefa e do contêiner estiverem prontas, crie a tarefa. Para obter instruções, consulte os links na seção Recursos relacionados. | Administrador de sistemas da AWS, desenvolvedor de aplicativos |
Tarefa | Descrição | Habilidades necessárias |
---|---|---|
Criar e configurar um cluster. | Escolha Rede somente como o tipo de cluster, configure o nome e, em seguida, crie o cluster ou use um cluster existente, se disponível. Para mais informações, consulte a documentação do Amazon ECS. | Administrador de sistemas da AWS, desenvolvedor de aplicativos |
Tarefa | Descrição | Habilidades necessárias |
---|---|---|
Crie uma tarefa. | Dentro do cluster, escolha Executar nova tarefa. | Administrador de sistemas da AWS, desenvolvedor de aplicativos |
Escolha o tipo de inicialização. | Escolha Fargate como o tipo de lançamento. | Administrador de sistemas da AWS, desenvolvedor de aplicativos |
Escolha a definição da tarefa, a revisão e a versão da plataforma. | Escolha a tarefa que você deseja executar, a revisão da definição da tarefa e a versão da plataforma. | Administrador de sistemas da AWS, desenvolvedor de aplicativos |
Selecione o cluster. | Escolha o cluster do qual você deseja executar a tarefa. | Administrador de sistemas da AWS, desenvolvedor de aplicativos |
Especifique o número de tarefas. | Configure o número de tarefas que devem ser executadas. Se você estiver iniciando com duas ou mais tarefas, é necessário um balanceador de carga para distribuir o tráfego entre as tarefas. | Administrador de sistemas da AWS, desenvolvedor de aplicativos |
Especifique o grupo de tarefas. | (Opcional) Especifique um nome de grupo de tarefas para identificar um conjunto de tarefas relacionadas como um grupo de tarefas. | Administrador de sistemas da AWS, desenvolvedor de aplicativos |
Configure as sub-redes e os grupos de segurança da VPC do cluster. | Configure a VPC do cluster e as sub-redes nas quais você deseja implantar a aplicação. Crie ou atualize grupos de segurança (HTTP, HTTPS e porta 8080) para fornecer acesso às conexões de entrada e saída. | Administrador de sistemas da AWS, desenvolvedor de aplicativos |
Defina as configurações de IP público. | Ative ou desative o IP público, dependendo se você deseja usar um endereço IP público para tarefas do Fargate. Por padrão, a opção recomendada é Ativado. | Administrador de sistemas da AWS, desenvolvedor de aplicativos |
Revise as configurações e crie a tarefa. | Revise as configurações e, em seguida, escolha Concluir. | Administrador de sistemas da AWS, desenvolvedor de aplicativos |
Tarefa | Descrição | Habilidades necessárias |
---|---|---|
Copie o URL do aplicativo. | Quando o status da tarefa for atualizado para Em execução, selecione a tarefa. Na seção Rede, copie o IP público. | Administrador de sistemas da AWS, desenvolvedor de aplicativos |
Teste seu aplicativo. | No seu navegador, insira o IP público para testar o aplicativo. | Administrador de sistemas da AWS, desenvolvedor de aplicativos |
Recursos relacionados
Noções básicas do Docker para Amazon ECS (documentação do Amazon ECS)
Amazon ECS no AWS Fargate (documentação do Amazon ECS)
Criação de uma definição de tarefa (documentação do Amazon ECS)
Criação de um cluster (documentação do Amazon ECS)
Configurando parâmetros básicos de serviço (documentação do Amazon ECS)
Configurando uma rede (documentação do Amazon ECS)
Implantação de microsserviços Java no Amazon ECS
(postagem do blog)