配合使用 AWS App Runner 和 AWS Toolkit for Visual Studio Code - AWS Toolkit for VS Code

配合使用 AWS App Runner 和 AWS Toolkit for Visual Studio Code

AWS App Runner 提供了一种快速、简单且经济高效的方式,从源代码或容器镜像直接部署到 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 作为源代码存储库提供商。

先决条件

要使用 AWS Toolkit for Visual Studio Code 与 App Runner 交互,需要具备以下条件:

  • AWS 账户

  • 具有 AWS App Runner 的 AWS Toolkit for Visual Studio Code 版本

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

授予 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) 镜像。

使用 VS Code 的命令面板配置服务实例时,您可以自动创建此角色。

注意

AWSServiceRoleForAppRunner 服务相关角色允许 AWS App Runner 完成以下操作:

  • 将日志推送到 Amazon CloudWatch Logs 日志组。

  • 创建 Amazon CloudWatch Events 规则,以订阅 Amazon Elastic Container Registry (Amazon ECR) 镜像推送。

无需手动创建 服务相关角色。在 AWS Management Console 中创建 AWS App Runner 或使用 AWS Toolkit for Visual Studio Code 调用的 API 操作进行创建时,AWS App Runner 将为您创建此服务相关角色。

有关更多信息,请参阅 AWS App Runner 开发人员指南中的适用于 App Runner 的 Identity and Access Management

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

Source image

如果从源镜像进行部署,则可以从私有或公有 AWS 镜像注册表中获取指向该镜像存储库的链接。

注意

您还可以直接从 Toolkit for VS Code 中的 AWS Explorer 获取私有 Amazon ECR 存储库的 URI:

  • 打开 AWS Explorer,然后展开 ECR 节点以查看该 AWS 区域的存储库列表。

  • 右键单击存储库,然后选择 Copy Repository URI(复制存储库 URI)以将链接复制到剪贴板。

使用 VS Code 的命令面板配置服务实例时,您可以指定映像存储库的 URI。

有关更多信息,请参阅 AWS App Runner 开发人员指南中的基于源镜像的 App Runner 服务

Source code

要将源代码部署到 AWS App Runner 服务,该代码必须存储在由受支持的存储库提供商维护的 Git 存储库中。App Runner 支持一个源代码存储库提供商:GitHub

有关设置 GitHub 存储库的信息,请参阅 GitHub 上的入门文档

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

重要

要创建 GitHub 连接,必须使用 App Runner 控制台 (https://console.aws.amazon.com/apprunner) 创建将 GitHub 链接到 AWS 的连接。使用 VS Code 的命令面板配置服务实例时,您可以选择 GitHub 连接页面上可用的连接。

有关更多信息,请参阅 AWS App Runner 开发人员指南中的管理 App Runner 连接

App Runner 服务实例提供了允许构建和运行代码的托管运行时。AWS App Runner 目前支持以下运行时:

  • Python 托管运行时

  • Node.js 托管运行时

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

定价

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

有关更多信息,请参阅 AWS App Runner 定价