一般性问题

问:为何我应该使用 AWS App Runner?
答:AWS App Runner 是客户在 AWS 上运行其 Web 应用程序(包括 API 服务、后端 Web 服务和网站)的最简便方法。利用 App Runner,您不再需要基础设施或容器编排。您可以在几分钟之内从现有的容器映像、容器注册表、源代码存储库或现有的 CI/CD 工作流转到 AWS 上完全运行的容器化 Web 应用程序。 

App Runner 与您的开发工作流程无缝集成,以提供适当的自动化水平来部署您的代码或容器映像,而不需要您了解、预置、扩展或管理任何 AWS 计算、联网和路由资源。您可以轻松地运行成千上万的应用程序,这些应用程序将根据您的流量需求自动进行扩展。您的应用程序还可以在由 AWS 维护和运营的基础设施上运行,从而提供安全性和合规性最佳实践,例如自动化安全补丁和加密。

问:如何开始使用 AWS App Runner?
答:您可以转到 App Runner 控制台或使用 AWS CLI 并创建 App Runner 应用程序,从而在 AWS 上部署 AWS App Runner 应用程序。创建 App Runner 应用程序时,您可以提供容器映像,连接容器注册表或连接源代码存储库,以及输入任何可选的构建和开始命令。App Runner 将自动创建具有相应安全 URL 的服务。

问:如果不使用容器,是否仍可以使用 AWS App Runner?
答:可以。AWS App Runner 支持在包含支持的运行时和框架的精选 App Runner 平台上自动构建容器映像。当您关联现有的源代码存储库并有选择地向 App Runner 提供运行时构建和启动命令时,App Runner 会自动将您的 Web 应用程序容器化,并提供一个正在运行的 Web 应用程序。 

问:如果我需要更大的灵活性,是否可以从 AWS App Runner 迁移到 Amazon Elastic Container Service (Amazon ECS)、Amazon Elastic Kubernetes Service (Amazon EKS) 或其他 AWS 服务?
答:可以。您可以使用在 Amazon ECS 或 Amazon EKS 上部署到 App Runner 的相同容器映像。这使您可以随着需求的变化灵活地迁移到不同的服务。您可以使用该服务提供的工具和引导工作流,将代码或容器直接部署到您选择的新 AWS 服务。 

问:使用 Amazon Virtual Private Cloud (Amazon VPC) 支持的 App Runner 启用哪些使用案例?
答:App Runner 上的 Amazon VPC 支持使您的服务能够访问在 VPC 中运行的 Amazon Relational Database Service (RDS) 实例中的数据库引擎,如 Amazon Aurora、MySQL、PostgreSQL 和 MariaDB。该支持也使您的服务能够访问托管在 VPC 中 Amazon ElastiCache 节点上的 Redis 缓存;将消息推送给消息代理,如 VPC 中的 Amazon Managed Streaming for Apache Kafka 或 Amazon MQ;并与在 AWS Fargate 上运行、由 Amazon Elastic Container Service 和 Amazon Elastic Kubernetes Service 或 VPC 中的 Amazon Elastic Compute Cloud 支持的后端服务交流。最后,您也能使您的服务与本地数据库交流,可通过 VPC 中设置的 AWS Direct Connect 网络连接连接该本地数据库。

开发人员

问:我可以在 AWS App Runner 上运行哪些类型的应用程序?
答:AWS App Runner 支持完整的堆栈开发,包括使用 HTTP 和 HTTPS 协议的前端和后端 Web 应用程序。这些应用程序包括 API 服务、后端 Web 服务和网站。App Runner 支持容器映像,以及运行时和 Web 框架,包括 Node.js 和 Python。 

问:使用 AWS App Runner,我有哪些类型的部署选项? 
答:AWS App Runner 支持多种部署选项,包括使用 App Runner 控制台或 AWS CLI 立即部署容器映像的能力。如果现有 CI/CD 工作流使用 AWS CodePipeline、Jenkins、Travis CI、CircleCI 或其他 CI/CD 工具链,则可以使用 App Runner API 或 AWS CLI 轻松地将 App Runner 添加为部署目标。如果您希望 App Runner 自动为您提供连续部署,则可以轻松地连接到现有的容器注册表或源代码存储库,App Runner 将自动为您提供连续的部署管道。 

使用 App Runner,您可以让每个容器映像或源代码分支具有唯一的应用程序,并具有单独的环境变量、部署类型(例如开发应用程序或生产应用程序)以及构建和启动命令。部署后,您将获得在 App Runner 上运行 Web 应用程序的所有益处,包括默认安全性、自动扩展和监控。

问:AWS App Runner 如何根据不同的需求扩展应用程序?
答:AWS App Runner 监控发送到您的应用程序的并发请求的数量,并根据请求量自动增加额外的实例。如果您的应用程序未收到传入请求,则 App Runner 会将容器缩小到预置实例,一个 CPU 节流的实例,准备好在几毫秒内处理传入的请求。您还可以选择在应用程序的自动扩展设置中配置发送到实例的并发请求数。

问:我可以对在 AWS App Runner 上运行的 Web 应用程序使用自己的域名吗?
答:只需使用 App Runner 控制台或 AWS CLI 将自定义域添加到您的 AWS App Runner 应用程序。在您添加自定义域名后,App Runner 会提供说明,帮助您向 DNS 提供商更新您的 DNS 记录。App Runner 支持自定义子域 (www.example.com)、自定义根域 (example.com) 和通配符域 (example.com)。 

问:如果我的应用程序需要访问存储、数据库或缓存服务怎么办?
答:AWS App Runner 并不限制您将应用程序连接到其他存储、数据库或应用程序集成服务的能力。客户可以轻松地使用必要的代码和连接说明来配置其应用程序或容器,并且他们的应用程序可以通过网络安全地与这些外部服务进行通信。

问:如何查看我在 AWS App Runner 上运行的应用程序的日志?
答:AWS App Runner 与 Amazon CloudWatch Logs 完全集成,并为您提供从所有系统组件、Web 框架、运行时、构建和部署命令以及应用程序/Web 服务器的输出流汇总的运行时日志和部署日志。App Runner 将这些聚集成一个综合渠道,可通过 App Runner 控制台、CloudWatch 控制台和 AWS CLI 使用。 

答:我是否可以使用编排工具在 AWS App Runner 上运行 Web 应用程序,并在 AWS Fargate 上运行持久性应用程序?
答:可以。如果您需要运行其他应用程序(例如需要持久性文件系统或机器学习作业的内容管理系统),则可以将 AWS Fargate 与能够支持多种资源(例如图形加速或持久化卷)的编排工具一起使用。如果您使用的是 Copilot CLI,则可以继续使用该工具,因为它同时支持 App Runner 和 ECS/Fargate。您还可以将 Amazon CloudWatch 用作单一虚拟管理平台,以监控跨 App Runner 运行的应用程序、在 Fargate 上运行的 Amazon ECS 任务以及在 Fargate 上运行的 Amazon EKS pod。

问:Copilot 是否支持 AWS App Runner?
答:AWS Copilot 是一种命令行界面 (CLI),让客户能在 AWS 上快速启动并轻松管理容器化应用程序。您可以使用 Copilot 快速启动并在 AWS App Runner 上运行。您还可以将 Copilot 用作标准 CLI,以在 AppRunner 和/或 ECS/Fargate 之间进行操作。

问:如何为 App Runner 应用程序启用 VPC 支持?
答:在创建 App Runner 应用程序时,您可以传递 VPC ID、子网和安全组。该信息可用于创建网络接口,以实现对 VPC 的通信。如果您传递多个子网,App Runner 会创建多个网络接口,每个子网一个接口。为提升可用性,我们建议您至少指定两个子网。

定价与计费

问:AWS App Runner 如何收费?
答:您需要为应用程序所使用的计算和内存资源付费。您还需要为额外的 App Runner 功能付费,如从源代码构建您的部署或自动化您的部署。有关更多信息,请参阅我们的定价页面

问:什么是 AWS App Runner 预算控制?
答:您可以为应用程序使用的活动容器实例数设置上限,以便费用不会超过预算。

问:在 App Runner 上访问 VPC 需要付费吗?
答:不需要。您只需支付数据传输费用,例如,您将支付 App Runner 应用程序和 Amazon Relational Database Service 实例之间的通信费用(如果其位于不同的可用区)。

了解如何开始使用

AWS App Runner 入门。

了解更多 
注册免费账户

立即享受 AWS 免费套餐。 

注册 
开始在控制台中构建

在 AWS 管理控制台中,使用 AWS App Runner 开始构建。

登录