

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 构建 Launch Now URL
<a name="launch-now-url"></a>

您可以构建自定义 URL，以便任何人都可以在 AWS Elastic Beanstalk中快速部署并运行预先确定的 Web 应用程序 此 URL 称为 Launch Now URL。例如，您可能需要一个 Launch Now URL 来演示构建为在 Elastic Beanstalk 上运行的 Web 应用程序。利用 Launch Now URL，您可以使用参数提前将所需信息添加到“创建应用程序”向导。您将该信息添加到向导后，任何人只需执行几个步骤，即可使用 URL 链接通过您的 Web 应用程序源启动 Elastic Beanstalk 环境。这意味着用户无需手动上载或指定应用程序源捆绑包的位置，也无需向该向导提供任何其他信息。

Launch Now URL 为 Elastic Beanstalk 提供创建应用程序所需的最少信息：应用程序名称、解决方案堆栈、实例类型和环境类型。Elastic Beanstalk 对未在自定义 Launch Now URL 中显式指定的其他配置详细信息使用默认值。

Launch Now URL 使用标准 URL 语法。有关更多信息，请参阅 [RFC 3986 - 统一资源标识符 (URI)：一般语法](http://tools.ietf.org/html/rfc3986)。

## URL 参数
<a name="launch-now-url.params"></a>

URL 必须包含以下区分大小写的参数：
+ **区域**-指定 AWS 区域。有关 Elastic Beanstalk 支持的区域列表，请参阅 *AWS 一般参考* 中的 [AWS Elastic Beanstalk 端点和配额](https://docs.aws.amazon.com/general/latest/gr/elasticbeanstalk.html)。
+ **applicationName** – 指定应用程序的名称。Elastic Beanstalk 会在 Elastic Beanstalk 控制台中显示应用程序名称以便与其他应用程序进行区分。默认情况下，应用程序名称还会形成环境名称和环境 URL 的基础。
+ **platform** – 指定将用于环境的平台版本。使用以下方法之一，然后对您选择的项进行 URL 编码：
  + 指定不带版本的平台 ARN。Elastic Beanstalk 选择相应平台主要版本的最新平台版本。例如，要选择最新的 Python 3.6 平台版本，请指定 `Python 3.6 running on 64bit Amazon Linux`。
  + 指定平台名称。Elastic Beanstalk 选择平台最新语言（例如，`Python`）运行时的最新版本。

  有关所有可用平台及其版本的描述，请参阅[Elastic Beanstalk 支持的平台](concepts.platforms.md)。

  您可以使用 [AWS Command Line Interface](https://docs.aws.amazon.com/cli/latest/userguide/)(AWS CLI) 获取所有可用平台版本的列表及其各自的版本 ARNs。`list-platform-versions` 命令列出有关所有可用平台版本的详细信息。使用 `--filters` 参数来缩小列表的范围。例如，您可以设置列表的范围来仅列出特定语言的平台版本。

  以下示例查询所有 Python 平台版本，并将输出通过管道传送给一系列命令。结果是平台版本列表 ARNs （不带`/version`尾部），采用人类可读的格式，没有 URL 编码。

  ```
  $ aws elasticbeanstalk list-platform-versions --filters 'Type="PlatformName",Operator="contains",Values="Python"' | grep PlatformArn | awk -F '"' '{print $4}' | awk -F '/' '{print $2}'
  Preconfigured Docker - Python 3.4 running on 64bit Debian
  Preconfigured Docker - Python 3.4 running on 64bit Debian
  Python 2.6 running on 32bit Amazon Linux
  Python 2.6 running on 32bit Amazon Linux 2014.03
  ...
  Python 3.6 running on 64bit Amazon Linux
  ```

  以下示例将 Perl 命令添加到上一个示例，用于对输出进行 URL 编码。

  ```
  $ aws elasticbeanstalk list-platform-versions --filters 'Type="PlatformName",Operator="contains",Values="Python"' | grep PlatformArn | awk -F '"' '{print $4}' | awk -F '/' '{print $2}' | perl -MURI::Escape -ne 'chomp;print uri_escape($_),"\n"'
  Preconfigured%20Docker%20-%20Python%203.4%20running%20on%2064bit%20Debian
  Preconfigured%20Docker%20-%20Python%203.4%20running%20on%2064bit%20Debian
  Python%202.6%20running%20on%2032bit%20Amazon%20Linux
  Python%202.6%20running%20on%2032bit%20Amazon%20Linux%202014.03
  ...
  Python%203.6%20running%20on%2064bit%20Amazon%20Linux
  ```

Launch Now URL 可以选择包含以下参数。如果您不在 Launch Now URL 中包含可选参数，Elastic Beanstalk 将使用默认值来创建和运行应用程序。**如果不包含该**sourceBundleUrl**参数，Elastic Beanstalk 将使用指定平台的默认示例应用程序。**
+ **sourceBundleUrl**— 以 URL 格式指定 Web 应用程序源包的位置。例如，如果您将源包上传到 Amazon S3 存储桶，则可以将**sourceBundleUrl**参数的值指定为`https://amzn-s3-demo-bucket.s3.amazonaws.com/myobject`。
**注意**  
您可以将**sourceBundleUrl**参数的值指定为 HTTP 网址，但用户的 Web 浏览器将通过应用 HTML URL 编码根据需要转换字符。
+ **environmentType** – 指定环境是负载均衡的可扩展实例，还是仅为单个实例。有关更多信息，请参阅[环境类型](using-features-managing-env-types.md)。您可以指定 `LoadBalancing` 或 `SingleInstance` 作为参数值。
+ **tierName** – 指定环境是否支持处理 Web 请求的 Web 应用程序或运行后台作业的 Web 应用程序。有关更多信息，请参阅[Elastic Beanstalk 工作线程环境](using-features-managing-env-tiers.md)。您可指定 `WebServer` 或 `Worker`。
+ **InstanceType** – 指定具有最适合应用程序的特征（包括内存大小和 CPU 处理能力）的服务器。有关 Amazon EC2 实例系列和类型的更多信息，请参阅*亚马逊 EC2 用户指南*中的[实例类型](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html)。有关各区域可用实例类型的更多信息，请参阅 *Amazon EC2 用户指南*中的[可用实例类型](https://docs.aws.amazon.com//AWSEC2/latest/UserGuide/instance-types.html#AvailableInstanceTypes)。
+ **withVpc** – 指定是否在 Amazon VPC 中创建环境。您可指定 `true` 或 `false`。有关配合使用 Elastic Beanstalk 和 Amazon VPC 的更多信息，请参阅[将 Elastic Beanstalk 和 Amazon VPC 结合使用](vpc.md)。
+ **withRds** – 指定是否使用此环境创建 Amazon RDS 数据库实例。有关更多信息，请参阅[将 Elastic Beanstalk 和 Amazon RDS 结合使用](AWSHowTo.RDS.md)。您可指定 `true` 或 `false`。
+ **r DBEngine** ds — 指定您要在此环境中用于 Amazon EC2 实例的数据库引擎。您可指定 `mysql`、`oracle-sel`、`sqlserver-ex`、`sqlserver-web` 或 `sqlserver-se`。默认值为 `mysql`。
+ **rd DBAllocated s 存储**-以千兆字节 (GB) 为单位指定分配的数据库存储大小。可以指定以下值：
  + **MySQL** – `5` 到 `1024`。默认为 `5`。
  + **Oracle** – `10` 到 `1024`。默认为 `10`。
  + **Microsoft SQL Server Express Edition** – `30`。
  + **Microsoft SQL Server Web Edition** – `30`。
  + **Microsoft SQL Server Standard Edition** – `200`。
+ **r DBInstance ds 类**-指定数据库实例类型。默认值为 `db.t2.micro`（`db.m1.large` 适用于未在 Amazon VPC 中运行的环境）。有关 Amazon RDS 支持的数据库实例类的列表，请参阅《Amazon Relational Database Service 用户指南》**中的[数据库实例类](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html)。
+ **rdsMulti AZDatabase** — 指定 Elastic Beanstalk 是否需要跨多个可用区创建数据库实例。您可指定 `true` 或 `false`。有关使用 Amazon RDS 进行多个可用区部署的更多信息，请参阅《Amazon Relational Database Service 用户指南》**中的[区域和可用区](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.RegionsAndAvailabilityZones.html)。
+ **rd DBDeletion s 策略**-指定在环境终止时是删除数据库实例还是对数据库实例进行快照。您可指定 `Delete` 或 `Snapshot`。

## 示例
<a name="launch-now-url.example"></a>

下面是一个示例 Launch Now URL。构建您自己的 URL 之后，您可以将它提供给您的用户。例如，您可以将该 URL 嵌入在网页或培训材料中。当用户使用 Launch Now URL 创建应用程序时，Elastic Beanstalk 的“创建应用程序”向导不需要其他输入。

```
https://console.aws.amazon.com/elasticbeanstalk/home?region=us-west-2#/newApplication?applicationName=YourCompanySampleApp
      &platform=PHP%207.3%20running%20on%2064bit%20Amazon%20Linux&sourceBundleUrl=
        http://s3.amazonaws.com/amzn-s3-demo-bucket/myobject&environmentType=SingleInstance&tierName=WebServer
      &instanceType=m1.small&withVpc=true&withRds=true&rdsDBEngine=
        postgres&rdsDBAllocatedStorage=6&rdsDBInstanceClass=db.m1.small&rdsMultiAZDatabase=
          true&rdsDBDeletionPolicy=Snapshot
```

**使用 Launch Now URL**

1. 选择 Launch Now URL。

1. 当 Elastic Beanstalk 控制台打开后，在 **Create a web app**（创建 Web 应用程序）页面上，选择 **Review and launch**（审核和启动）以查看 Elastic Beanstalk 用于创建应用程序和启动应用程序运行环境的设置。

1. 在**配置**页面上，选择**创建应用程序**以创建应用程序。