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

如何在不开放公网端口的前提下,让私有子网EC2上的UI对外可访问?

可行解决方案

方案1:CloudFront + VPC端点 + Origin Access Control(推荐)

  • 部署CloudFront分发,将源设置为私有子网EC2的私有IP:UI端口
  • 在EC2所在VPC中创建CloudFront的Interface类型VPC端点,确保CloudFront能通过私有网络访问EC2
  • 配置EC2安全组:仅允许CloudFront VPC端点的CIDR或关联安全组访问UI端口,无需开放任何公网IP段
  • 启用CloudFront的Origin Access Control(OAC),强制所有访问EC2的流量必须经过CloudFront,避免未授权的直接访问
  • 用户通过CloudFront分配的公网域名访问UI,流量全程通过AWS私有网络链路到达EC2,EC2无需配置公网IP或开放公网端口

方案2:公网ALB + 私有EC2目标组

  • 在VPC的公有子网部署公网类型的Application Load Balancer(ALB)
  • 创建目标组,将私有子网内的EC2实例添加为目标,指定UI端口
  • 配置EC2安全组:仅允许ALB的安全组访问UI端口,无需开放公网IP
  • 用户直接访问ALB的公网域名,流量经ALB转发到私有子网的EC2,EC2全程不暴露公网端口
  • 若需进一步提升安全性,可在ALB前端再套一层CloudFront,用OAC限制仅CloudFront能访问ALB,统一入口并增强防护

方案3:API Gateway + Lambda反向代理(适合轻量UI)

  • 创建API Gateway REST API,设置对应UI路径的资源
  • 部署Lambda函数,配置VPC访问权限(关联EC2所在VPC的子网和安全组),让Lambda能访问私有EC2的UI服务
  • 将API Gateway的资源集成到Lambda,由Lambda转发请求到EC2并返回UI内容
  • 用户访问API Gateway的公网域名获取UI,EC2仅需允许Lambda所在安全组访问,无需开放公网端口

与现有后端架构的兼容建议

上述方案均可与你已有的NLB+API网关架构共存:

  • 若用CloudFront方案,可在分发中配置路径规则,将UI路径转发到EC2,API路径转发到现有API网关,实现统一入口
  • 若用ALB方案,可在ALB中添加监听规则,区分UI和API流量,分别转发到EC2和NLB/API网关

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 06:05:12