CloudFormation 使用日志存储桶创建 CloudFront 分配
Posted
技术标签:
【中文标题】CloudFormation 使用日志存储桶创建 CloudFront 分配【英文标题】:CloudFormation creation of CloudFront distribution with logging bucket 【发布时间】:2016-06-21 09:23:24 【问题描述】:尝试配置由 CloudFront 分发的静态网站存储桶。
如果我省略了分配的 Logging
配置,则以下 CloudFormation 模板有效:
...
"PrimeBucket":
"Properties":
"AccessControl": "PublicRead",
"WebsiteConfiguration":
"ErrorDocument": "error.html",
"IndexDocument": "index.html"
,
"Type": "AWS::S3::Bucket"
,
"PrimeBucketDistribution":
"Properties":
"DistributionConfig":
"DefaultCacheBehavior":
"AllowedMethods": [
"GET",
"HEAD",
"OPTIONS"
],
"ForwardedValues":
"QueryString": "false"
,
"TargetOriginId": "BucketOrigin",
"ViewerProtocolPolicy": "allow-all"
,
"Enabled": "true",
"Logging":
"Bucket":
"Ref": "PrimeBucketLogs"
,
"IncludeCookies": "false"
,
"Origins": [
"DomainName":
"Fn::GetAtt": [
"PrimeBucket",
"DomainName"
]
,
"Id": "BucketOrigin",
"S3OriginConfig":
]
,
"Type": "AWS::CloudFront::Distribution"
,
"PrimeBucketLogs":
"Type": "AWS::S3::Bucket"
如果我包含 Logging
我会收到错误:
The parameter Logging Bucket does not refer to a valid S3 bucket.
是否需要对日志存储桶应用任何额外的魔法才能使其与 CloudFront 兼容?在文档中找不到任何内容。
【问题讨论】:
你有没有设法解决这个问题? 不记得了:( 【参考方案1】:尝试将您的存储桶名称指定为 "bucketname.s3.amazonaws.com"
而不仅仅是 "bucketname"
。
【讨论】:
以上是关于CloudFormation 使用日志存储桶创建 CloudFront 分配的主要内容,如果未能解决你的问题,请参考以下文章
使用 cloudformation 为 S3 存储桶启用 Lambda 函数
使用 CloudFormation 在 S3 存储桶中创建 Lambda 通知
如何使用 cloudformation 为 S3 存储桶设置半随机名称
CloudFormation 中如何派生 S3 存储桶名称?