

 AWS Cloud9 不再向新客户提供。 AWS Cloud9 的现有客户可以继续正常使用这项服务。[了解详情](https://aws.amazon.com/blogs/devops/how-to-migrate-from-aws-cloud9-to-aws-ide-toolkits-or-aws-cloudshell/)

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

# AWS App Runner 与 AWS 工具包一起使用
<a name="using-apprunner"></a>

[AWS App Runner](https://docs.aws.amazon.com/apprunner/latest/dg/what-is-apprunner.html) 提供了一种快速且经济高效的方式，从源代码或容器镜像直接部署到 AWS 云中可扩展的安全 Web 应用程序。使用它，您无需学习新技术、决定使用哪种计算服务，也不需要知道如何配置和配置 AWS 资源。

您可以使用 AWS App Runner 基于*源图像或源**代码*创建和管理服务。如果您使用源镜像，则可以选择存储在镜像存储库中的公有或私有容器镜像。App Runner 支持以下镜像存储库提供商：
+ Amazon Elastic Container Registry（Amazon ECR）：在您的 AWS 账户中存储私有镜像。
+ Amazon Elastic Container Registry Public (Amazon ECR Public)：存储公开可读的镜像。

如果选择源代码选项，则可以从受支持的存储库提供商维护的源代码存储库进行部署。目前，App Runner 支持[GitHub](https://github.com/)作为源代码存储库提供者。

## 先决条件
<a name="apprunner-prereqs"></a>

要使用该 AWS 工具包与 App Runner 进行交互，需要满足以下条件：
+ 一个 AWS 账户
+ 具有以下特征的 AWS 工具包版本 AWS App Runner

除了这些核心要求之外，请确保所有相关的 IAM 用户都有权与 App Runner 服务进行交互。还要确保获取有关您的服务源的特定信息，例如容器镜像 URI 和与 GitHub存储库的连接。创建 App Runner 服务时，您需要使用此信息。

### 为 App Runner 配置 IAM 权限
<a name="app-runner-permissions"></a>

要快速授予 App Runner 所需的权限，请将现有 AWS 托管策略附加到相关 AWS Identity and Access Management (IAM) 实体。特别是，您可以将策略附加到用户或组。App Runner 提供两种可附加到 IAM 用户的托管策略：
+ `AWSAppRunnerFullAccess`：允许用户执行所有 App Runner 操作。
+ `AWSAppRunnerReadOnlyAccess`：允许用户列出和查看有关 App Runner 资源的详细信息。

如果您从 Amazon Elastic Container Registry（Amazon ECR）中选择私有存储库作为服务源，则必须为 App Runner 服务创建以下访问角色：
+ `AWSAppRunnerServicePolicyForECRAccess`：允许 App Runner 访问您账户中的 Amazon Elastic Container Registry (Amazon ECR) 镜像。

使用 AWS Toolkit 的命令窗格配置服务实例时，您可以自动创建此角色。

**注意**  
**AWSServiceRoleForAppRunner**服务相关角色 AWS App Runner 允许完成以下任务：  
将日志推送到 Amazon CloudWatch 日志组。
创建亚马逊 CloudWatch 活动规则以订阅亚马逊弹性容器注册表 (Amazon ECR) Container Registry 图片推送。
无需手动创建 服务关联角色。当您使用 AWS Toolkit 调用的 API 操作 AWS App Runner 在 AWS 管理控制台 或中创建时， AWS App Runner 会为您创建此服务相关角色。

有关更多信息，请参阅 *AWS App Runner 开发人员指南*中的[适用于 App Runner 的 Identity and Access Management](https://docs.aws.amazon.com/apprunner/latest/dg/security-iam.html)。

### 获取 App Runner 的服务源
<a name="app-runner-sources"></a>

您可以使用 AWS App Runner 从源图像或源代码部署服务。

------
#### [ Source image ]

如果您从源映像进行部署，请从私有或公共映像注册表中获取该映 AWS 像存储库的链接。
+ [Amazon ECR 私有注册表：复制在存储库中使用 Amazon ECR 控制台的私有存储库的 URI。https://console.aws.amazon.com/ecr/](https://console.aws.amazon.com/ecr/repositories)
+ Amazon ECR 公共注册表：复制使用 Amazon ECR Public Gallery 的公有存储库的 URI：[https://gallery.ecr.aws/](https://gallery.ecr.aws)。

**注意**  
您也可以直接从 AWS 工具包中的 E **AWS xplorer** 中获取私有 Amazon ECR 存储库的 URI：  
打开 **AWS Explorer**，然后展开 **ECR** 节点以查看该 AWS 区域的存储库列表。
打开存储的上下文（右键单击）菜单，然后选择 **Copy Repository URI**（复制存储库 URI）以将链接复制到剪贴板。

使用 T AWS oolkit 命令窗格配置服务实例时，您可以指定图像存储库的 URI。

有关更多信息，请参阅 *AWS App Runner 开发人员指南*中的[基于源镜像的 App Runner 服务](https://docs.aws.amazon.com/apprunner/latest/dg/service-source-image.html)。

------
#### [ Source code ]

要将源代码部署到 AWS App Runner 服务，必须将该代码存储在 Git 存储库中。此 Git 存储库必须由支持的存储库提供商维护。App Runner 支持一个源代码存储库提供商:[GitHub](https://github.com/).

有关设置 GitHub 存储库的信息，请参阅上的 “[入门” 文档](https://docs.github.com/en/github/getting-started-with-github) GitHub。

要将您的源代码从 GitHub 存储库部署到 App Runner 服务，App Runner 需要与建立连接 GitHub。如果您的存储库是私有的（也就是说，它不能在上公开访问 GitHub），则必须向 App Runner 提供连接详细信息。

**重要**  
要创建 GitHub 连接，必须使用 App Runner 控制台 ([https://console.aws.amazon.com/apprunner](https://console.aws.amazon.com/apprunner)) 创建链接到的连接。 GitHub AWS使用 T AWS oolkit 的命令窗格配置服务实例时，您可以选择**GitHub连接**页面上可用的连接。  
有关更多信息，请参阅 *AWS App Runner 开发人员指南*中的[管理 App Runner 连接](https://docs.aws.amazon.com/apprunner/latest/dg/manage-connections.html)。

App Runner 服务实例提供托管运行时，允许您的代码生成和运行。 AWS App Runner 目前支持以下运行时：
+ Python 托管运行时 
+ Node.js 托管运行时

作为服务配置的一部分，您可以提供有关 App Runner 服务如何构建和启动服务的信息。您可以使用**命令调色板**输入此信息，或指定 YAML 格式的 [App Runner 配置文件](https://docs.aws.amazon.com/apprunner/latest/dg/config-file.html)。此文件中的值指示 App Runner 如何构建和启动服务以及提供运行时上下文。这包括相关的网络设置和环境变量。配置文件名为 `apprunner.yaml`。它会自动添加到应用程序存储库的根目录中。

 

------

## 定价
<a name="app-runner-pricing"></a>

您需要为应用程序使用的计算和内存资源付费。此外，如果选择自动执行部署，则还需要为每个应用程序支付一笔固定的月费，其中涵盖该月的所有自动化部署。如果您选择从源代码进行部署，则需要为 App Runner 从源代码构建容器所用的时间支付构建费用。

有关更多信息，请参阅[AWS App Runner 定价](https://aws.amazon.com/apprunner/pricing/)。

**Topics**
+ [先决条件](#apprunner-prereqs)
+ [定价](#app-runner-pricing)
+ [创建 App Runner 服务](creating-service-apprunner.md)
+ [管理 App Runner 服务](managing-service-apprunner.md)