AWS Cloudfront Origin Failover с бакетами S3 в том же регионе

Первая корзина, something-cf-validate-origin-primary-DevOps, имеет index.html в корне корзины S3 с содержимым,

<html>
<body>
Home page
</body>
</html>

Вторая корзина, something-cf-validate-origin-failover-DevOps, имеет index.html в корне корзины S3.

<html>
<body>
Maintenance page
</body>
</html>

Обе корзины S3 имеют статический веб-хостинг и общедоступны с конечной точки.

Распространение Cloudfront состоит из двух источников.

введите здесь описание изображения

Исходная группа, как показано ниже,

введите здесь описание изображения

Поведение указывает на группу Origin,

введите здесь описание изображения

Для корневого объекта Cloudfront по умолчанию задано значение index.html.

Когда я нажимаю на доменное имя Cloudfront Distribution, я получаю «домашнюю страницу».

Когда я переименовываю index.html в index-disable.html в первом сегменте, я должен получить «страницу обслуживания», поскольку отработка отказа Cloudfront должна обслуживать страницу из второго сегмента, поскольку он получил 404 из первого сегмента.

Но я получаю сообщение «Доступ запрещен», когда переименовываю index.html в index-disable.html.


person karthikeayan    schedule 05.06.2020    source источник


Ответы (1)


Вы получаете статус 403.

Из документации AWS

Check if the requested object exists in the bucket. If a user doesn’t have s3:ListBucket permissions, then the user gets Access Denied errors for missing objects instead of 404 Not Found errors. Run this AWS CLI command to check if an object exists in the bucket

Пользователь в этом случае - это политика сегмента, поэтому ему необходимо предоставить разрешение s3:ListBucket.

Для 403 может быть проще также выполнить аварийное переключение.

person Chris Williams    schedule 05.06.2020