本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用私有终端节点和应用程序负载均衡器API在内部网站上部署 Amazon API Gateway
由 Saurabh Kothari 创作 () AWS
环境:生产 | 技术:Web 和移动应用程序;网络;无服务器;基础架构 | AWS服务:亚马逊 API Gateway;亚马逊 Route 53;AWSCertifice Manager (ACM) |
Summary
此模式向您展示如何在可从本地网络访问的内部API网站上部署 Amazon API Gateway。您将学习使用专有终端节点、Application Load Balancer 和 Amazon Route 53 设计的架构为私有域名创建自定义域名。API AWS PrivateLink这种架构可防止使用自定义域名和代理服务器来帮助在上进行基于域的路由而产生的意想不到的后果。API例如,如果您在不可路由的子网中部署虚拟私有云 (VPC) 终端节点,则您的网络将无法访问API网关。常见的解决方案是使用自定义域名,然后将其部署在可路由的子网API中,但是当代理配置将流量 (execute-api.{region}.vpce.amazonaws.com
) 传递到 Di AWS rect Connect 时,这可能会中断其他内部站点。最后,这种模式可以帮助您满足使用无法通过互联网访问API的私有域名和自定义域名的组织要求。
先决条件和限制
先决条件
一个活跃的AWS账户
您的网站的服务器名称指示 (SNI) 证书,以及 API
从本地环境到使用 Di AWS rect Connect 设置的AWS账户的连接或 AWS Site-to-Site VPN
带有相应域(例如 domain.com)的私有托管区域,该域名从本地网络解析并将DNS查询转发到 Route 53
可从本地网络访问的可路由私有子网
限制
有关负载均衡器、规则和其他资源的配额(以前称为限制)的更多信息,请参阅 Elastic Load Balancing 文档中的应用程序负载均衡器配额。
架构
技术堆栈
亚马逊API网关
Amazon Route 53
应用程序负载均衡器
AWSCertification
AWS PrivateLink
目标架构
下图显示了如何部署应用程序负载均衡器,VPC该负载均衡器是如何根据应用程序负载均衡器侦听器规则将网络流量引导到网站目标组或API网关目标组的。API网关目标组是网API关中VPC终端节点的 IP 地址列表。APIGateway 配置为使用其资源策略将其设为API私有。该策略拒绝所有不是来自特定VPC终端节点的呼叫。API网关中的自定义域名已更新为使用 api.domain.com 作为及其阶段。API添加了应用程序负载均衡器规则,以根据主机名路由流量。
图表显示了以下工作流:
本地网络中的用户尝试访问内部网站。该请求已发送至 ui.domain.com 和 api.domain.com。然后,请求被解析至可路由私有子网的内部应用程序负载均衡器。在 ui. SSL domain.com 和 api.domain.com 的 Application Load Balancer 上终止。
在应用程序负载均衡器上配置的侦听器规则将检查主机标头。
a. 如果主机标头是 api.domain.com,则请求将转发到网关目标组。APIApplication Load Balancer 通过端口 443 启动与API网关的新连接。
b. 如果主机标头为 ui.domain.com,则请求将转发到网站目标组。
当请求到达 API Gateway 时,Gate API way 中配置的自定义域映射将决定主机名和API要运行的主机名。
自动化和扩缩
可以使用AWS CloudFormation 或 AWS Cloud Development Kit (AWSCDK) 自动执行此模式中的步骤。要配置API网关呼叫的目标组,必须使用自定义资源来检索VPC终端节点的 IP 地址。API调用describe-vpc-endpoints
工具
Amazon API Gateway 可帮助您以任何规模创建、发布RESTHTTP、维护、监控和 WebSocket APIs保护。
Amazon Route 53 是一项高度可用且可扩展的DNS网络服务。
AWSCertifice Manager (ACM) 可帮助您创建、存储和续订保护您的AWS网站和应用程序的公共和私有SSL/TLSX.509 证书和密钥。
AWSCloud Development Kit (AWSCDK) 是一个软件开发框架,可帮助您在代码中定义和配置AWS云基础架构。
AWS PrivateLink帮助您创建从您VPCs到外部服务的单向私有连接。VPC
操作说明
任务 | 描述 | 所需技能 |
---|---|---|
创建SNI证书并将证书导入ACM。 |
| 网络管理员 |
任务 | 描述 | 所需技能 |
---|---|---|
在 Gate API way 中创建接口VPC终端节点。 | 要创建接口VPC终端节点,请按照 Amazon Vir tual Private Cloud (AmazonVPC) 文档中的使用接口VPC终端节点访问AWS服务中的说明进行操作。 | 云管理员 |
任务 | 描述 | 所需技能 |
---|---|---|
为应用程序创建目标组。 | 为应用程序的 UI 资源创建目标组。 | 云管理员 |
为API网关终端节点创建目标组。 |
| 云管理员 |
创建应用程序负载均衡器。 |
| 云管理员 |
创建侦听器规则。 | 创建侦听器规则,以执行以下操作:
| 云管理员 |
任务 | 描述 | 所需技能 |
---|---|---|
创建和配置私有API终端节点。 |
| 应用程序开发人员、云管理员 |
创建自定义域名。 |
| 云管理员 |