Невозможно получить доступ к статическому веб-сайту, размещенному в корзине S3, из VPC

Я хочу разместить статический веб-сайт на AWS с использованием корзины S3.

Я выполнил эти шаги.

Сайт представляет собой обычный каталог с подкаталогами:

      app
│   index.html   
└───scripts
│   │   things.js
│   │   stuff.js
└───images
    │   img1.png
    │   img2.jpg

Я хочу сделать сайт доступным только для людей внутри нашего VPC. Я прикрепил следующий тип политики к корзине, содержащей файлы сайта (добавив свое конкретное имя корзины и идентификатор VPC):

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

Я также настраиваю конечную точку VPC с идентификатором конечной точки, установленным в качестве значения для aws:sourceVpce внутри политики ведра.

Я настраиваю конечную точку VPC, выполнив следующие действия.

Но я все еще не могу получить доступ к этому сайту в моем браузере (я предполагаю, что, поскольку я получаю доступ к консоли AWS с тем же браузером, о котором известно AWS, я нахожусь внутри VPC).

      <Error>
    <Code>AccessDenied</Code>
    <Message>Access Denied</Message>
    <RequestId>blahblahblah</RequestId>
    <HostId>blahblahblah</HostId>
</Error>

2 ответа

Статические веб-сайты S3 требуют публичного доступа. Нет такого понятия, как частный веб-сайт S3 в VPC или доступный только через конечную точку VPC.

Чтобы ваш веб-сайт S3 работал, вы должны сделать свою корзину общедоступной или использовать CloudFront, который также доступен только через Интернет. Но, по крайней мере, ваша корзина может быть частной, если вы используете CloudFront (но не сам веб-сайт).

Возможно, вы захотите получить доступ к своему веб-сайту с помощью конечной точки VPC , в противном случае ваш трафик будет маршрутизироваться через общедоступный Интернет, а не напрямую в корзину.

На странице поддержки AWS, посвященной доступу к статическим веб-сайтам из VPC:

Конечная точка VPC связана с таблицей маршрутов экземпляра EC2, который вы используете, так что трафик связан с идентификатором VPC, указанным в политике корзины.

Другие вопросы по тегам