我一年前设置了一个cloudfront发行版...并且我在其上启用了s3日志记录,并链接了一个名为“cloudfront-s3”的s3存储桶。
现在我回去检查,发现日志根本没有发送到那个桶中。
我似乎找不到问题或原因。
如有任何帮助,我们将不胜感激。
我能够通过禁用 Cloudfront 发行版上的日志记录然后再次启用它来解决此问题。
以下 Terraform 将重新启用 CloudFront 的 ACL:
data aws_cloudfront_log_delivery_canonical_user_id current {}
resource aws_s3_bucket access_logs {
bucket = "my-access-logs"
}
resource aws_s3_bucket_acl access_logs {
bucket = aws_s3_bucket.access_logs.id
access_control_policy {
grant {
grantee {
id = data.aws_cloudfront_log_delivery_canonical_user_id.current.id
type = "CanonicalUser"
}
permission = "FULL_CONTROL"
}
}
}
我在更新 Terraform
aws_s3_bucket
资源以替换已弃用的 logging
、versioning
等属性后遇到了这个问题。不幸的是,直到更新很久之后我才注意到。
cloudfront_log_delivery_canonical_user_id
文档是一个很好的参考。