Я развертываю простое веб-приложение на S3
через amplify publish
. На хостинге включена поддержка Cloudfront
(я выбрал среду PROD для усиления при настройке хостинга), и я работаю в регионе eu-central-1
. Но всякий раз, когда я пытаюсь получить доступ к URL-адресу Cloudfront
, я получаю ошибку AccessDenied
.
Я следовал учебному руководству на https://medium.com/quasar-framework/creating-a-quasar-framework-application-with-aws-amplify-services-part-1-4-9a795f38e16d, и единственное, что я делал по-другому, это регион (учебник использует us-east-1
, а я использую eu-central-1
).
Конфигурация S3 и Cloudfront была сделана с помощью ampify и поэтому должна работать теоретически:
Cloudfront:
- Исходное доменное имя или путь:
quasar-demo-hosting-bucket-dev.s3-eu-central-1.amazonaws.com
(изначально он был без eu-central-1
, но я добавил его вручную после того, как он не работал). - Идентификатор происхождения:
hostingS3Bucket
- Тип происхождения:
S3 Origin
S3 Bucket Policy:
{
"Version": "2012-10-17",
"Id": "MyPolicy",
"Statement": [
{
"Sid": "APIReadForGetBucketObjects",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::cloudfront:user/CloudFront Origin Access Identity ********"
},
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::quasar-demo-hosting-bucket-dev/*"
}
]
}
Исследования показали, что у Cloudfront
могут быть временные проблемы с доступом к S3
корзинам в других регионах. Но я вручную добавил регион к источнику в Cloudfront
И я ждал 24 часа. Я все еще получаю сообщение «Отказано в доступе».
Я подозреваю, что это как-то связано с тем, что корзина S3
не находится в области по умолчанию us-east-1
, и усиливает неправильную настройку Cloudfront
в этом случае.
Как получить усиление для правильной настройки корзины S3
и Cloudfront
, чтобы я мог получить доступ к своему веб-сайту через Cloudfront
URL?