Usar a plataforma Java SE do 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á.

Usar a plataforma Java SE do Elastic Beanstalk

A plataforma Java SE do AWS Elastic Beanstalk é um conjunto de versões de plataforma para aplicativos web em Java que podem ser executados por conta própria em um arquivo JAR compilado. Você pode compilar seu aplicativo localmente ou fazer o upload do código-fonte com um script de compilação para compilá-lo na instância. As versões da plataforma Java SE são agrupadas em ramificações da plataforma, cada uma das quais corresponde a uma versão principal do Java, por exemplo Java 8 e Java 7.

nota

O Elastic Beanstalk não analisa o arquivo JAR da sua aplicação. Mantenha os arquivos de que o Elastic Beanstalk precisa fora do arquivo JAR. Por exemplo, inclua o arquivo cron.yaml de um ambiente de trabalho na raiz do pacote de origem do seu aplicativo, ao lado do arquivo JAR.

As opções de configuração estão disponíveis no console do Elastic Beanstalk para modificar a configuração de um ambiente em execução. Para evitar a perda da configuração do ambiente quando você terminá-la, você pode usar configurações salvas para salvar as configurações e depois aplicá-las a outro ambiente.

Para salvar as configurações no código-fonte, você pode incluir arquivos de configuração. As definições em arquivos de configuração são aplicadas sempre que você cria um ambiente ou implementa a aplicação. Você também pode usar arquivos de configuração para instalar pacotes, executar scripts e realizar outras operações de personalização da instância em implantações.

A plataforma Java SE do Elastic Beanstalk inclui um servidor nginx que atua como um proxy reverso, suprindo conteúdo estático em cache e enviando solicitações à aplicação. A plataforma também oferece opções de configuração para definir o servidor de proxy para suprir os ativos estáticos de uma pasta em seu código-fonte para reduzir a carga em seu aplicativo. Em cenários avançados, você pode incluir seus próprios arquivos .conf em seu pacote de origem para estender a configuração de proxy do Elastic Beanstalk; ou substituí-la completamente.

Se você fornecer somente um único arquivo JAR para a origem da aplicação (por conta própria, não dentro de um pacote de origem), o Elastic Beanstalk altera o nome do arquivo JAR para application.jar e o executa usando java -jar application.jar. Para configurar os processos que são executados em instâncias do servidor em seu ambiente, inclua um Procfile opcional em seu pacote de origem. Um Procfile será necessário se você tiver mais de um JAR na raiz do pacote de origem, ou se desejar personalizar o comando Java para definir opções de JVM.

Recomendamos sempre fornecer um Procfile no pacote de origem juntamente com o aplicativo. Dessa forma, você controla com precisão quais processos são executados pelo Elastic Beanstalk para o aplicativo e quais argumentos são recebidos por esses processos.

Para compilar classes Java e executar outros comandos de build nas instâncias do EC2 em seu ambiente no momento da implantação, inclua um Buildfile no pacote de origem do aplicativo. O Buildfile permite que você implante o código-fonte no estado em que se encontra e crie no servidor, em vez de compilar os JARs localmente. A plataforma Java SE inclui ferramentas de build comuns para permitir que você crie no servidor.

Para obter detalhes sobre as várias maneiras de estender uma plataforma do Elastic Beanstalk baseada em Linux, consulte Estender as plataformas Linux do Elastic Beanstalk.

Configurar o ambiente Java SE

As configurações da plataforma Java SE permitem que você ajuste o comportamento das instâncias do Amazon EC2. É possível editar a configuração da instância do Amazon EC2 do ambiente do Elastic Beanstalk usando o console do Elastic Beanstalk.

Você pode usar o console do Elastic Beanstalk para habilitar a alternância de logs para o Amazon S3 e configurar variáveis que sua aplicação pode ler no ambiente.

Como configurar seu ambiente Java SE no console do Elastic Beanstalk
  1. Abra o console do Elastic Beanstalk e, na lista Regions (Regiões), selecione a sua Região da AWS.

  2. No painel de navegação, selecione Ambientes e selecione o nome do ambiente na lista.

    nota

    Se você tiver muitos ambientes, use a barra de pesquisa para filtrar a lista de ambientes.

  3. No painel de navegação, escolha Configuration (Configuração).

  4. Na categoria de configuração Updates, monitoring, and logging (Atualizações, monitoramento e logs), escolha Edit (Editar).

Opções de log

A seção Log Options tem duas configurações:

  • Instance profile (Perfil da instância): especifica o perfil da instância que tem permissão para acessar o bucket do Amazon S3 associado à sua aplicação.

  • Enable log file rotation to Amazon S3 (Habilitar a rotação de arquivos de log para o Amazon S3): especifica se os arquivos de log das instâncias do Amazon EC2 da aplicação serão copiados para o bucket do Amazon S3 associado a ela.

Arquivos estáticos

Para melhorar a performance, você pode usar a seção Static files (Arquivos estáticos) para configurar o servidor proxy para servir arquivos estáticos (por exemplo, HTML ou imagens) de um conjunto de diretórios dentro da aplicação Web. Defina, para cada diretório, o caminho virtual para mapeamento de diretórios. Quando o servidor de proxy recebe uma solicitação para um arquivo no caminho especificado, ele atende o arquivo diretamente em vez de rotear solicitação para seu aplicativo.

Para ver detalhes sobre como configurar arquivos estáticos usando arquivos de configuração ou o console do Elastic Beanstalk, consulte Fornecer arquivos estáticos.

Propriedades de ambiente

A seção Environment Properties permite que você especifique definições de configuração do ambiente nas instâncias do Amazon EC2 que estão executando seu aplicativo. As propriedades de ambiente são passadas para o aplicativo como pares de chave-valor.

No ambiente Java SE executado no Elastic Beanstalk, as variáveis de ambiente podem ser acessadas usando System.getenv(). Por exemplo, você pode ler uma propriedade denominada API_ENDPOINT em uma variável com o seguinte código:

String endpoint = System.getenv("API_ENDPOINT");

Consulte Propriedades de ambientes e outras configurações de software para obter mais informações.

Namespace de configuração do Java SE

Você pode usar um arquivo de configuração para definir opções de configuração e executar outras tarefas de configuração de instância durante implantações. As opções de configuração podem ser definidas pelo serviço Elastic Beanstalk ou pela plataforma utilizada, e são organizadas em namespaces.

A plataforma Java SE não define nenhum namespace específico da plataforma. É possível configurar o proxy para servir arquivos estáticos usando o namespace aws:elasticbeanstalk:environment:proxy:staticfiles. Para obter detalhes e um exemplo, consulte Fornecer arquivos estáticos.

O Elastic Beanstalk oferece muitas opções de configuração para personalizar o ambiente. Além de arquivos de configuração, você também pode definir opções de configuração usando o console, configurações salvas, a EB CLI ou a AWS CLI. Consulte Opções de configuração para obter mais informações.

Se o seu ambiente Java SE do Elastic Beanstalk usa uma versão da plataforma da AMI do Amazon Linux (anterior ao Amazon Linux 2), leia as informações adicionais nesta seção.

Observações
  • As informações neste tópico somente são aplicáveis a ramificações de plataforma com base na Amazon Linux AMI (AL1). As ramificações de plataforma AL2023/AL2 são incompatíveis com as versões anteriores da plataforma Amazon Linux AMI (AL1) e exigem definições de configuração diferentes.

  • Em 18 de julho de 2022, o Elastic Beanstalk definiu o status de todas as ramificações de plataforma baseadas no Amazon Linux AMI (AL1) como descontinuadas. Para obter mais informações sobre como migrar para uma ramificação da plataforma Amazon Linux 2023 atual e totalmente compatível, consulte Migrar a aplicação Linux do Elastic Beanstalk para o Amazon Linux 2023 ou Amazon Linux 2.

Você pode usar um arquivo de configuração para definir opções de configuração e executar outras tarefas de configuração de instância durante implantações. As opções de configuração podem ser definidas pelo serviço Elastic Beanstalk ou pela plataforma utilizada, e são organizadas em namespaces.

A Plataforma Java SE oferece suporte a um namespace de configuração específico da Plataforma, além dos namespaces compatíveis com todas as Plataformas. O namespace aws:elasticbeanstalk:container:java:staticfiles permite que você defina opções que mapeiam os caminhos em seu aplicativo Web para as pastas em seu pacote de origem do aplicativo que incluem o conteúdo estático.

Por exemplo, este trecho de option_settings define duas opções no namespace de arquivos estáticos. A primeira mapeia o caminho /public para uma pasta denominada public, e a segunda mapeia o caminho /images para uma pasta denominada img:

option_settings: aws:elasticbeanstalk:container:java:staticfiles: /html: statichtml /images: staticimages

As pastas que você mapeia usando esse namespace devem ser pastas reais na raiz do seu pacote de origem. Você não pode mapear um caminho para uma pasta em um arquivo JAR.

O Elastic Beanstalk oferece muitas opções de configuração para personalizar o ambiente. Além de arquivos de configuração, você também pode definir opções de configuração usando o console, configurações salvas, a EB CLI ou a AWS CLI. Consulte Opções de configuração para obter mais informações.