应用程序负载均衡器能否路由至S3托管静态网站并对接API网关?
关于应用程序负载均衡器(ALB)的两个问题解答
1. ALB能否直接路由到S3静态网站?
不行。ALB的目标组仅支持EC2实例、弹性IP、Lambda函数、ECS服务这类资源,S3并不在ALB原生支持的目标类型列表里。
如果想通过ALB访问S3托管的静态网站,可以用这些替代方案:
- 用Lambda函数作为中间转发层:创建Lambda函数处理ALB的请求,再从S3获取资源返回给用户
- 部署一个EC2实例作为反向代理:让ALB把请求转发到EC2,由EC2代理访问S3内容
- 结合CloudFront:将S3作为CloudFront的源,然后让ALB把请求转发到CloudFront的分配地址(不过这种场景下CloudFront本身也能做负载均衡,需根据实际需求评估)
2. ALB能否通过VPC终端节点路由到API Gateway?
可以,但需要根据API Gateway的类型配置对应的VPC终端节点:
- 对于REST API和HTTP API:创建Interface类型的VPC终端节点(对应服务名
com.amazonaws.<区域>.execute-api),确保ALB所在的VPC与该终端节点处于同一VPC,或通过VPC对等连接/中转网关连通。之后ALB可以将请求转发到这个终端节点的DNS地址,所有流量会在VPC内部流转,无需经过公网。 - 注意:如果是API Gateway的私有API,必须通过VPC终端节点访问;如果是公有API,也可以通过VPC终端节点实现内网访问,避免公网流量开销。
内容的提问来源于stack exchange,提问作者Sarah Ganci
相关产品推荐
相关产品推荐

