Я работал над шаблоном формирования облака, который создаст корзину s3, назначит фронт облака и источник CloudFront корзине s3, а также создаст политику буфера s3 с источником CloudFront. Я получаю сообщение об ошибке при загрузке стека кода ниже в облачное хранилище
Ошибка: ViewerProtocolPolicy: 'redirect-to-https' - ошибка проверки свойства: [Обнаружены неподдерживаемые свойства в {/ DistributionConfig}:
Согласно приведенной выше документации по облачной информации параметр ViewerProtocolPolicy: redirect-to-https поддерживается.
AWSTemplateFormatVersion: '2010-09-09'
Parameters:
BucketName:
Type: String
Description: Allocate the Bucket Name you want to create it
DefaultRootObject:
Type: String
Description: The Default Path of the index.html Document
Default: 'index.html'
ErrorPagePath:
Type: String
Description: The Default path of the error.html Document
Default: '/error.html'
Resources:
mys3bucket:
Type: "AWS::S3::Bucket"
Properties:
AccessControl: Private
BucketName: !Ref BucketName
WebsiteConfiguration:
IndexDocument: !Ref DefaultRootObject
ErrorDocument: !Ref ErrorPagePath
#DeletionPolicy: Retain
ReadPolicy:
Type: 'AWS::S3::BucketPolicy'
Properties:
Bucket: !Ref mys3bucket
PolicyDocument:
Statement:
- Action: 's3:GetObject'
Effect: Allow
Resource: !Sub 'arn:aws:s3:::${mys3bucket}/*'
Principal:
CanonicalUser: !GetAtt
CloudFrontOriginAccessIdentity.S3CanonicalUserId
CloudFrontDistribution:
Type: 'AWS::CloudFront::Distribution'
Properties:
DistributionConfig:
CustomErrorResponses:
- ErrorCode: 403 # not found
ResponseCode: 404
ResponsePagePath: !Ref ErrorPagePath
DefaultCacheBehavior:
AllowedMethods:
- GET
- HEAD
- OPTIONS
CachedMethods:
- GET
- HEAD
- OPTIONS
Compress: true
DefaultTTL: 3600 # in seconds
ForwardedValues:
Cookies:
Forward: none
QueryString: false
MaxTTL: 86400 # in seconds
MinTTL: 60 # in seconds
TargetOriginId: s3origin
ViewerProtocolPolicy: 'redirect-to-https'
DefaultRootObject: !Ref DefaultRootObject
Enabled: true
HttpVersion: http2
Origins:
- DomainName: !GetAtt 'mys3bucket.DomainName'
Id: s3origin
S3OriginConfig:
OriginAccessIdentity: !Sub 'origin-access-
identity/cloudfront/${CloudFrontOriginAccessIdentity}'
PriceClass: 'PriceClass_All'
# ViewerCertificate:
# AcmCertificateArn: !Ref AcmCertificateArn
# SslSupportMethod: sni-only
CloudFrontOriginAccessIdentity:
Type: 'AWS::CloudFront::CloudFrontOriginAccessIdentity'
Properties:
CloudFrontOriginAccessIdentityConfig:
Comment: !Ref mys3bucket
Outputs:
BucketName:
Value:!Ref 'mys3bucket'
Description: Name of the sample Amazon S3 bucket with a lifecycle
configuration.