Saiba como começar a usar o 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á.

Saiba como começar a usar o Elastic Beanstalk

Com o Elastic Beanstalk, você pode implantar, monitorar e escalar aplicações e serviços web. Normalmente, você desenvolverá seu código localmente e o implantará nas instâncias do servidor Amazon EC2. Essas instâncias, também chamadas de ambientes, são executadas em plataformas que podem ser atualizadas por meio do console da AWS ou da linha de comando.

Para começar, recomendamos a implantação de uma aplicação de amostra pré-criada diretamente do console. Em seguida, você pode aprender como desenvolver localmente e implantar a partir da linha de comando no QuickStart: Implante um aplicativo PHP no Elastic Beanstalk.

Não há custo para usar o Elastic Beanstalk, mas as taxas padrão são aplicadas aos recursos da AWS que você cria durante o curso deste tutorial até que você os exclua no final. O total de cobranças geralmente é inferior a um dólar. Para obter informações sobre como minimizar as cobranças, consulte nível gratuito da AWS.

Depois de concluir este tutorial, você entenderá os fundamentos da criação, configuração, implantação, atualização e monitoramento de um aplicação do Elastic Beanstalk com ambientes executados em instâncias do Amazon EC2.

Duração estimada: 35-45 minutos

Arquitetura simplificada da aplicação Elastic Beanstalk com um ambiente de servidor web.

O que você desenvolverá

Sua primeira aplicação do Elastic Beanstalk consistirá em um único ambiente Amazon EC2 executando a amostra de PHP em uma plataforma gerenciada por PHP.

Aplicação Elastic Beanstalk

Uma aplicação do Elastic Beanstalk é um contêiner para componentes do Elastic Beanstalk, incluindo ambientes em que o código da sua aplicação é executado em plataformas fornecidas e gerenciadas pelo Elastic Beanstalk ou em contêineres personalizados fornecidos por você.

Environment

Um ambiente do Elastic Beanstalk é uma coleção de recursos da AWS que funcionam juntos, incluindo uma instância do Amazon EC2. Quando você cria um ambiente, o Elastic Beanstalk provisiona os recursos necessários na sua conta da AWS.

Plataforma

Uma plataforma é uma combinação de um sistema operacional, runtime da linguagem de programação, servidor Web, servidor de aplicações e componentes adicionais do Elastic Beanstalk. O Elastic Beanstalk fornece plataformas gerenciadas, ou você pode fornecer sua própria plataforma em um contêiner.

O Elastic Beanstalk é compatível com plataformas para diferentes linguagens de programação, servidores de aplicações e contêineres do Docker. Ao criar um ambiente, você precisa escolher a plataforma. Você pode atualizar a plataforma, mas não pode alterar a plataforma para um ambiente.

Alternar plataformas

Se precisar alterar as linguagens de programação, você deverá criar e mudar para um novo ambiente em uma plataforma diferente.

Etapa 1: Criar uma aplicação

Para criar seu exemplo de aplicação, você usará o assistente do console Create application (Criar aplicação). Ele cria uma aplicação do Elastic Beanstalk e inicia um ambiente nela.

Lembrete: um ambiente é um conjunto de recursos da AWS necessários para executar o código da sua aplicação.

Console do Elastic Beanstalk com seta apontando para o botão Criar aplicação.
Para criar um aplicativo.

  1. Abra o console do Elastic Beanstalk.

  2. Escolha Criar aplicativo.

  3. Em Application name (Nome da aplicação), insira getting-started-app.

O console fornece um processo de seis etapas para criar um aplicação e configurar um ambiente. Para esse início rápido, você só precisará se concentrar nas duas primeiras etapas e, em seguida, poderá avançar para revisar e criar sua aplicação e ambiente.

Para configurar um ambiente
  1. Em Informações do ambiente, para Nome do ambiente, insira gs-app-web-env.

  2. Em Plataforma, escolha a plataforma PHP.

  3. Para Código da aplicação e Predefinições, aceite os padrões (Aplicação de amostra e Instância única) e escolha Avançar.

Para configurar o acesso ao serviço

Em seguida, você precisa de dois perfis. Um perfil de serviço permite que o Elastic Beanstalk monitore suas instâncias do EC2 e realize o upgrade da plataforma do seu ambiente. Uma função de perfil de instância EC2 permite tarefas como gravar log e interagir com outros serviços.

Para criar ou selecionar o perfil de serviço
  1. Se você já criou um perfil de serviço e deseja escolher um perfil existente, selecione o valor na lista suspensa Perfil de serviço e pule o restante dessas etapas para criar um perfil de serviço.

  2. Se você não encontrar nenhum valor listado para Perfil de serviço ou quiser criar um novo, continue com as próximas etapas.

  3. Em Selecionar perfil, escolha Criar perfil.

  4. Em Tipo de entidade confiável, escolha Serviços da AWS.

  5. Para Caso de uso, escolha Elastic Beanstalk — Ambiente.

  6. Escolha Próximo.

  7. Verifique se as Políticas de permissões incluem o seguinte e escolha Avançar:

    • AWSElasticBeanstalkEnhancedHealth

    • AWSElasticBeanstalkManagedUpdatesCustomerRolePolicy

  8. Selecione Criar perfil.

  9. Volte para a guia Configurar acesso ao serviço, atualize a lista e selecione o perfil de serviço recém-criado.

Para criar ou selecionar um perfil de instância do EC2
  1. Se você já criou um perfil de instância do EC2 e deseja escolher um existente, selecione o valor no menu suspenso Perfil de instância do EC2 e pule o restante dessas etapas para criar um perfil de instância do EC2.

  2. Se você não vir nenhum valor listado para Perfil da instância do EC2 ou quiser criar um novo, continue com as próximas etapas.

  3. Selecione Criar perfil.

  4. Em Tipo de entidade confiável, escolha Serviços da AWS.

  5. Para Caso de uso, escolha Elastic Beanstalk — Computação.

  6. Escolha Próximo.

  7. Verifique se as Políticas de permissões incluem o seguinte e escolha Avançar:

    • AWSElasticBeanstalkWebTier

    • AWSElasticBeanstalkWorkerTier

    • AWSElasticBeanstalkMulticontainerDocker

  8. Selecione Criar perfil.

  9. Volte para a guia Configurar acesso ao serviço, atualize a lista e selecione o perfil de instância do EC2 recém-criado.

Para finalizar a configuração e a criação da sua aplicação
  1. Ignore Par de chaves do EC2.

    Mostraremos outras maneiras de se conectar às suas instâncias do Amazon EC2 por meio do console.

  2. Escolha Ir para revisão para passar por várias etapas opcionais.

    Etapas opcionais: rede, bancos de dados, parâmetros de escalabilidade, configuração avançada para atualizações, monitoramento e registro.

  3. Na página Revisão, que mostra um resumo de suas escolhas, escolha Enviar.

Parabéns!

Você criou uma aplicação e configurou um ambiente! Agora você precisa esperar a implantação dos recursos.

Etapa 2: implantar a aplicação

Quando você cria uma aplicação, o Elastic Beanstalk configura os ambientes para você. Você só precisa se sentar e esperar.

A implantação inicial pode levar até cinco minutos para criar os recursos. As atualizações levarão menos tempo porque somente as alterações serão implantadas na sua stack.

Imagem ilustrativa representando um processo de implantação

Quando você cria a aplicação demonstrativa, o Elastic Beanstalk cria os seguintes recursos da :

  • Instância do EC2: uma máquina virtual do Amazon EC2 configurada para executar aplicações Web na plataforma selecionada.

    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 Apache ou nginx como proxy reverso para encaminhar o tráfego da web para sua aplicação web, servir ativos estáticos e gerar logs de acesso e erros. Você pode se conectar às suas instâncias Amazon EC2 para visualizar a configuração e os logs.

  • Grupo de segurança de instâncias: um grupo de segurança do Amazon EC2 será criado para permitir a entrada de solicitações na porta 80, para que o tráfego de entrada em um balanceador de carga possa acessar sua aplicação web.

  • Bucket do Amazon S3: um local de armazenamento do seu código-fonte, logs e outros artefatos.

  • Alarmes do Amazon CloudWatch: dois alarmes do CloudWatch são criados para monitorar a carga nas suas instâncias e aumentá-las ou reduzi-las conforme necessário.

  • Pilha do CloudFormation: o Elastic Beanstalk usa o CloudFormation para implantar os recursos em seu ambiente e propagar alterações de configuração. Você pode visualizar o modelo de definição de recurso no console do CloudFormation.

  • Nome de domínio: um nome de domínio que roteia para sua aplicação Web no formato: subdomain.region.elasticbeanstalk.com.

O Elastic Beanstalk cria sua aplicação, lança um ambiente, cria uma versão da aplicação e, em seguida, implanta seu código nesse ambiente. Durante o processo, o console rastreia o progresso e exibe o status do evento na guia Eventos.

Visão geral da arquitetura da aplicação do Elastic Beanstalk com um ambiente de servidor Web.

Depois que todos os recursos forem implantados, a integridade do ambiente deve mudar para Ok.

Seu aplicativo está pronto!

Depois de ver a integridade da sua aplicação Web mudar para Ok, você pode navegar até o site dessa aplicação.

Etapa 3: Explorar o ambiente do Elastic Beanstalk

Você começará a explorar o ambiente da aplicação implantada na página Visão geral do ambiente no console.

Para visualizar o ambiente e sua aplicação
  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.

  3. Selecione Ir para o ambiente para navegar pela sua aplicação!

    (Você também pode escolher o link de URL listado para Domínio para navegar pela sua aplicação.)

    A conexão será HTTP (não HTTPS), então você pode ver um aviso no seu navegador.

Exemplo ilustrativo da tela de parabéns da amostra da aplicação Elastic Beanstalk.

De volta ao console do Elastic Beanstalk, a parte superior mostra a Visão geral do ambiente, com informações de alto nível sobre seu ambiente, incluindo nome, URL do domínio, status de integridade atual, versão em execução e a plataforma na qual a aplicação está sendo executada. A versão e a plataforma em execução são essenciais para solucionar problemas da sua aplicação atualmente implantada.

Depois do painel de visão geral, você verá a atividade recente do ambiente na guia Eventos.

Console do Elastic Beanstalk mostrando o ambiente lançado.

Enquanto o Elastic Beanstalk cria os recursos da AWS e lança a aplicação, o ambiente está em estado Pending. Mensagens de status sobre eventos de lançamento são continuamente adicionadas à lista de Eventos.

O domínio do ambiente é a URL da sua aplicação Web implantada. No painel de navegação esquerdo, Ir para o ambiente também leva você até seu domínio. Da mesma forma, o painel de navegação esquerdo tem links que correspondem às várias guias.

Observe o link Configuração no painel de navegação à esquerda, que exibe um resumo dos valores das opções de configuração do ambiente, agrupados por categoria.

Configurações do ambiente

Observe o link Configuração no painel de navegação à esquerda. É possível visualizar e editar configurações detalhadas do ambiente, como perfis de serviço, rede, banco de dados, escalabilidade, atualizações gerenciadas da plataforma, memória, monitoramento de integridade, implantação contínua, registro em log e muito mais!

As várias guias contêm informações detalhadas sobre o ambiente:

  • Eventos: veja uma lista atualizada de informações e mensagens de erro do serviço do Elastic Beanstalk e de outros serviços para recursos no seu ambiente.

  • Integridade: visualize o status e informações detalhadas sobre a integridade das instâncias do Amazon EC2 que executam sua aplicação.

  • Logs: recupere e baixe os logs do Amazon EC2 no seu ambiente. Você pode recuperar logs completos ou as atividades recentes. Os logs recuperados ficam disponíveis por 15 minutos.

  • Monitoramento: visualize as estatísticas do ambiente, por exemplo, a latência média e a utilização de CPU.

  • Alarmes: visualize e edite alarmes configurados para métricas ambientais.

  • Atualizações gerenciadas: visualize informações sobre as atualizações gerenciadas da plataforma e das substituições de instâncias já concluídas ou que ocorrerão em breve.

  • Tags: visualize e edite pares de chave-valor aplicados ao seu ambiente.

nota

Os links no painel de navegação do console exibirão a guia correspondente.

Solução de problemas com logs

Para solucionar comportamentos inesperados ou depurar implantações, convém verificar os logs nos seus ambientes.

É possível solicitar 100 linhas de todos os arquivos de log na guia Logs do console do Elastic Beanstalk. Como alternativa, você pode se conectar diretamente à instância do Amazon EC2 e rastrear os logs em tempo real.

Para solicitar os logs (console do Elastic Beanstalk)
  1. Navegue até o seu ambiente no console do Elastic Beanstalk.

  2. Escolha a guia Logs ou o menu de navegação à esquerda e, em seguida, escolha Solicitar logs.

  3. Selecione Últimas 100 linhas.

  4. Depois que os logs forem criados, escolha o link Download para visualizá-los no navegador.

Nos logs, localize o log e anote o diretório do log de acesso do nginx.

Adicione uma política para habilitar conexões com o Amazon EC2

Antes de se conectar, você deve adicionar uma política que permita conexões com o Amazon EC2 com o Session Manager.

  1. Navegue até o console do IAM.

  2. Encontre e selecione o perfil aws-elasticbeanstalk-ec2-role.

  3. Escolha Adicionar permissão e depois Anexar políticas.

  4. Procure uma política padrão que comece com o seguinte texto: AmazonSSMManagedEC2Instance e adicione-a ao perfil.

Para se conectar ao seu Amazon EC2 com o Session Manager
  1. Navegue até o console do Amazon EC2.

  2. Selecione Instâncias e, em seguida, selecione sua do gs-app-web-env.

  3. Selecione Conectar e, em seguida, Session Manager.

  4. Selecione Conectar.

Depois de se conectar à instância, inicie um shell bash e siga os logs:

  1. Execute o comando bash.

  2. Execute o comando cd /var/log/nginx.

  3. Execute o comando tail -f access.log.

  4. No navegador, acesse o URL do domínio da aplicação. Atualizar.

Parabéns, você está conectado!

Você deve ver as entradas de log na atualização da sua instância sempre que atualizar a página.

O botão Conectar não está funcionando?

Se o botão Conectar não estiver disponível, volte para o IAM e verifique se você adicionou a política necessária ao perfil.

Etapa 4: Atualizar a aplicação

Eventualmente, convém atualizar sua aplicação. Você pode implantar uma nova versão do aplicativo a qualquer momento, desde que não haja outras operações de atualização em andamento no ambiente.

A versão do aplicativo com a qual você iniciou este tutorial é chamada de Sample Application (Aplicativo de exemplo).

Imagem ilustrativa que implica atualizar seu ambiente.
Para atualizar a versão do aplicativo
  1. Baixe a seguinte aplicação de amostra em PHP:

    PHPphp-v2.zip

  2. Abra o console do Elastic Beanstalk e, na lista Regions (Regiões), selecione a sua Região da AWS.

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

  4. Na página de visão geral do ambiente, escolha Upload and deploy (Fazer upload e implantar).

  5. Selecione Escolher arquivo e carregue o pacote de origem da aplicação de exemplo que você baixou.

    O console preenche automaticamente o Rótulo de versão com um novo rótulo exclusivo, incrementando automaticamente um número inteiro à direita. Se você escolher sua própria etiqueta de versão, certifique-se de que ela seja única.

  6. Escolha Implantar.

Enquanto o Elastic Beanstalk implanta o arquivo nas suas instâncias do Amazon EC2, você pode visualizar o status da implantação na página Visão geral do ambiente. O status de Integridade do ambiente fica acinzentado enquanto a versão da aplicação é atualizada. Quando a implantação estiver concluída, o Elastic Beanstalk executará uma verificação de integridade da aplicação. Quando o aplicativo responde à verificação de integridade, ela é considerada íntegra e o status retorna para verde. A visão geral do ambiente exibe a nova Running Version (Versão em execução): o nome fornecido como Version label (Rótulo da versão).

A nova versão da aplicação do Elastic Beanstalk também é carregada e adicionada à tabela de versões da aplicação. Para visualizar a tabela, escolha Application versions (Versões do aplicativo) em getting-started-app no painel de navegação.

Atualização bem-sucedida!

Você deve ver uma mensagem “v2" atualizada depois de atualizar o navegador.

Se quiser editar a origem por conta própria, descompacte, edite e, em seguida, compacte novamente o pacote de origem. No macOS, use o seguinte comando de dentro do seu diretório php com o -X para excluir atributos extras do arquivo:

zip -X -r ../php-v2.zip .

Etapa 5: escalar sua aplicação

Você pode configurar o ambiente para melhor atender ao aplicativo. Por exemplo, se você tiver uma aplicação que exija muito do computador, altere o tipo de instância do Amazon Elastic Compute Cloud (Amazon EC2) que a executa. Para aplicar alterações de configuração, o Elastic Beanstalk executa uma atualização de ambiente.

Algumas mudanças de configuração são simples e ocorrem de maneira rápida. Algumas alterações exigem excluir e criar novamente os recursos da AWS, o que pode levar vários minutos. Quando você altera as configurações, o Elastic Beanstalk avisa sobre possíveis períodos de inatividade da aplicação.

Imagem ilustrativa mostrando o crescimento dos seus ambientes.

Aumentar as configurações de capacidade

Neste exemplo de alteração de configuração, você edita as configurações de capacidade do ambiente. Você configura um ambiente escalável e com carga balanceada que tenha entre duas e quatro instâncias do Amazon EC2 em seu grupo de Auto Scaling e, depois, verifica se a alteração ocorreu. O Elastic Beanstalk cria uma instância adicional do Amazon EC2, adicionando à única instância criada inicialmente. Depois, o Elastic Beanstalk associa as duas instâncias ao balanceador de carga do ambiente. Como resultado, a capacidade de resposta do aplicativo é aprimorada e sua disponibilidade é aumentada.

Como alterar a capacidade do seu ambiente
  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.

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

  4. Na categoria de configuração Instances (Instâncias), escolha Edit (Editar).

  5. Feche a seção Instances (instâncias) para poder ver mais facilmente a seção Capacity (Capacidade). Na seção Auto Scaling Group (Grupo do Auto Scaling), altere Environment type (Tipo de ambiente) para Load balanced (Carga balanceada).

  6. Na linha Instâncias, altere Mínimo para 2 e Máximo para 4.

  7. Para salvar as alterações, escolha Apply (Aplicar) na parte inferior da página.

    Se receber um aviso de que a atualização substituirá todas as suas instâncias atuais. Escolha Confirmar.

A atualização do ambiente pode levar alguns minutos. Você deve ver várias atualizações na lista de eventos. Observe o evento Nova configuração implantada com sucesso no ambiente.

Verificar o aumento de capacidade

Depois que a atualização do ambiente estiver concluída e o ambiente estiver pronto, o Elastic Beanstalk lançará automaticamente uma segunda instância para atender à nova configuração de capacidade mínima.

Como verificar o aumento da capacidade
  1. Escolha Integridade na lista de guias ou no painel de navegação esquerdo.

  2. Consulte a seção Integridade da instância aprimorada.

Você acabou de aumentar a escala verticalmente!

Com duas instâncias do Amazon EC2, a capacidade do seu ambiente dobrou e isso levou apenas alguns minutos.

Limpar seu ambiente do Elastic Beanstalk

Para garantir que você não seja cobrado por serviços que não está usando, exclua todas as versões da aplicação e encerre os ambientes, o que também exclui os recursos da AWS que o ambiente criou para você.

Imagem ilustrativa mostrando a exclusão de recursos.
Excluir o aplicativo e todos os recursos associados
  1. Excluir todas as versões do aplicativo.

    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, escolha Applications (Aplicativos) e escolha getting-started-app.

    3. No painel de navegação, encontre o nome do aplicativo e escolha Application versions (Versões do aplicativo).

    4. Na página Application versions (Versões do aplicativo), selecione todas as versões do aplicativo que você deseja excluir.

    5. Escolha Ações e, em seguida, escolha Excluir.

    6. Ative Delete versions from Amazon S3 (Excluir versões do Amazon S3).

    7. Escolha Delete (Excluir) e Done (Concluído).

  2. Encerrar o ambiente.

    1. No painel de navegação, escolha getting-started-app e GettingStartedApp-env na lista de ambiente.

    2. Escolha Actions e, em seguida, Terminate Environment.

    3. Confirme que você deseja encerrar GettingStartedApp-env digitando o nome do ambiente e selecione Terminate (Encerrar).

  3. Exclua o aplicativo getting-started-app.

    1. No painel de navegação, escolha o getting-started-app.

    2. Escolha Ações e Excluir aplicativo.

    3. Confirme que você deseja excluir getting-started-app digitando o nome do aplicativo e selecione Delete (Excluir).

Parabéns!

Você implantou com sucesso uma aplicação de exemplo na Nuvem AWS, carregou uma nova versão, modificou sua configuração para adicionar uma segunda instância de ajuste de escala automático e limpou seus recursos da AWS!

Próximas etapas

Para aprender a usar a ferramenta de linha de comando eb para automatizar a implantação do seu código no Elastic Beanstalk, sugerimos continuar com o QuickStart: Implante um aplicativo PHP no Elastic Beanstalk.

Em seguida, talvez você queira revisar como configurar a conexão HTTPS. Para isso, consulte Configurar HTTPS para o seu ambiente do Elastic Beanstalk.