

AWS App Runner 不再向新客户开放。现有客户可以继续正常使用该服务。有关更多信息，请参阅 [AWS App Runner 可用性变更](https://docs.aws.amazon.com/apprunner/latest/dg/apprunner-availability-change.html)。

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

# 创建 App Runner 服务
<a name="manage-create"></a>

AWS App Runner 自动从容器映像或源代码存储库过渡到可自动扩展的正在运行的 Web 服务。您可以将 App Runner 指向您的源图像或代码，只需指定少量必需的设置。App Runner 可根据需要构建您的应用程序，预置计算资源，然后部署您的应用程序以在这些资源上运行。

创建服务时，App Runner 会创建一个*服务*资源。在某些情况下，您可能需要提供*连接*资源。如果您使用 App Runner 控制台，则控制台会隐式创建连接资源。有关 App Runner 资源类型的更多信息，请参阅[应用程序运行器资源](architecture.md#architecture.resources)。这些资源类型都有与您的账户关联的配额 AWS 区域。有关更多信息，请参阅 [应用程序运行器资源配额](architecture.md#architecture.quotas)。

根据来源类型和提供者的不同，创建服务的过程会有细微的差异。本主题介绍了创建这些源类型的不同过程，以便您可以按照适合自己情况的方式进行操作。有关使用代码示例开始基本过程的信息，请参见[App Runner 入门](getting-started.md)。

## 先决条件
<a name="manage-create.prereq"></a>

在创建 App Runner 服务之前，请务必完成以下操作：
+ 完成中的设置步骤[为 App Runner 进行设置](setting-up.md)。
+ 确保您的应用程序源已准备就绪。您可以使用 [Bitbuck](https://bitbucket.org/) et 中的[GitHub](https://github.com/)代码存储库或[亚马逊弹性容器注册表 (Amazon ECR) Container Registry 中的容器镜像来创建 App Runn](https://docs.aws.amazon.com/AmazonECR/latest/userguide/) er 服务。

## 创建服务
<a name="manage-create.create"></a>

本节介绍两种 App Runner 服务类型的创建过程：基于源代码和基于容器镜像。

**注意**  
如果您为服务创建出站流量 VPC 连接器，则随后的服务启动过程将出现一次性延迟。您可以在创建新服务时或之后通过服务更新为新服务设置此配置。有关更多信息，请参阅[一次性延迟](network-vpc.md#network-vpc.VPC-connector.latency)本指南的 “*与 App Runner 联网*” 一章。

### 从代码仓库创建服务
<a name="manage-create.create.github"></a>

以下各节介绍当您的源代码是[GitHub](https://github.com/)或 [Bitbuck](https://bitbucket.org/) et 中的代码存储库时，如何创建 App Runner 服务。使用代码存储库时，App Runner 必须连接到提供商组织或帐户。因此，您需要帮助建立这种连接。有关 App Runner 连接的更多信息，请参阅[管理 App Runner 连接](manage-connections.md)。

创建服务时，App Runner 会生成一个 Docker 镜像，其中包含您的应用程序代码和依赖项。然后，它会启动一项运行该镜像的容器实例的服务。

#### 使用 App Runner 控制台从代码创建服务
<a name="manage-create.create.github.console"></a>

**使用控制台创建 App Runner 服务**

1. 配置您的源代码。

   1. 打开 [App Runner 控制台](https://console.aws.amazon.com/apprunner)，然后在 “**区域**” 列表中，选择您的 AWS 区域。

   1. 如果还 AWS 账户 没有任何 App Runner 服务，则会显示主机主页。选择**创建 App Runner 服务**。  
![显示 “创建服务” 按钮的 App Runner 控制台主页](http://docs.aws.amazon.com/zh_cn/apprunner/latest/dg/images/getting-started-home.png)

      如果 AWS 账户 已有服务，则会显示包含您的**服务**列表的 “服务” 页面。选择 **Create service**。  
![App Runner 控制台服务页面](http://docs.aws.amazon.com/zh_cn/apprunner/latest/dg/images/getting-started-services.png)

   1. 在**源代码和部署**页面的**源**代码部分中，对于**存储库类型**，选择**源代码存储库**。

   1. 选择提供**商类型**。选择其中一个**GitHub**或 **Bitbucket**。

   1. 接下来，为该提供商选择您之前使用过的帐户或组织，或者选择**新增**。然后，完成提供您的代码存储库凭据并选择要连接的账户或组织的过程。

   1. 在 “**存储库**” 中，选择包含您的应用程序代码的存储库。

   1. 对于 **Bran** ch，选择要部署的分支。

   1. 在**源目录中**，输入源存储库中用于存储应用程序代码和配置文件的目录。
**注意**  
生成和启动命令从您指定的源目录执行。App Runner 将路径视为从根目录开始的绝对路径。如果您未在此处指定值，则该目录默认为存储库根目录。

1. 配置您的部署。

   1. 在 **“部署设置”** 部分，选择 “**手动**” 或 “**自动**”。

      有关部署方法的更多信息，请参阅[部署方法](manage-deploy.md#manage-deploy.methods)。

   1. 选择**下一步**。  
![创建 App Runner 服务时的源和部署设置](http://docs.aws.amazon.com/zh_cn/apprunner/latest/dg/images/getting-started-create-source-depl.png)

1. 配置应用程序构建。

   1. 在 “**配置构建**” 页面上，对于**配置文件**，如果您的存储库中不包含 App Runner **配置文件，请选择在此处配置所有设置**，或者如果包含 App Runner **配置文件，则选择使用**配置文件。
**注意**  
App Runner 配置文件是一种将编译配置作为应用程序源的一部分进行维护的方法。当你提供一个值时，App Runner 会从文件中读取一些值，但不允许你在控制台中设置这些值。

   1. 提供以下编译设置：
      + **运行时**-为您的应用程序选择特定的托管运行时。
      + **生成命令**-输入从源代码构建应用程序的命令。这可能是您的代码中提供的特定语言工具或脚本。
      + **启动命令**-输入启动 Web 服务的命令。
      + **端口**-输入您的 Web 服务监听的 IP 端口。

   1. 选择**下一步**。  
![在创建 App Runner 服务时构建设置](http://docs.aws.amazon.com/zh_cn/apprunner/latest/dg/images/getting-started-create-build.png)

1. 配置您的服务。

   1. 在**配置服务**页面的**服务设置**部分，输入服务名称。
**注意**  
所有其他服务设置要么是可选的，要么具有控制台提供的默认设置。

   1. （可选）更改或添加其他设置以满足您的应用程序要求。

   1. 选择**下一步**。  
![创建 App Runner 服务时的服务设置](http://docs.aws.amazon.com/zh_cn/apprunner/latest/dg/images/manage-create-github-service.png)

1. 在 “**查看并创建**” 页面上，验证您输入的所有详细信息，然后选择 “**创建并部署**”。

   **结果：**如果成功创建服务，控制台将显示服务仪表板，其中包含新**服务的服务概述**。  
![App Runner 服务控制面板页面](http://docs.aws.amazon.com/zh_cn/apprunner/latest/dg/images/getting-started-create-dashboard.png)

1. 验证您的服务是否正在运行。

   1. 在服务仪表板页面上，等到服务**状态变为 “**正在**运行**”。

   1. 选择**默认域**值。这是您的服务网站的网址。

   1. 使用您的网站并验证其是否正常运行。

#### 使用 App Runner API 从代码创建服务或 AWS CLI
<a name="manage-create.create.github.api"></a>

要使用 App Runner API 或创建服务 AWS CLI，请调用 `CreateService` API 操作。有关更多信息以及示例，请参阅 [CreateService](https://docs.aws.amazon.com/apprunner/latest/api/API_CreateService.html)。如果这是您首次使用特定组织或账户为源代码存储库（GitHub 或 Bitbucket）创建服务，请先调用[CreateConnection](https://docs.aws.amazon.com/apprunner/latest/api/API_CreateConnection.html)。这会在 App Runner 与存储库提供商的组织或帐户之间建立连接。有关 App Runner 连接的更多信息，请参阅[管理 App Runner 连接](manage-connections.md)。

如果调用返回成功响应，且显示了 S [ervic](https://docs.aws.amazon.com/apprunner/latest/api/API_Service.html) e 对象`"Status": "CREATING"`，则您的服务将开始创建。

有关调用的示例，请参阅《*AWS App Runner API 参考*》中的 “[创建源代码存储库服务](https://docs.aws.amazon.com/apprunner/latest/api/API_CreateService.html#API_CreateService_Example_1)”

### 从 Amazon ECR 镜像创建服务
<a name="manage-create.create.ecr"></a>

以下各节介绍当您的来源是存储在 A [mazon ECR 中的容器映像时，如何创建 App R](https://docs.aws.amazon.com/AmazonECR/latest/userguide/) unner 服务。亚马逊 ECR 是一个。 AWS 服务因此，要基于 Amazon ECR 映像创建服务，您需要为 App Runner 提供一个包含必要的 Amazon ECR 操作权限的访问角色。

**注意**  
存储在 Amazon ECR Public 中的图像是公开的。因此，如果您的图像存储在 Amazon ECR Public 中，则不需要访问角色。

创建服务时，App Runner 会启动一项服务，该服务会运行您提供的映像的容器实例。在这种情况下，没有构建阶段。

有关更多信息，请参阅 [基于源图像的 App Runner 服务](service-source-image.md)。

#### 使用 App Runner 控制台从图像创建服务
<a name="manage-create.create.ecr.console"></a>

**使用控制台创建 App Runner 服务**

1. 配置您的源代码。

   1. 打开 [App Runner 控制台](https://console.aws.amazon.com/apprunner)，然后在 “**区域**” 列表中，选择您的 AWS 区域。

   1. 如果还 AWS 账户 没有任何 App Runner 服务，则会显示主机主页。选择**创建 App Runner 服务**。  
![显示 “创建服务” 按钮的 App Runner 控制台主页](http://docs.aws.amazon.com/zh_cn/apprunner/latest/dg/images/getting-started-home.png)

      如果 AWS 账户 已有服务，则会显示包含您的**服务**列表的 “服务” 页面。选择 **Create service**。  
![App Runner 控制台服务页面](http://docs.aws.amazon.com/zh_cn/apprunner/latest/dg/images/getting-started-services.png)

   1. 在**源和部署**页面的**来源**部分中，对于**存储库类型**，选择**容器注册表**。

   1. 对于**提供商**，请选择存储图像的提供商：
      + **亚马逊 ECR** — 存储在亚马逊 ECR 中的私有镜像。
      + **Amazon ECR Pub** lic — 存储在 Amazon ECR Public 中的公开可读图片。

   1. 对于**容器镜像 URI**，请选择**浏览**。

   1. 在**选择 Amazon ECR 容器镜像**对话框中，对于**镜像存储库**，选择包含您的镜像的存储库。

   1. 对于**图像标签**，选择要部署的特定映像标签（例如，**最新**），然后选择**继续**。  
![在创建 App Runner 服务时选择 Amazon ECR 镜像](http://docs.aws.amazon.com/zh_cn/apprunner/latest/dg/images/manage-create-ecr-select-image.png)

1. 配置您的部署。

   1. 在 **“部署设置”** 部分，选择 “**手动**” 或 “**自动**”。
**注意**  
App Runner 不支持自动部署 Amazon ECR 公共镜像，也不支持自动部署 Amazon ECR 存储库中与您的服务所在 AWS 账户不同的账户。

      有关部署方法的更多信息，请参阅[部署方法](manage-deploy.md#manage-deploy.methods)。

   1. [**Amazon ECR** 提供商] 对于 **ECR 访问角色**，请选择账户中的现有服务角色或选择创建新角色。如果您使用的是手动部署，则还可以在部署时选择使用 IAM 用户角色。

   1. 选择**下一步**。  
![创建 App Runner 服务时的源和部署设置](http://docs.aws.amazon.com/zh_cn/apprunner/latest/dg/images/manage-create-ecr-source-depl.png)

1. 配置您的服务。

   1. 在**配置服务**页面的**服务设置**部分，输入服务名称和您的服务网站监听的 IP 端口。
**注意**  
所有其他服务设置要么是可选的，要么具有控制台提供的默认设置。

   1. （可选）更改或添加其他设置以满足应用程序的需求。

   1. 选择**下一步**。  
![创建 App Runner 服务时的服务设置](http://docs.aws.amazon.com/zh_cn/apprunner/latest/dg/images/manage-create-ecr-service.png)

1. 在 “**查看并创建**” 页面上，验证您输入的所有详细信息，然后选择 “**创建并部署**”。

   **结果：**如果成功创建服务，控制台将显示服务控制面板，其中包含新**服务的服务概述**。  
![App Runner 服务控制面板页面](http://docs.aws.amazon.com/zh_cn/apprunner/latest/dg/images/manage-create-ecr-dashboard.png)

1. 验证您的服务是否正在运行。

   1. 在服务仪表板页面上，等到服务**状态变为 “**正在**运行**”。

   1. 选择**默认域**值。这是您的服务网站的网址。

   1. 使用您的网站并验证其是否正常运行。

#### 使用 App Runner API 从图像创建服务或 AWS CLI
<a name="manage-create.create.ecr.api"></a>

要使用 App Runner API 或创建服务 AWS CLI，请调用 [CreateService](https://docs.aws.amazon.com/apprunner/latest/api/API_CreateService.html)API 操作。

如果调用返回成功响应，且显示了 Service 对象，则您的[服务](https://docs.aws.amazon.com/apprunner/latest/api/API_Service.html)创建就开始`"Status": "CREATING"`了。

有关调用的示例，请参阅《*AWS App Runner API 参考*》中的 “[创建源图像存储库服务](https://docs.aws.amazon.com/apprunner/latest/api/API_CreateService.html#API_CreateService_Example_2)”