eb create - AWS Elastic Beanstalk

eb create

Descrição

Cria um novo ambiente e implanta uma versão do aplicativo nele.

nota
  • Para usar o eb create em um aplicativo .NET, é necessário criar um pacote de implantação conforme descrito em Criar pacote de origem para um aplicativo .NET e definir a configuração da CLI para implantar o pacote como um artefato conforme descrito em Implantar um artefato, em vez da pasta do projeto.

  • A criação de ambientes com a CLI do EB exige uma função de serviço. Você pode criar uma função de serviço criando um ambiente no console do Elastic Beanstalk. Se você não tiver uma função de serviço, a CLI do EB tentará criar uma ao executar eb create.

Você pode implantar a versão do aplicativo de algumas origens:

  • Por padrão: a partir do código-fonte do aplicativo no diretório local do projeto.

  • Usando a opção --version: a partir de uma versão do aplicativo que já existe em seu aplicativo.

  • Quando o diretório do projeto não tem código de aplicativo, ou ao usar a opção --sample: a partir de um aplicativo de amostra específico para a plataforma do seu ambiente.

Sintaxe

eb create

eb create environment-name

Um nome de ambiente deve ter entre 4 e 40 caracteres de comprimento e só podem conter letras, números e hifens. Um nome de ambiente não pode começar nem terminar com um hífen.

Se você incluir um nome de ambiente no comando, a EB CLI não pedirá que você faça seleções ou crie uma função de serviço.

Se você executar o comando sem um argumento de nome de ambiente, ele será executado em um fluxo interativo e solicitará que você insira ou selecione valores para algumas configurações. Neste fluxo interativo, caso você esteja implementando um aplicativo de amostra, a EB CLI também pergunta se você deseja fazer download desse aplicativo de amostra no seu diretório local do projeto. Isso permite que você use a EB CLI mais tarde com o novo ambiente para executar as operações que exigem o código do aplicativo, como eb deploy.

Alguns prompts de fluxo interativo são exibidos somente sob determinadas condições. Por exemplo, se você optar por usar um Balanceador de carga de aplicações, e a conta tiver pelo menos um Balanceador de carga de aplicações compartilhável, o Elastic Beanstalk exibirá um prompt perguntando se você deseja usar um load balancer compartilhado. Esse aviso não será exibido se não houver nenhum Balanceador de carga de aplicações compartilhável na conta.

Opções

Nenhuma dessas opções é obrigatória. Se você executar eb create sem nenhuma opção, a EB CLI solicita que você insira ou selecione um valor para cada configuração.

Nome

Descrição

-d

ou

--branch_default

Definir o ambiente como o ambiente padrão para o repositório atual.

--cfg config-name

Use as configurações de Plataforma de uma configuração salva em .elasticbeanstalk/saved_configs/ ou o bucket do Amazon S3. Especifique o nome do arquivo apenas, sem a extensão .cfg.yml.

-c subdomain-name

ou

--cname subdomain-name

O nome do subdomínio para prefixar a entrada de CNAME DNS que é roteada para seu website.

Tipo: sequência

Padrão: o nome do ambiente

-db

ou

--database

Anexa um banco de dados ao ambiente. Se você executar eb create com a opção --database, mas sem as opções --database.username e --database.password, a EB CLI solicitará o nome de usuário principal e a senha do banco de dados.

-db.engine engine

ou

--database.engine engine

O tipo de mecanismo de banco de dados. Se você executar eb create com essa opção, a EB CLI iniciará o ambiente com um banco de dados anexado, mesmo que você não tenha executado o comando com a opção --database.

Tipo: sequência

Valores válidos: mysql, oracle-se1, postgres, sqlserver-ex, sqlserver-web, sqlserver-se

-db.i instance_type

ou

--database.instance instance_type

O tipo de instância do Amazon EC2 para usar no banco de dados. Se você executar eb create com essa opção, a EB CLI iniciará o ambiente com um banco de dados anexado, mesmo que você não tenha executado o comando com a opção --database.

Tipo: sequência

Valores válidos: consulte Valores de opção.

-db.pass password

ou

--database.password password

A senha do banco de dados. Se você executar eb create com essa opção, a EB CLI iniciará o ambiente com um banco de dados anexado, mesmo que você não tenha executado o comando com a opção --database.

-db.size number_of_gigabytes

ou

--database.size number_of_gigabytes

O número de gigabytes (GB) para alocar ao armazenamento de banco de dados. Se você executar eb create com essa opção, a EB CLI iniciará o ambiente com um banco de dados anexado, mesmo que você não tenha executado o comando com a opção --database.

Tipo: número

Valores válidos:

  • MySQL5 a 1024. O padrão é 5.

  • Postgres5 a 1024. O padrão é 5.

  • Oracle10 a 1024. O padrão é 10.

  • Microsoft SQL Server Express Edition30.

  • Microsoft SQL Server Web Edition30.

  • Microsoft SQL Server Standard Edition200.

-db.user username

ou

--database.username username

O nome de usuário para o banco de dados. Se você executar eb create com essa opção, a EB CLI iniciará o ambiente com um banco de dados anexado, mesmo que você não tenha executado o comando com a opção --database. Se você executar eb create com a opção --database, mas sem as opções --database.username e --database.password, a EB CLI solicitará o nome de usuário e a senha principais do banco de dados.

-db.version version

ou

--database.version version

Permite que você especifique a versão do mecanismo de banco de dados. Se esse sinalizador estiver presente, o ambiente será iniciado com um banco de dados com o número de versão especificado, mesmo que o sinalizador --database não esteja presente.

--elb-type type

Novo tipo de load balancer.

Tipo: sequência

Valores válidos: classic, application, network

Padrão: application

-es

ou

--enable-spot

Habilite solicitações de instância spot para seu ambiente. Para obter mais detalhes, consulte grupo do Auto Scaling.

Opções relacionadas:

  • --instance-types

  • --on-demand-base-capacity

  • --on-demand-above-base-capacity

  • --spot-max-price

--env-group-suffix groupname Nome do grupo para anexar ao nome do ambiente. Somente para uso com ambientes do Compose.

--envvars

Propriedades do ambiente em uma lista separada por vírgula com o formato name=value. Para obter os limites, consulte Configurar propriedades de ambiente.

-ip profile_name

ou

--instance_profile profile_name

O perfil da instância com a função do IAM com as credenciais de segurança temporárias das quais seu aplicativo precisa para acessar os recursos da AWS.

-it

ou

--instance-types type1[,type2 ...]

Uma lista separada por vírgulas dos tipos de instância do Amazon EC2 que você deseja que o ambiente use. Se você não especificar essa opção, o Elastic Beanstalk fornecerá tipos de instância padrão.

Para obter mais detalhes, consulte Instâncias do Amazon EC2 e grupo do Auto Scaling.

-i

ou

--instance_type

O tipo de instância do Amazon EC2 que você deseja que o ambiente use. Se você não especificar essa opção, o Elastic Beanstalk fornecerá um tipo de instância padrão.

Para obter mais detalhes, consulte Instâncias do Amazon EC2.

nota

A opção --instance_type está obsoleta. Ela foi substituída pela opção mais nova e mais eficiente --instance-types. A nova opção permite que você especifique uma lista de um ou mais tipos de instância para seu ambiente. O primeiro valor nessa lista é equivalente ao valor da opção --instance_type. A forma recomendada de especificar tipos de instância é usando a nova opção.

-k key_name

ou

--keyname key_name

O nome do par de chaves do Amazon EC2 para usar com um cliente Secure Shell (SSH) para fazer login com segurança nas instâncias do Amazon EC2 que executam seu aplicativo Elastic Beanstalk. Se você incluir essa opção com o comando eb create, o valor fornecido substituirá qualquer nome de chave especificado com eb init.

Valores válidos: um nome de chave existente que está registrado no Amazon EC2

-im number-of-instances

ou

--min-instances number-of-instances

O número mínimo de instâncias do Amazon EC2 exigidas para o ambiente.

Tipo: número (inteiro)

Padrão: 1

Valores válidos: 1 a 10000

-ix number-of-instances

ou

--max-instances number-of-instances

O número máximo de instâncias do Amazon EC2 permitidas para seu ambiente.

Tipo: número (inteiro)

Padrão: 4

Valores válidos: 1 a 10000

--modules component-a component-b

Lista de ambientes de componente para criar. Somente para uso com ambientes do Compose.

-sb

ou

--on-demand-base-capacity

O número mínimo de instâncias sob demanda que o grupo de Auto Scaling provisiona antes de considerar as instâncias spot à medida que o ambiente aumenta.

Esta opção só pode ser especificada com a opção --enable-spot. Para obter mais detalhes, consulte grupo do Auto Scaling.

Tipo: número (inteiro)

Padrão: 0

Valores válidos: 0 para --max-instances (quando ausente: opção MaxSize no namespace aws:autoscaling:asg)

-sp

ou

--on-demand-above-base-capacity

A porcentagem de instâncias sob demanda como parte da capacidade adicional que o grupo de Auto Scaling provisiona além do número de instâncias especificado pela opção --on-demand-base-capacity.

Esta opção só pode ser especificada com a opção --enable-spot. Para obter mais detalhes, consulte grupo do Auto Scaling.

Tipo: número (inteiro)

Padrão: 0 para um ambiente de uma única instância; 70 para um ambiente com balanceamento de carga

Valores válidos: 0 a 100

-p platform-version

ou

--platform platform-version

A versão da plataforma a ser usada. É possível especificar uma plataforma, uma plataforma e a versão, a ramificação de uma plataforma, o nome de uma pilha de solução ou o ARN de uma pilha de solução. Por exemplo:

  • php, PHP, node.js: a versão mais recente da plataforma especificada

  • php-7.2, "PHP 7.2": a versão recomendada da plataforma PHP 7.2 (geralmente a mais recente)

  • "PHP 7.2 running on 64bit Amazon Linux": a versão recomendada da plataforma PHP (geralmente a mais recente) nesta ramificação de plataforma

  • "64bit Amazon Linux 2017.09 v2.6.3 running PHP 7.1": a versão da plataforma PHP especificada por esse nome de pilha da solução

  • "arn:aws:elasticbeanstalk:us-east-2::platform/PHP 7.1 running on 64bit Amazon Linux/2.6.3": a versão da plataforma PHP especificada por esse ARN de pilha da solução

Use eb platform list para obter uma lista de configurações disponíveis.

Se você especificar a opção --platform, ela substituirá o valor que foi fornecido eb init.

-pr

ou

--process

Pré-processa e valida o manifesto de ambiente e os arquivos de configuração no pacote de origem. A validação dos arquivos de configuração pode identificar problemas antes de implantar a versão do aplicativo em um ambiente.

-r region

ou

--region region

A região da AWS na qual você deseja implantar o aplicativo.

Para obter a lista de valores que você pode especificar para essa opção, consulte Endpoints e cotas do AWS Elastic Beanstalk no AWS General Reference.

--sample

Implante o aplicativo de exemplo no novo ambiente, em vez do código no seu repositório.

--scale number-of-instances

Iniciar com o número especificado de instâncias

--service-role servicerole Atribua ao ambiente uma função de serviço diferente do padrão.
nota

Não insira um ARN, apenas o nome da função. O Elastic Beanstalk coloca um prefixo no nome da função com os valores corretos para criar internamente o ARN resultante.

-ls load-balancer

ou

--shared-lb load-balancer

Configure o ambiente para usar um load balancer compartilhado. Forneça o nome ou o ARN de um load balancer compartilhável na conta — um Balanceador de carga de aplicações que você criou explicitamente, não um criado por outro ambiente do Elastic Beanstalk. Para obter mais detalhes, consulte Balanceador de carga de aplicações compartilhado.

Exemplos de parâmetros:

  • FrontEndLB – o nome de um load balancer.

  • arn:aws:elasticloadbalancing:us-east-2:123456789012:loadbalancer/app/FrontEndLB/0dbf78d8ad96abbc – o ARN de um Balanceador de carga de aplicações.

Você pode especificar essa opção somente com --elb-type application. Se você especificar essa opção e não especificar --shared-lb, o Elastic Beanstalk criará um load balancer dedicado para o ambiente.

-lp port

ou

--shared-lb-port port

A porta de listener padrão do load balancer compartilhado para esse ambiente. O Elastic Beanstalk adiciona uma regra de listener que roteia todo o tráfego desse listener para o processo do ambiente padrão. Para obter mais detalhes, consulte Balanceador de carga de aplicações compartilhado.

Tipo: número (inteiro)

Padrão: 80

Valores válidos: qualquer número inteiro que represente uma porta de listener do load balancer compartilhado.

--single

Crie o ambiente com uma única instância do Amazon EC2 e sem um load balancer.

Atenção

Um ambiente de única instância não está pronto para produção. Se a instância torna-se instável durante a implantação, ou o Elastic Beanstalk encerra e reinicia a instância durante uma atualização de configuração, seu aplicativo pode ficar indisponível durante um determinado período. Use ambientes de única instância para desenvolvimento, teste ou preparação. Use ambientes com balanceamento de carga para produção.

-sm

ou

--spot-max-price

O preço máximo por hora, em US$, que você está disposto a pagar por uma instância spot.

Esta opção só pode ser especificada com a opção --enable-spot. Para obter mais detalhes, consulte grupo do Auto Scaling.

Tipo: número (flutuante)

Padrão: o preço sob demanda

Valores válidos: 0.001 a 20.0

--tags key1=value1[,key2=value2 ...]

Marque os recursos no seu ambiente. As tags são especificadas como uma lista de key=value separados por vírgulas.

Para obter mais detalhes, consulte Marcação em ambientes.

-t worker

ou

--tier worker

Crie um ambiente de operador. Omita essa opção para criar um ambiente de servidor web.

--timeout minutes

O número definido de minutos antes do limite de tempo do comando.

--version version_label

Especifica a versão do aplicativo que você deseja implantar no ambiente, em vez do código-fonte do aplicativo no diretório do projeto local.

Tipo: sequência

Valores válidos: um rótulo de versão do aplicativo existente

--vpc

Configure uma VPC em seu ambiente. Quando você incluir essa opção, a EB CLI solicitará que você insira todas as configurações obrigatórias antes de iniciar o ambiente.

--vpc.dbsubnets subnet1,subnet2

Especifica sub-redes para instâncias de banco de dados em uma VPC. Obrigatório quando --vpc.id for especificado.

--vpc.ec2subnets subnet1,subnet2

Especifica sub-redes para instâncias do Amazon EC2 em uma VPC. Obrigatório quando --vpc.id for especificado.

--vpc.elbpublic

Inicia o load balancer do Elastic Load Balancing em uma sub-rede pública em sua VPC.

Não é possível especificar essa opção com --tier worker e --single.

--vpc.elbsubnets subnet1,subnet2

Especifica sub-redes para o load balancer do Elastic Load Balancing em uma VPC.

Não é possível especificar essa opção com --tier worker e --single.

--vpc.id ID

Inicia seu ambiente na VPC especificada.

--vpc.publicip

Inicia suas instâncias do Amazon EC2 em uma sub-rede pública em sua VPC.

Não é possível especificar essa opção com --tier worker .

--vpc.securitygroups securitygroup1,securitygroup2

Especifica IDs de grupo de segurança. Obrigatório quando --vpc.id for especificado.

Opções comuns

Resultado

Se for bem-sucedido, o comando apresentará prompts com perguntas e retornará o status da operação de criação. Se houver problemas durante a inicialização, você poderá usar a operação eb events para obter mais detalhes.

Se você habilitou o suporte ao CodeBuild no aplicativo, eb create exibirá as informações do CodeBuild enquanto o código é compilado. Para obter informações sobre o suporte do CodeBuild no Elastic Beanstalk, consulte Usar a CLI do EB com o AWS CodeBuild.

Exemplos

O exemplo a seguir cria um ambiente no modo interativo.

$ eb create Enter Environment Name (default is tmp-dev): ENTER Enter DNS CNAME prefix (default is tmp-dev): ENTER Select a load balancer type 1) classic 2) application 3) network (default is 2): ENTER Environment details for: tmp-dev Application name: tmp Region: us-east-2 Deployed Version: app-141029_145448 Environment ID: e-um3yfrzq22 Platform: 64bit Amazon Linux 2014.09 v1.0.9 running PHP 5.5 Tier: WebServer-Standard-1.0 CNAME: tmp-dev.elasticbeanstalk.com Updated: 2014-10-29 21:54:51.063000+00:00 Printing Status: ...

O exemplo a seguir também cria um ambiente no modo interativo. Neste exemplo, o diretório do projeto não tem código de aplicativo. O comando implanta um aplicativo de amostra e faz o download deste no diretório local do projeto.

$ eb create Enter Environment Name (default is tmp-dev): ENTER Enter DNS CNAME prefix (default is tmp-dev): ENTER Select a load balancer type 1) classic 2) application 3) network (default is 2): ENTER NOTE: The current directory does not contain any source code. Elastic Beanstalk is launching the sample application instead. Do you want to download the sample application into the current directory? (Y/n): ENTER INFO: Downloading sample application to the current directory. INFO: Download complete. Environment details for: tmp-dev Application name: tmp Region: us-east-2 Deployed Version: Sample Application Environment ID: e-um3yfrzq22 Platform: 64bit Amazon Linux 2014.09 v1.0.9 running PHP 5.5 Tier: WebServer-Standard-1.0 CNAME: tmp-dev.elasticbeanstalk.com Updated: 2017-11-08 21:54:51.063000+00:00 Printing Status: ...

O seguinte comando cria um ambiente sem exibir prompts.

$ eb create dev-env Creating application version archive "app-160312_014028". Uploading test/app-160312_014028.zip to S3. This may take a while. Upload Complete. Application test has been created. Environment details for: dev-env Application name: test Region: us-east-2 Deployed Version: app-160312_014028 Environment ID: e-6fgpkjxyyi Platform: 64bit Amazon Linux 2015.09 v2.0.8 running PHP 5.6 Tier: WebServer-Standard CNAME: UNKNOWN Updated: 2016-03-12 01:40:33.614000+00:00 Printing Status: ...

O seguinte comando cria um ambiente em uma VPC personalizada.

$ eb create dev-vpc --vpc.id vpc-0ce8dd99 --vpc.elbsubnets subnet-b356d7c6,subnet-02f74b0c --vpc.ec2subnets subnet-0bb7f0cd,subnet-3b6697c1 --vpc.securitygroup sg-70cff265 Creating application version archive "app-160312_014309". Uploading test/app-160312_014309.zip to S3. This may take a while. Upload Complete. Environment details for: dev-vpc Application name: test Region: us-east-2 Deployed Version: app-160312_014309 Environment ID: e-pqkcip3mns Platform: 64bit Amazon Linux 2015.09 v2.0.8 running Java 8 Tier: WebServer-Standard CNAME: UNKNOWN Updated: 2016-03-12 01:43:14.057000+00:00 Printing Status: ...