AWS Elastic Beanstalk
开发人员指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 Amazon AWS 入门

eb create

描述

创建新环境并将应用程序版本部署到新环境。

注意

  • 要对 .NET 应用程序使用 eb create 命令,您必须按创建 .NET 应用程序的源包中所述创建部署程序包,然后按部署工件而不是项目文件夹中所述设置 CLI 配置以将程序包部署为工件。

  • 使用 EB CLI 创建环境需要服务角色。您可以通过在 Elastic Beanstalk 控制台 控制台中创建环境来创建服务角色。如果您没有服务角色,EB CLI 会尝试在您运行 eb create 时创建一个。

您可以从几个来源部署应用程序版本:

  • 默认情况下:从本地项目目录中的应用程序源代码。

  • 使用 --version 选项:从您的应用程序中已存在的应用程序版本。

  • 当您的项目目录不具有应用程序代码时或使用 --sample 选项时:从环境平台特定的示例应用程序中。

语法

eb create

eb create environment-name

环境名称的长度必须介于 4 和 40 个字符之间,并且只能包含字母、数字和连字符。环境名称不能以连字符开头或结尾。

如果您在命令中包括了某个环境名称,EB CLI 不会提示您做出任何选择或创建服务角色。

如果您运行不带环境名称参数的命令,该命令将在交互流中运行,并提示您输入或选择一些设置的值。在此交互流中,如果您要部署示例应用程序,EB CLI 还会询问您是否要将此示例应用程序下载到本地项目目录。这样,您稍后便可以将 EB CLI 用于新环境,以运行需要应用程序代码(如 eb deploy )的操作。

选项

这些选项都不是必需的。如果您运行 eb create 时不指定任何选项,EB CLI 会提示您为每个设置输入或选择值。

名称

描述

-d

--branch_default

将环境设置为当前存储库的默认环境。

--cfg config-name

使用保存的配置中的平台设置,保存的配置位于 .elasticbeanstalk/saved_configs/ 或您的 Amazon S3 存储桶中。仅指定文件的名称,无需 .cfg.yml 扩展名。

-c subdomain-name

--cname subdomain-name

要为路由到您的网站的 CNAME DNS 条目添加前缀的子域名。

类型:字符串

默认值:环境名称

-db

--database

将数据库附加到环境。如果您运行带 eb create 选项 (而不带 --database--database.username 选项) 的 --database.password,EB CLI 将提示您输入主数据库用户名和密码。

-db.engine engine

--database.engine engine

数据库引擎类型。如果您运行带此选项的 eb create,EB CLI 将启动附加了数据库的环境 (即使您没有运行带 --database 选项的命令)。

类型:字符串

有效值:mysqloracle-se1postgressqlserver-exsqlserver-websqlserver-se

-db.i instance_type

--database.instance instance_type

要用于数据库的 Amazon EC2 实例的类型。如果您运行带此选项的 eb create,EB CLI 将启动附加了数据库的环境 (即使您没有运行带 --database 选项的命令)。

类型:字符串

有效值:请参阅选项值

-db.pass password

--database.password password

数据库的密码。如果您运行带此选项的 eb create,EB CLI 将启动附加了数据库的环境 (即使您没有运行带 --database 选项的命令)。

-db.size number_of_gigabytes

--database.size number_of_gigabytes

要为数据库存储分配的 GB 数。如果您运行带此选项的 eb create,EB CLI 将启动附加了数据库的环境 (即使您没有运行带 --database 选项的命令)。

类型:数字

有效值:

  • MySQL51024。默认为 5

  • Postgres51024。默认为 5

  • Oracle101024。默认为 10

  • Microsoft SQL Server Express Edition30

  • Microsoft SQL Server Web Edition30

  • Microsoft SQL Server Standard Edition200

-db.user username

--database.username username

数据库的用户名。如果您运行带此选项的 eb create,EB CLI 将启动附加了数据库的环境 (即使您没有运行带 --database 选项的命令)。如果您运行带 eb create 选项 (而不带 --database--database.username 选项) 的 --database.password,EB CLI 将提示您输入主数据库用户名和密码。

-db.version version

--database.version version

可让您指定数据库引擎版本。如果此标志存在,环境将随带指定版本号的数据库一起启动 (即使 --database 标志不存在)。

--elb-type type

负载均衡器类型

类型:字符串

有效值:classicapplicationnetwork

默认值:application

--env-group-suffix groupname 要附加到环境名的组名。只能与编写环境一起使用。

--envvars

逗号分隔列表中的环境属性,格式为 name=value。有关限制,请参阅配置环境属性

-ip profile_name

--instance_profile profile_name

带有 IAM 角色的实例配置文件,该角色具有您的应用程序访问 AWS 资源所需的临时安全凭证。

-i

--instance_type

要在环境中使用的 Amazon EC2 实例的类型。

有效值:请参阅选项值

-k key_name

--keyname key_name

要与安全外壳 (SSH) 客户端一起使用以安全地登录到运行 Elastic Beanstalk 应用程序的 Amazon EC2 实例的 Amazon EC2 密钥对的名称。如果您将此选项与 eb create 命令一起包含,则提供的值将覆盖您可能已使用 eb init 指定的任何密钥名称。

有效值:向 Amazon EC2 注册的现有密钥名称

--modules component-a component-b

要创建的组件环境的列表。只能与编写环境一起使用。

-p platform-configuration

--platform platform-configuration

要使用的平台配置。您可以指定平台名称、平台名称和版本、解决方案堆栈名称或解决方案堆栈 ARN。例如:

  • phpPHPnode.js — 指定平台的最新配置

  • php-7.1"PHP 7.1" — 最新 PHP 7.1 配置

  • "64bit Amazon Linux 2017.09 v2.6.3 running PHP 7.1" — 按此名称指定的 PHP 配置 (解决方案堆栈)

  • "arn:aws:elasticbeanstalk:us-west-2::platform/PHP 7.1 running on 64bit Amazon Linux/2.6.3" — 按此 ARN 指定的 PHP 配置 (解决方案堆栈)

使用 eb platform list 获取可用配置的列表。

如果您指定 --platform 选项,则它会覆盖 eb init 期间提供的值。

-pr

--process

预处理并验证源包中的环境清单和配置文件。通过验证配置文件,可以在将应用程序版本部署到环境之前发现问题。

-r region

--region region

您要在其中部署应用程序的 AWS 区域。

有关您可为此选项指定的值的列表,请参阅 Amazon Web Services 一般参考 中的区域和终端节点主题中的 AWS Elastic Beanstalk

--sample

将示例应用程序部署到新环境,而不是您的存储库中的代码。

--scale number-of-instances

与指定数量的实例一起启动

--service-role servicerole 将非默认服务角色分配到环境。

注意

请勿输入 ARN,而是输入角色名称。Elastic Beanstalk 会用正确的值为角色名称添加前缀,以在内部创建生成的 ARN。

--single

创建具有单个 Amazon EC2 实例并且没有负载均衡器的环境。

警告

单实例环境不适用于生产。如果实例在部署期间变得不稳定,或 Elastic Beanstalk 在配置更新期间终止并重新启动实例,则您的应用程序会在一段时间内不可用。可将单实例环境用于开发、测试或暂存。使用负载均衡环境进行生产。

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

在环境中标记资源。将标签指定为逗号分隔的 key=value 对的列表。

有关有效值和更多详细信息,请参阅为环境添加标签

-t worker

--tier worker

创建一个工作线程环境。忽略此选项,以创建 Web 服务器环境。

--timeout minutes

命令超时之前的设定分钟数。

--version version_label

指定要部署到环境中的应用程序版本,而不是本地项目目录中的应用程序员代码。

类型:字符串

有效值:现有的应用程序版本标签

--vpc

为您的环境配置 VPC。当您包含此选项时,EB CLI 会提示您在启动环境之前输入所有必需的设置。

--vpc.dbsubnets subnet1,subnet2

在 VPC 中指定数据库实例的子网。在指定 --vpc.id 时是必需的.

--vpc.ec2subnets subnet1,subnet2

在 VPC 中指定 Amazon EC2 实例的子网。在指定 --vpc.id 时是必需的.

--vpc.elbpublic

在您的 VPC 中的公有子网中启动 Elastic Load Balancing 负载均衡器。

您无法使用 --tier worker--single 选项指定此选项。

--vpc.elbsubnets subnet1,subnet2

在 VPC 中指定 Elastic Load Balancing 负载均衡器的子网。

您无法使用 --tier worker--single 选项指定此选项。

--vpc.id ID

在指定的 VPC 中启动您的环境。

--vpc.publicip

在您的 VPC 中的公有子网中启动 Amazon EC2 实例。

您无法使用 --tier worker 选项指定此选项。

--vpc.securitygroups securitygroup1,securitygroup2

指定安全组 ID 或安全组名称。在指定 --vpc.id 时是必需的.

常用选项

输出

如果成功,则命令将通过问题来提示您,然后返回创建操作的状态。如果在启动期间发生问题,则可以使用 eb events 操作获取更多详细信息。

如果您在应用程序中启用了 AWS CodeBuild 支持,eb create 会在生成代码时显示 AWS CodeBuild 信息。有关 Elastic Beanstalk 中的 AWS CodeBuild 支持的更多信息,请参阅通过 AWS CodeBuild 使用 EB CLI 主题。

示例

下面的示例以交互模式创建环境。

$ 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-west-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: ...

下面的示例还在交互模式下创建环境。在此示例中,您的项目目录没有应用程序代码。该命令将部署一个示例应用程序,然后将其下载到您的本地项目目录中。

$ 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-west-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: ...

下面的命令创建一个环境但不显示任何提示。

$ 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-west-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: ...

下面的命令在自定义 VPC 中创建一个环境。

$ 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-west-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: ...

本页内容: