Configurar a EB CLI - 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á.

Configurar a EB CLI

Depois de instalar o EB CLI, você estará pronto para configurar o diretório do projeto e o EB CLI executandoeb init. O exemplo a seguir mostra as etapas de configuração ao executar eb init pela primeira vez em uma pasta de projeto chamada. eb

Para inicializar um projeto da EB CLI
  1. Primeiro, a EB CLI solicita que seja selecionada uma região. Escolha sua região preferida.

    ~/eb $ eb init Select a default region 1) us-east-1 : US East (N. Virginia) 2) us-west-1 : US West (N. California) 3) us-west-2 : US West (Oregon) 4) eu-west-1 : Europe (Ireland) 5) eu-central-1 : Europe (Frankfurt) 6) ap-south-1 : Asia Pacific (Mumbai) 7) ap-southeast-1 : Asia Pacific (Singapore) ... (default is 3): 3
  2. Se solicitado, forneça sua chave de acesso e chave secreta para que o EB CLI possa gerenciar recursos para você. As chaves de acesso são criadas no AWS Identity and Access Management console. Se você não tiver chaves, consulte Como obter credenciais de segurança? na Referência geral da Amazon Web Services.

    You have not yet set up your credentials or your credentials are incorrect. You must provide your credentials. (aws-access-id): AKIAJOUAASEXAMPLE (aws-secret-key): 5ZRIrtTM4ciIAvd4EXAMPLEDtm+PiPSzpoK
  3. Um aplicativo do Elastic Beanstalk é um recurso que contém um conjunto de versões do aplicativo (origem), ambientes e configurações salvas que estão associados a um único aplicativo web. Cada vez que você implanta o seu código-fonte no Elastic Beanstalk usando a CLI do EB, uma nova versão da aplicação é criada e adicionada à lista.

    Select an application to use 1) [ Create new Application ] (default is 1): 1
  4. O nome do aplicativo padrão é o nome da pasta na qual você executa eb init. Insira um nome que descreva o projeto.

    Enter Application Name (default is "eb"): eb Application eb has been created.
  5. Selecione uma plataforma que corresponda à linguagem ou framework usados para desenvolver seu aplicativo Web. Se você ainda não começou a desenvolver um aplicativo, escolha uma plataforma de seu interesse. Você verá como iniciar um aplicativo de exemplo rapidamente e poderá alterar essa configuração mais tarde.

    Select a platform. 1) .NET Core on Linux 2) .NET on Windows Server 3) Docker 4) Go 5) Java 6) Node.js 7) PHP <== select platform by number 8) Packer 9) Python 10) Ruby 11) Tomcat (make a selection):7
  6. Selecione uma ramificação específica da plataforma.

    Select a platform branch. 1) PHP 8.4 running on 64bit Amazon Linux 2023 2) PHP 8.3 running on 64bit Amazon Linux 2023 3) PHP 8.2 running on 64bit Amazon Linux 2023 4) PHP 8.1 running on 64bit Amazon Linux 2023 5) PHP 8.1 running on 64bit Amazon Linux 2 (default is 1):1
  7. Escolha yes (sim) para atribuir um par de chaves SSH para as instâncias no ambiente do Elastic Beanstalk. Isso permite que você se conecte diretamente a elas e solucione problemas.

    Do you want to set up SSH for your instances? (y/n): y
  8. Escolha um par de chaves existente ou crie um novo. Para usar eb init para criar um novo par de chaves, instale ssh-keygen em sua máquina local e disponibilize-o na linha de comando. O EB CLI registra o novo par de chaves na Amazon EC2 para você e armazena a chave privada localmente em uma pasta nomeada .ssh em seu diretório de usuário.

    Select a keypair. 1) [ Create new KeyPair ] (default is 1): 1

Agora, a instalação da EB CLI está configurada e pronta para uso.

Ignorar arquivos que usam .ebignore

Você pode instruir a EB CLI a ignorar determinados arquivos no diretório do projeto por meio da adição do arquivo .ebignore ao diretório. Esse arquivo funciona como um .gitignore. Quando você implanta o diretório do projeto no Elastic Beanstalk e cria uma versão da aplicação, a CLI do EB não inclui arquivos especificados pelo .ebignore no pacote de origem criado.

Se não houver nenhum .ebignore, mas houver um .gitignore, a EB CLI ignorará os arquivos especificados no .gitignore. Se houver um .ebignore, a EB CLI não fará a leitura do .gitignore.

Quando .ebignore estiver presente, a EB CLI não usará comandos git para criar o pacote de origem. Isso significa que a EB CLI ignora os arquivos especificados em .ebignore e inclui todos os outros. Especificamente, ela inclui os arquivos de origem não confirmados.

nota

No Windows, a adição de um .ebignore faz com que a EB CLI siga os links simbólicos e inclua o arquivo vinculado durante a criação de um pacote de origem. Esse é um problema conhecido e será corrigido em uma atualização futura.

Usar perfis nomeados

Se você armazenar suas credenciais como um perfil nomeado em um arquivo credentials ou config, poderá usar a opção --profile para especificar explicitamente um perfil. Por exemplo, o seguinte comando cria um novo aplicativo usando o perfil user2.

$ eb init --profile user2

Você também pode alterar o perfil padrão, definindo a variável de ambiente AWS_EB_PROFILE. Quando essa variável está definida, a EB CLI faz a leitura das credenciais do perfil especificado, em vez de default ou eb-cli.

Linux, macOS ou Unix

$ export AWS_EB_PROFILE=user2

Windows

> set AWS_EB_PROFILE=user2

Implantar um artefato, em vez da pasta do projeto

Instrua a EB CLI a implantar um arquivo ZIP ou WAR que você gera como parte de um processo de construção separado, adicionando as linhas a seguir ao .elasticbeanstalk/config.yml na pasta do projeto.

deploy: artifact: path/to/buildartifact.zip

Se você configurar a CLI do EB no repositório Git e não confirmar o artefato na fonte, use a opção --staged para implantar a compilação mais recente.

~/eb$ eb deploy --staged

Definições de configuração e precedência

O EB CLI usa uma cadeia de fornecedores para procurar AWS credenciais em vários locais diferentes, incluindo variáveis de ambiente do sistema ou do usuário e arquivos de configuração locais AWS .

A EB CLI procura credenciais e definições de configuração na seguinte ordem:

  1. Opções da linha de comando: especifica um perfil nomeado usando --profile para substituir as configurações padrão.

  2. Variáveis de ambiente: AWS_ACCESS_KEY_ID e AWS_SECRET_ACCESS_KEY.

  3. O arquivo de AWS credenciais — Localizado ~/.aws/credentials nos sistemas Linux e OS X ou C:\Users\USERNAME\.aws\credentials nos sistemas Windows. Este arquivo pode conter vários perfis nomeados, além de um perfil padrão.

  4. O arquivo de configuração da AWS CLI: localizado ~/.aws/config em sistemas Linux e OS X ou C:\Users\USERNAME\.aws\config em sistemas Windows. Esse arquivo pode conter um perfil padrão, perfis nomeados e parâmetros de configuração AWS CLI específicos para cada um.

  5. Arquivo de configuração da CLI do EB legada: localizado em ~/.elasticbeanstalk/config em sistemas Linux e OS X ou C:\Users\USERNAME\.elasticbeanstalk\config em sistemas Windows.

  6. Credenciais do perfil da instância — Essas credenciais podem ser usadas em EC2 instâncias da Amazon com uma função de instância atribuída e são fornecidas por meio do serviço de EC2 metadados da Amazon. O perfil da instância deve ter permissão para usar o Elastic Beanstalk.

Se o arquivo de credenciais contém um perfil nomeado com o nome "eb-cli", a EB CLI preferirá esse perfil em vez do perfil padrão. Se não for encontrado nenhum perfil, ou se for encontrado um perfil sem permissão para usar o Elastic Beanstalk, a CLI do EB solicitará a entrada de chaves.

Metadados da instância

Para usar o EB CLI de uma EC2 instância da Amazon, crie uma função que tenha acesso aos recursos necessários e atribua essa função à instância quando ela for executada. Inicie a instância e instale a EB CLI usando o pip.

~$ sudo pip install awsebcli

O pip é fornecido pré-instalado no Amazon Linux.

A EB CLI lê as credenciais dos metadados da instância. Para obter mais informações, consulte Conceder acesso a AWS recursos para aplicativos executados em EC2 instâncias da Amazon no Guia do usuário do IAM.