相关疑难解决方法(0)

如何将API网关与内部ALB集成

根据https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-develop-integrations-private.html,可以使用私有VPC链接将API网关与内部应用程序负载均衡器集成。

但是我无法让它发挥作用。

我有一项可通过 ALB 在内部访问的服务。ALB 没有公共 IP,它平衡 AWS Fargate 集群中的请求(全部位于私有子网内)。

ubuntu@ip-10-0-40-89:~$ curl http://internal-sasw-alb-355535611.eu-west-1.elb.amazonaws.com/health
Assembly=Sasw.SampleService, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null, Environment=Production, CurrentTime=05/05/2021 08:36:00
Run Code Online (Sandbox Code Playgroud)

所以内部一切都很好,我可以提供服务GET http://alb_url/health

我想访问相同的服务,只是这次通过 API 网关。所以我做了以下事情:

  1. 我创建了一个foo与 VPC 关联的 HTTP API 类型的 VPC 链接,特别是与 EC2 实例(Fargate 集群)所在的 3 个私有子网关联的 VPC链接10.0.40.0/2410.0.50.0/2410.0.60.0/24
  2. 我创建了一个 HTTP API 类型的 API 网关foo
  3. 我为方法 ANY 和 URL 端点添加了集成 HTTP http://internal-rubiko-alb-355535611.eu-west-1.elb.amazonaws.com(我也尝试过http://internal-rubiko-alb-355535611.eu-west-1.elb.amazonaws.com/{proxy}http://internal-rubiko-alb-355535611.eu-west-1.elb.amazonaws.com/{proxy+}没有成功)
  4. 我将路线保留为建议的 Method ANY、资源路径/%7Bproxy%7D和集成目标ANY http://internal-rubiko-alb-355535611.eu-west-1.elb.amazonaws.com/{proxy}
  5. 我留下艺名$default并自动部署
  6. 创造。它给了我调用网址https://7ki6gvrngl.execute-api.eu-west-1.amazonaws.com …

amazon-web-services amazon-vpc aws-api-gateway aws-application-load-balancer

15
推荐指数
1
解决办法
2万
查看次数