当我尝试使用Terraform创建AWS CloudFront时,我将在下面的错误消息中获得以下错误消息。这只是出于练习目的。
AWS错误消息
aws_cloudfront_distribution.s3_distribution: error creating CloudFront Distribution: AccessDenied: You don't have permission to access the S3 bucket for CloudFront logs: mylogs.s3.amazonaws.com If you're using IAM, you need s3:GetBucketAcl and s3:PutBucketAcl permissions to create a distribution or to update log settings for an existing distribution. In addition, the S3 ACL for the bucket must grant you FULL_CONTROL.
status code: 403, request id: ca2cb482-77ee-11e9-b657-333a65da9ea7
以下是代码。
https://github.com/vaibhavjpr/terraformpractice/blob/master/cloudfront.tf
任何解决此问题的提示对我真的很有帮助。
我猜mylogs.s3.amazonaws.com
不是您的S3存储桶,可能有人在很久以前就创建了它。S3存储桶名称在AWS中是独一无二的,我建议遵循官方AWS S3桶命名实践。
除了使用您可以访问的唯一存储桶名外,还请确保使用S3存储量域名而不是实际的S3桶名称
在我的情况下,我从Terraform复制了一个示例,并且它具有以下配置为示例:
logging_config {
include_cookies = false
bucket = "mylogs.s3.amazonaws.com"
prefix = "myprefix"
}
如果您不使用日志记录,则可以简单地删除代码的那一部分,也可以创建并配置另一个存储存储日志的存储桶。