AWS App Runner 热门2021年〜
全托管部署和运行容器化 Web 应用与 API 的服务
它能做什么
AWS App Runner 是一项全托管服务,可从容器镜像或源代码自动构建、部署和扩展 Web 应用与 API。负载均衡器、TLS 证书和自动扩展均自动配置,无需基础设施知识即可在生产环境运行容器应用。无流量时自动缩减至最小配置以降低成本。
日常类比
可以将其比作餐车租赁服务。开一家餐厅(应用)需要找场地、装修、安装设备(基础设施搭建)。使用餐车服务(App Runner),只需提交菜谱(源代码),就会为您准备好配有烹饪设备的餐车(容器环境),并根据顾客数量(流量)自动调整餐车数量。
什么是 App Runner
AWS App Runner 是部署容器化 Web 应用最简单的方式。ECS 和 EKS 需要配置集群、任务定义、服务、负载均衡器等众多设置,而 App Runner 只需指定容器镜像或源代码仓库,几分钟内即可发布支持 HTTPS 的 Web 应用。
部署方式
App Runner 提供两种部署方式。第一种是从 ECR(Elastic Container Registry)指定容器镜像,适合已经容器化的应用。第二种是连接源代码仓库(GitHub),App Runner 自动完成从构建到部署的全过程。两种方式都支持代码更新时的自动部署。
自动扩展
App Runner 根据传入请求数自动扩展。流量增加时实例数自动增加,流量减少时自动缩减。将最小实例数设为 1 可以在无流量时将成本降至最低。扩展配置非常简单——只需指定并发请求数阈值即可。 想要系统学习自动扩展的读者,专业书籍(Amazon)也是很好的参考。
开始使用
在 App Runner 控制台中点击"创建服务",选择容器镜像或 GitHub 仓库作为源。选择 CPU 和内存大小,指定端口号,点击"创建并部署"。几分钟内即可获得支持 HTTPS 的 URL 并访问应用。自定义域名设置也可从控制台轻松完成。
注意事项
- App Runner 对活跃实例和暂停实例的定价不同——暂停实例仅收取内存费用
- 访问 VPC 内的资源(RDS、ElastiCache 等)需要配置 VPC 连接器
- 不支持 WebSocket 和 gRPC,如需这些协议请考虑使用 ECS 或 EKS