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

让CloudFront通过VPC终端节点访问S3是否可行?客户需求存疑

解决方案:CloudFront 访问私有 S3 并结合 VPC 终端节点需求

核心思路澄清

首先,你想的ALB中转方案完全没必要——CloudFront本身就支持直接访问私有S3桶,不需要额外中间层。另外得明确:VPC网关终端节点是给你VPC内的资源(比如EC2、Lambda)提供私网访问S3的路径,而CloudFront属于AWS全球边缘网络服务,不在你的VPC范围内,所以它没法直接用你的VPC终端节点访问S3。

拆解客户的核心需求其实是三个:

  • S3桶本身绝对私有,禁止公网直接访问
  • VPC内的资源(含VPN接入的设备)能通过VPC终端节点私网访问S3
  • 公网用户通过CloudFront正常访问S3静态资源

下面是满足所有需求的标准方案:


方案1:CloudFront OAI + 私有S3桶 + S3网关终端节点

这是最简洁高效的架构,完全匹配需求:

  1. 把S3桶设为私有:关闭桶的所有公有访问设置,删除任何公开权限的桶策略,只保留必要的内部权限。
  2. 创建CloudFront Origin Access Identity (OAI):这是CloudFront专属的身份实体,用来让CloudFront获得访问私有S3桶的权限。
  3. 给OAI授权S3访问权限:在S3桶策略中添加允许OAI读取桶内对象的规则,示例如下:
    {
      "Version": "2008-10-17",
      "Id": "PolicyForCloudFrontPrivateContent",
      "Statement": [
        {
          "Sid": "1",
          "Effect": "Allow",
          "Principal": {
            "AWS": "arn:aws:iam::cloudfront:user/CloudFront Origin Access Identity YOUR_OAI_ID"
          },
          "Action": "s3:GetObject",
          "Resource": "arn:aws:s3:::YOUR_BUCKET_NAME/*"
        }
      ]
    }
    
  4. 配置S3网关终端节点:在你的VPC中创建S3网关终端节点,这样VPC内的资源(比如VPN连接的办公电脑、EC2实例)就能通过私网访问S3桶,不走公网。如果需要限制VPC内哪些资源能访问,还可以在桶策略里添加对应VPC的IP段或IAM角色权限。

这个方案的优势:

  • 完全覆盖客户所有需求,S3桶私有性有保障,CloudFront分发正常,VPC内资源私网访问S3也能实现
  • 架构简洁无冗余,性能和成本都是最优的

为什么你的ALB方案不可取?

你提到的CloudFront -> ALB -> VPC终端节点 -> S3方案确实冗余,而且存在实际问题:

  • 如果用公网ALB,CloudFront访问公网ALB再绕回VPC终端节点,纯粹多此一举,只会增加延迟和成本
  • 如果用私网ALB,CloudFront无法直接访问(除非额外配置Origin Shield或Lambda@Edge跳转,复杂度飙升),而且没有任何额外安全收益——OAI方案已经能完全保证S3的私有性,ALB不会带来额外管控能力

极端场景补充:要求CloudFront回源也走VPC?

如果客户有强制合规需求,要求CloudFront的回源流量也必须经过你的VPC(而非AWS内部网络),可以用CloudFront OAC + S3接口终端节点 + 私有链接的方案,但这个方案复杂度高、成本也更高,仅适合合规要求极强的场景:

  1. 创建S3接口终端节点(注意是Interface类型,不是Gateway),并配置为私有访问
  2. 创建CloudFront Origin Access Control (OAC),配置回源地址为S3接口终端节点的私有域名
  3. 调整VPC安全组,允许CloudFront的边缘IP段访问S3接口终端节点

但这个方案远不如OAI+网关终端节点的方案实用,非必要不推荐。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 11:53:19