跳至内容

如何为 API Gateway HTTP API 创建与内部应用程序负载均衡器的私有集成?

2 分钟阅读
0

我想为 Amazon API Gateway HTTP API 创建与内部应用程序负载均衡器的私有集成。

解决方法

**注意:**如果您在运行 AWS 命令行界面 (AWS CLI) 命令时收到错误,请参阅 AWS CLI 错误故障排除。此外,请确保您使用的是最新版本的 AWS CLI

创建 VPC 链接

先决条件:创建应用程序负载均衡器

您可以使用 API Gateway 控制台或 AWS CLI 创建 VPC 链接。

API Gateway 控制台

完成以下步骤:

  1. 打开 API Gateway 控制台
  2. 在导航窗格中,选择 VPC links(VPC 链接),然后选择 Create(创建)。
  3. 对于 Choose a VPC link version(选择 VPC 链接版本),选择 VPC link for HTTP APIs(适用于 HTTP API 的 VPC 链接)。
  4. 对于 Name(名称),为 VPC 链接输入名称。
  5. VPC 下拉列表中,为您的应用程序负载均衡器选择要连接的 VPC。
  6. 对于 Subnets(子网),选择要包含在 VPC 链接中的子网。
  7. 对于 Security groups(安全组),为 VPC 链接选择安全组,然后选择 Create(创建)。

AWS CLI

运行以下 create-vpc-link 命令:

aws apigatewayv2 create-vpc-link --name MyVpcLink \      --subnet-ids subnet-aaaa subnet-bbbb \  
    --security-group-ids sg1234 sg5678

创建 HTTP API 和路由

完成以下步骤:

  1. 打开 API Gateway 控制台
  2. 选择 Create API(创建 API)。
  3. 对于 HTTP API,选择 Build(构建)。
  4. 对于 API name(API 名称),输入一个名称,然后选择 Next(下一步)。
  5. 对于 Configure routes(配置路由),选择 Next(下一步)。
  6. 对于 Configure stages(配置阶段),选择 Next(下一步),然后选择 Create(创建)。
  7. 在导航窗格中,选择 Routes(路由),然后选择 Create(创建)。
  8. 对于 Method(方法),选择 ANY
  9. 对于路径,输入 /{proxy+},然后选择 Create(创建)。

创建私有集成并部署 HTTP API

完成以下步骤:

  1. 打开 API Gateway 控制台
  2. 选择您的 HTTP API。
  3. 在导航窗格中,选择 Integrations(集成)。
  4. 对于 Integrations(集成),选择 Manage integrations(管理集成),然后选择 Create(创建)。
  5. 对于 Attach this integration to a route(将此集成附加到一个路由),选择 ANY /{proxy+}
  6. 对于 Integration target(集成目标),选择 Private resource(私有资源)。
  7. 对于 Integration details(集成详细信息),选择 Select manually(手动选择)。
  8. 对于 Target service(目标服务),选择 ALB/NLB
  9. 对于 Load balancer(负载均衡器),选择您的应用程序负载均衡器。
  10. 对于 Listener(侦听器),选择 HTTP 80
  11. 对于 VPC link(VPC 链接),选择您的 VPC,然后选择 Create(创建)。
  12. 如果未启用 Auto deploy(自动部署),请选择 Deploy(部署)。
  13. 对于 Invoke URL(调用 URL),记下 URL 并将其输入到新的浏览器窗口中。例如,URL 为 https://abcdef123.execute-api.us-east-1.amazonaws.com

**注意:**私有集成流量使用 HTTP 协议。如果您需要私有集成流量才能使用 HTTPS,请使用 AWS 管理控制台指定 TlsConfig。创建私有集成时,选择 Advanced settings(高级设置),然后输入安全的服务器名称。有关详细信息,请参阅在 API Gateway 中为 HTTP API 创建私有集成

相关信息

Amazon API Gateway HTTP API 教程

如何在 HTTP API 中映射 API Gateway 集成的响应状态代码?