You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用CloudFront连接EKS私有集群内的Internal ALB(仅HTTP)?

可行的连接方案

由于Internal ALB仅在VPC内部可访问,CloudFront作为公网服务无法直接穿透VPC访问私有资源,以下是仅使用HTTP协议、无需SSL证书的可行配置方案:

方案一:通过VPC端点服务(AWS PrivateLink)实现CloudFront访问Internal ALB

这是官方推荐的生产级方案,无需暴露内部资源到公网:

  1. 为Internal ALB创建VPC端点服务
    • 进入AWS VPC控制台,找到「端点服务」并点击创建
    • 关联你的Internal ALB作为服务负载均衡器
    • 在权限设置中,添加cloudfront.amazonaws.com作为可信实体,允许CloudFront访问该端点服务
  2. 配置CloudFront分发源
    • 新建或编辑CloudFront分发,将Origin域名设置为VPC端点服务的DNS名称(而非Internal ALB的域名)
    • Origin协议策略选择「HTTP only」
  3. 验证网络配置
    • Internal ALB的安全组需允许来自VPC端点服务所在子网的80端口流量
    • VPC端点服务的子网路由表需能访问Internal ALB所在子网

方案二:用EC2中转代理(适合临时测试或小规模场景)

如果不想配置PrivateLink,可在VPC公有子网部署EC2作为反向代理:

  1. 在EC2上安装Nginx/Apache,配置反向代理指向Internal ALB
    • 示例Nginx配置:
      server {
          listen 80;
          location / {
              proxy_pass http://[Internal-ALB-DNS];
              proxy_set_header Host $host;
          }
      }
      
  2. 为EC2分配弹性公网IP(EIP),安全组允许CloudFront IP段访问80端口
  3. 将CloudFront的Origin设置为EC2的EIP或公网DNS,协议策略选择「HTTP only」

关键注意事项

  • 在CloudFront的「行为」设置中,将「查看器协议策略」改为「HTTP only」,避免强制跳转HTTPS引发的证书问题
  • 确认Internal ALB的目标组健康检查正常,应用可在VPC内部通过HTTP正常访问
  • 若使用PrivateLink,需确保VPC端点服务状态为「可用」,且CloudFront能正确解析其DNS

内容的提问来源于stack exchange,提问作者Pavithran Baskaran

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 15:42:12