View a markdown version of this page

开启无服务器虚拟主机 AWS App Runner - AWS App Runner 上的无服务器虚拟主机

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

开启无服务器虚拟主机 AWS App Runner

发布日期:2023 年 5 月 3 日 (图表历史)

该参考架构详细介绍了如何在无需预置或管理基础架构的情况下运行无服务器、容器化 Web 应用程序的两种场景。

开启无服务器虚拟主机 AWS App Runner

参考架构图显示了如何 AWS App Runner 使用源代码和源映像场景运行无服务器、容器化虚拟主机。

开发者体验:AWS App Runner用于基于两种类型的服务源创建和管理 Web 服务:源代码和源图像。

  1. 场景 1 使用源代码:

    a. 将代码提交到 GitHub 源代码存储库。

    b. 授权访问 GitHub 使用中的源代码AWS CodeStar。

    c. 提供构建和运行 Web 服务的说明,并指定支持的托管运行时环境AWS App Runner。AWS CodeBuild然后自动打包代码及其依赖关系并构建新的容器镜像。

    d. 然后,容器镜像被推送并存储到托管在AWS App Runner自有账户中的亚马逊弹性容器注册表 (Amazon ECR) 存储库中。

  2. 场景 2 使用源图像:

    a. 或者,从存储在客户管理的 Amazon ECR 存储库中的预建映像开始,托管在客户拥有的账户中。

    b. 通过使用AWS IAM Identity Center角色授权访问容器镜像,然后将该映像推送并存储到AWS App Runner托管的 Amazon EC R 存储库中。

    创建 App Runner 服务:

  3. 然后,将存储在 Amazon ECR 中的容器映像作为无服务器AWS Fargate任务提取到AWS App Runner自有亚马逊虚拟私有云(也称为AWS App Runner服务 VPC)中部署。这些AWS Fargate任务部署在跨多个可用区域运行的AWS Fargate集群上,以实现私有子网的高可用性,并配置了AWS 应用程序 Auto Scaling 。

  4. 安全服务 URL 位于成功部署 created/published 之后。安全服务 URL 映射到面向公众的AWS 网络负载均衡器,并由AWS App Runner分配默认域名。客户也可以 associate/map 拥有自己的自定义域名,但该域名必须是可公开解析的,并且可以在 Amazon Route 53 公共托管区域或任何 DNS 提供商处注册。

开启无服务器虚拟主机 AWS App Runner

参考架构图显示了如何在不预置或管理基础架构AWS App Runner的情况下运行无服务器、容器化虚拟主机。

AWS App Runner是一种安全、一致的解决方案,用于使用公共端点或服务 URL 公开 Web 应用程序。

入站流量路径:

  1. 客户端向服务 URL 发起请求。

  2. 服务网址使用亚马逊 Route 53 解析为面向公众的网络负载均衡器。AWS NLB 由该服务自动配置和拥有。AWS App Runner

  3. 该请求通过AWS 网络负载均衡器 (AWS NLB) 进入所AWS App Runner拥有的 VPC,并被重定向到 L7 请求路由器。

  4. L7 请求路由器将传入的请求路由到特定的 Web 服务实例或AWS Fargate任务。

    出站流量路径,场景 1(Web 服务不需要访问 customer/private VPC 内的下游依赖关系):

  5. a. 出站(或返回)流量通过AWS托管的 NAT 网关和在自己的 VPC 或默认网络模式中配置的互联网网关路由到互联网。AWS App Runner

    出站流量路径,场景 2(Web 服务需要访问 customer/private VPC 内的下游依赖关系):

    b. 出站流量被转发到 customer/private自有的 VPC,私 resources/dependencies 有流量将在最后手动配置。user/developer流量根据 VPC 路由表转发到目标终端节点。

  6. 互联网流量通过客户管理的 NAT 网关和在 customer/private自有的 VPC 或 VPC 出口网络模式下配置的互联网网关进行路由。

  7. AWS Identity and Access Management(AWS IAM)、AWS Key Management Service (AWS KMS) 和AWS Systems Manager参数存储可确保基于角色的访问并安全地存储机密数据。AWS Secrets Manager亚马逊 CloudWatch并AWS X-Ray保持可观察性。

延伸阅读

有关其他信息,请参阅

图表历史

要获得有关此参考架构图更新的通知,请订阅 RSS 提要。

变更说明日期

初次发布

参考架构图首次发布。

2021 年 5 月 3 日

注意

要订阅 RSS 更新,必须为正在使用的浏览器启用 RSS 插件。