QuickStart: Implante um aplicativo Java no Elastic Beanstalk - AWS Elastic Beanstalk

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á.

QuickStart: Implante um aplicativo Java no Elastic Beanstalk

Este QuickStart tutorial mostra o processo de criação de um aplicativo Java e sua implantação em um AWS Elastic Beanstalk meio ambiente.

nota

Este QuickStart tutorial é destinado para fins de demonstração. Não use o aplicativo criado neste tutorial para tráfego de produção.

Suas AWS conta

Se você ainda não é um AWS cliente, você precisa criar um AWS conta. A inscrição permite que você acesse o Elastic Beanstalk e outros AWS serviços que você precisa.

Se você já tem um AWS conta, para a qual você pode seguir em frentePré-requisitos.

Inscreva-se para um Conta da AWS

Se você não tiver um Conta da AWS, conclua as etapas a seguir para criar um.

Para se inscrever em um Conta da AWS
  1. Abra a https://portal.aws.amazon.com/billing/inscrição.

  2. Siga as instruções online.

    Parte do procedimento de inscrição envolve receber uma chamada telefônica e inserir um código de verificação no teclado do telefone.

    Quando você se inscreve em um Conta da AWS, um Usuário raiz da conta da AWSé criado. O usuário root tem acesso a todos Serviços da AWS e recursos na conta. Como prática recomendada de segurança, atribua o acesso administrativo a um usuário e use somente o usuário-raiz para executar tarefas que exigem acesso de usuário-raiz.

AWS envia um e-mail de confirmação após a conclusão do processo de inscrição. A qualquer momento, você pode visualizar a atividade atual da sua conta e gerenciar sua conta acessando https://aws.amazon.com/e escolhendo Minha conta.

Criar um usuário com acesso administrativo

Depois de se inscrever em um Conta da AWS, proteja seu Usuário raiz da conta da AWS, habilitar AWS IAM Identity Center e crie um usuário administrativo para que você não use o usuário root nas tarefas diárias.

Proteja seu Usuário raiz da conta da AWS
  1. Faça login no AWS Management Consolecomo proprietário da conta, escolhendo o usuário root e inserindo seu Conta da AWS endereço de e-mail. Na próxima página, insira sua senha.

    Para obter ajuda para fazer login usando o usuário root, consulte Como fazer login como usuário root no Início de Sessão da AWS Guia do usuário.

  2. Ative a autenticação multifator (MFA) para seu usuário root.

    Para obter instruções, consulte Habilitar um MFA dispositivo virtual para seu Conta da AWS usuário root (console) no Guia do IAM usuário.

Criar um usuário com acesso administrativo
  1. Ative o IAM Identity Center.

    Para obter instruções, consulte Habilitando AWS IAM Identity Center no AWS IAM Identity Center Guia do usuário.

  2. No IAM Identity Center, conceda acesso administrativo a um usuário.

    Para um tutorial sobre como usar o Diretório do Centro de Identidade do IAM como sua fonte de identidade, consulte Configurar o acesso do usuário com o padrão Diretório do Centro de Identidade do IAM no AWS IAM Identity Center Guia do usuário.

Iniciar sessão como o usuário com acesso administrativo
  • Para entrar com seu usuário do IAM Identity Center, use o login URL que foi enviado ao seu endereço de e-mail quando você criou o usuário do IAM Identity Center.

    Para obter ajuda para fazer login usando um usuário do IAM Identity Center, consulte Como fazer login no AWS portal de acesso no Início de Sessão da AWS Guia do usuário.

Atribuir acesso a usuários adicionais
  1. No IAM Identity Center, crie um conjunto de permissões que siga as melhores práticas de aplicação de permissões com privilégios mínimos.

    Para obter instruções, consulte Criar um conjunto de permissões no AWS IAM Identity Center Guia do usuário.

  2. Atribua usuários a um grupo e, em seguida, atribua o acesso de autenticação única ao grupo.

    Para obter instruções, consulte Adicionar grupos no AWS IAM Identity Center Guia do usuário.

Pré-requisitos

Para seguir os procedimentos neste manual, você precisa de um terminal de linha de comando ou de um shell para executar os comandos. Nas listagens, os comandos são mostrados precedidos por um símbolo de prompt ($) e pelo nome do diretório atual, quando apropriado.

~/eb-project$ this is a command this is output

No Linux e no macOS, você pode usar seu gerenciador de pacotes e de shell preferido. No Windows, você pode instalar o Windows Subsystem for Linux para obter uma versão integrada ao Windows do Ubuntu e do Bash.

EB CLI

Este tutorial usa a interface de linha de comando (EB) do Elastic Beanstalk. CLI Para obter detalhes sobre a instalação e configuração do EBCLI, consulte Instale a interface de linha de comando do Elastic Beanstalk e. Configurar a EB CLI

Java e Maven

Se você não tiver o Amazon Corretto instalado em sua máquina local, você pode instalá-lo seguindo as instruções de instalação no Guia do usuário do Amazon Corretto.

Verifique sua instalação do Java executando o comando a seguir.

~$ java -version

Este tutorial usa o Maven. Siga as instruções de download e instalação no site do Projeto Apache Maven. Para obter mais informações sobre o Maven, consulte o Centro de Usuários do Maven no site do Projeto Apache Maven.

Verifique sua instalação do Maven executando o comando a seguir.

~$ mvn -v

Etapa 1: criar um aplicativo Java

Crie um diretório do projeto.

~$ mkdir eb-java ~$ cd eb-java

Depois, crie uma aplicação a ser implantada usando o Elastic Beanstalk. Criaremos um serviço RESTful web “Hello World”.

Este exemplo usa a estrutura Spring Boot. Esse aplicativo abre um ouvinte na porta 5000. Por padrão, o Elastic Beanstalk encaminha solicitações para seu aplicativo na porta 5000.

Crie os seguintes arquivos:

Esse arquivo cria um aplicativo Spring Boot simples.

exemplo ~/eb-java/src/main/java/com/example/Application.java
package com.example; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } }

Esse arquivo cria um mapeamento que retorna uma string que definimos aqui.

exemplo ~/eb-java/src/main/java/com/example/Controller.java
package com.example; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; @RestController public class Controller { @GetMapping("/") public String index() { return "Hello Elastic Beanstalk!"; } }

Esse arquivo define a configuração do projeto Maven.

exemplo ~/eb-java/pom.xml
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>3.2.3</version> </parent> <groupId>com.example</groupId> <artifactId>BeanstalkJavaExample</artifactId> <version>1.0-SNAPSHOT</version> <properties> <java.version>21</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-rest</artifactId> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project>

Esse arquivo de propriedades substitui a porta padrão para 5000. Essa é a porta padrão para a qual o Elastic Beanstalk envia tráfego para aplicativos Java.

exemplo ~/eb-java/application.properties
server.port=5000

Etapa 2: Execute seu aplicativo localmente

Package seu aplicativo com o seguinte comando:

~/eb-java$ mvn clean package

Execute seu aplicativo localmente com o seguinte comando:

~/eb-java$ java -jar target/BeanstalkJavaExample-1.0-SNAPSHOT.jar

Enquanto o aplicativo estiver em execução, navegue até http://127.0.0.1:5000/ no seu navegador. Você deve ver o texto “Hello Elastic Beanstalk!”.

Etapa 3: implantar seu aplicativo Java com o EB CLI

Antes de implantar seu aplicativo Java no Elastic Beanstalk, vamos limpar o aplicativo de compilação do seu diretório e criar um Buildfile e um Procfile para controlar como o aplicativo é construído e executado em seu ambiente do Elastic Beanstalk.

Para preparar e configurar a implantação de aplicativos
  1. Limpe o aplicativo criado.

    ~/eb-java$ mvn clean
  2. Crie o Buildfile.

    exemplo ~/eb-java/Buildfile
    build: mvn clean package

    Isso Buildfile especifica o comando usado para criar seu aplicativo. Se você não incluir um Buildfile para um aplicativo Java, o Elastic Beanstalk não tentará criar seu aplicativo.

  3. Crie o Procfile.

    exemplo ~/eb-java/Procfile
    web: java -jar target/BeanstalkJavaExample-1.0-SNAPSHOT.jar

    Isso Procfile especifica o comando usado para executar seu aplicativo. Se você não incluir um Procfile para um aplicativo Java, o Elastic Beanstalk presume que JAR há um arquivo na raiz do seu pacote de origem e tenta executá-lo com o comando. java -jar

Agora que você configurou os arquivos de configuração para criar e iniciar seu aplicativo, você está pronto para implantá-lo.

Para criar um ambiente e implantar seu aplicativo Java
  1. Inicialize seu CLI repositório EB com o eb init comando.

    ~/eb-java eb init -p corretto java-tutorial --region us-east-2 Application java-tutorial has been created.

    Esse comando cria um aplicativo chamado java-tutorial e configura seu repositório local para criar ambientes com a versão mais recente da plataforma Java.

  2. (Opcional) Execute eb init novamente para configurar um par de chaves padrão para que você possa usar SSH para se conectar à EC2 instância que executa seu aplicativo.

    ~/eb-java$ eb init Do you want to set up SSH for your instances? (y/n): y Select a keypair. 1) my-keypair 2) [ Create new KeyPair ]

    Selecione um par de chaves se você já tiver um, ou siga os as instruções na tela para criar um. Se nenhum prompt aparecer ou se for necessário alterar as configurações posteriormente, execute eb init -i.

  3. Crie um ambiente e implante o aplicativo nele com eb create. O Elastic Beanstalk cria automaticamente um arquivo zip para seu aplicativo e o inicia na porta 5000.

    ~/eb-java$ eb create java-env

    O Elastic Beanstalk leva cerca de cinco minutos para criar seu ambiente.

Etapa 4: Execute seu aplicativo no Elastic Beanstalk

Quando o processo de criação de seu ambiente for concluído, abra seu site comeb open.

~/eb-java eb open

Parabéns! Você implantou um aplicativo Java com o Elastic Beanstalk! Isso abre uma janela do navegador usando o nome de domínio criado para o seu aplicativo.

Etapa 5: limpar

Você pode encerrar seu ambiente quando terminar de trabalhar com seu aplicativo. O Elastic Beanstalk encerra todos AWS recursos associados ao seu ambiente.

Para encerrar seu ambiente do Elastic Beanstalk com CLI o EB, execute o comando a seguir.

~/eb-java$ eb terminate

AWS recursos para seu aplicativo

Você acabou de criar um aplicativo de instância única. Ele serve como um aplicativo de amostra simples com uma única EC2 instância, portanto, não requer balanceamento de carga ou escalonamento automático. Para aplicativos de instância única, o Elastic Beanstalk cria o seguinte AWS recursos:

  • EC2instância — Uma máquina EC2 virtual da Amazon configurada para executar aplicativos web na plataforma que você escolher.

    Cada plataforma executa um conjunto diferente de software, arquivos de configuração e scripts para oferecer suporte a uma versão de linguagem, framework, contêiner da Web específicos ou a uma combinação deles. A maioria das plataformas usa o Apache ou nginx como um proxy reverso que processa tráfego da web na frente do aplicativo web, encaminha solicitações para ele, atende ativos estáticos e gera logs de acesso e de erro.

  • Grupo de segurança da instância — Um grupo EC2 de segurança da Amazon configurado para permitir tráfego de entrada na porta 80. Esse recurso permite que o HTTP tráfego do balanceador de carga chegue à EC2 instância que executa seu aplicativo web. Por padrão, o tráfego não é permitido em outras portas.

  • Bucket do Amazon S3: um local de armazenamento do seu código-fonte, logs e outros artefatos criados quando o Elastic Beanstalk é utilizado.

  • CloudWatch Alarmes da Amazon — Dois CloudWatch alarmes que monitoram a carga nas instâncias em seu ambiente e são acionados se a carga for muito alta ou muito baixa. Quando um alarme é acionado, o seu grupo de Auto Scaling pode aumentar ou diminuir.

  • AWS CloudFormation stack — O Elastic Beanstalk usa AWS CloudFormation para iniciar os recursos em seu ambiente e propagar as alterações de configuração. Os recursos são definidos em um modelo que você pode visualizar no AWS CloudFormation console.

  • Nome de domínio — Um nome de domínio que direciona para seu aplicativo da web no formulário subdomain.region.elasticbeanstalk.com.

O Elastic Beanstalk gerencia todos esses recursos. Quando você encerra o ambiente, o Elastic Beanstalk encerra todos os recursos dele.

Próximas etapas

Depois que um ambiente estiver executando um aplicativo, você poderá implantar uma nova versão do aplicativo ou um aplicativo diferente a qualquer momento. A implantação de uma nova versão do aplicativo é muito rápida porque não exige provisionamento ou reinicialização de instâncias. EC2 Você também pode explorar seu novo ambiente usando o console do Elastic Beanstalk. Para obter etapas detalhadas, consulte Explore seu ambiente no capítulo Introdução deste guia.

Experimente mais tutoriais

Se você quiser experimentar outros tutoriais com diferentes aplicativos de exemplo, consulte. Exemplos de aplicativos e tutoriais

Depois de implantar um ou dois aplicativos de amostra e estar pronto para começar a desenvolver e executar aplicativos Java localmente, consulteConfigurar seu ambiente de desenvolvimento Java.

Implemente com o console do Elastic Beanstalk

Você também pode usar o console do Elastic Beanstalk para iniciar o aplicativo de amostra. Para obter etapas detalhadas, consulte Criar um aplicativo de exemplo no capítulo Introdução deste guia.