为 s3-website 而不是 s3 创建 VPC 端点

Create VPC Endpoint for s3-website, not s3

我有一个 public s3 静态网站,我想隐藏 public 默认 URL 以便它只能通过我自己的反向代理使用 VPC 端点查看。

它目前正在使用 URL 进行标准存储桶访问:my-bucket.bucket.vpce-xxxxxxxxxx.s3.us-east-2.vpce.amazonaws.com,但这只允许目录浏览 public。

是否可以为 s3-website 版本而不是 s3 创建端点,以便目录路由到 index.html?我在 AWS 文档中绝对找不到任何关于 s3-website 端点的内容,只有标准的 s3 端点。

不,没有“s3-website”VPC 端点这样的东西。

以下方法仅适用于 S3 的网关 VPC 端点

您可以将以下存储桶策略附加到启用了静态网站托管的存储桶,

{
   "Version": "2012-10-17",
   "Id": "Policy1415115909152",
   "Statement": [
     {
       "Sid": "Access-to-specific-VPCE-only",
       "Principal": "*",
       "Action": "s3:GetObject",
       "Effect": "Allow",
       "Resource": "arn:aws:s3:::awsexamplebucket1/*",
       "Condition": {
         "StringEquals": {
           "aws:SourceVpce": "vpce-1a2b3c4d"
         }
       }
     }
   ]
}

然后使用存储桶网站端点(例如 us-east-1,http://xxx.s3-website-us-east-1.amazonaws.com)访问您的网站。现在,互联网流量将被阻止,您可以使用 S3 的 VPC 端点私下访问您的网站。干杯!