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

Após a instalação da CLI do EB, você está pronto para configurar o diretório do projeto e a CLI do EB executando eb init.

O exemplo a seguir mostra as etapas de configuração na execução de eb init pela primeira vez em uma pasta do projeto chamada eb.

Para inicializar um projeto da EB CLI
  1. Primeiro, a EB CLI solicita que seja selecionada uma região. Digite o número correspondente à região que você deseja usar e pressione Enter.

    ~/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. Em seguida, forneça sua chave de acesso e chave secreta para que a EB CLI possa gerenciar os recursos para você. As chaves de acesso são criadas no console do AWS Identity and Access Management. 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. Uma aplicação no Elastic Beanstalk é um recurso que contém um conjunto de versões da aplicação (origem), ambientes e configurações salvas associadas a uma única aplicação 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) Node.js 2) PHP 3) Python 4) Ruby 5) Tomcat 6) IIS 7) Docker 8) Multi-container Docker 9) GlassFish 10) Go 11) Java (default is 1): 1
  6. 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
  7. 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. A CLI do EB registra o novo par de chaves no Amazon EC2 e armazena a chave privada localmente em uma pasta chamada .ssh no diretório do 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. Consulte Gerenciar ambientes do Elastic Beanstalk com a CLI do EB para obter instruções sobre como criar e trabalhar com um ambiente do Elastic Beanstalk.

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

A EB CLI usa uma cadeia de provedor para procurar credenciais da AWS em vários lugares diferentes, inclusive variáveis de ambiente do sistema ou do usuário e arquivos de configuração locais da 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 credenciais da AWS: localizado em ~/.aws/credentials em sistemas Linux e OS X ou em C:\Users\USERNAME\.aws\credentials em 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. O arquivo pode conter um perfil padrão, perfis nomeados e parâmetros de configuração específicos da AWS CLI para cada um deles.

  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 de perfil de instância: essas credenciais podem ser usadas em instâncias do Amazon EC2 com uma função de instância atribuída, e são fornecidas por meio do serviço de metadados do Amazon EC2. 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 a CLI do EB em uma instância do Amazon EC2, 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 aplicações executadas em instâncias da Amazon EC2 para recursos da AWS no Guia do usuário do IAM.