如果您无法选择存储桶位置或在 CloudWatch Logs 中使用现有的 IAM 角色,则可能与 IAM 策略相关。您需要更新您的 IAM 策略,以允许 CloudWatch Logs 使用权限。以下是如何更新策略的示例:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowAccessToS3",
"Effect": "Allow",
"Action": [
"s3:GetBucketAcl",
"s3:GetObject",
"s3:ListBucket"
],
"Resource": [
"arn:aws:s3:::my-log-bucket",
"arn:aws:s3:::my-log-bucket/*"
]
},
{
"Sid": "AllowAccessToCloudWatchLogs",
"Effect": "Allow",
"Action": [
"logs:CreateLogGroup",
"logs:CreateLogStream",
"logs:PutLogEvents",
"logs:PutRetentionPolicy",
"logs:DescribeLogGroups",
"logs:DescribeLogStreams"
],
"Resource": [
"arn:aws:logs:*:*:*"
]
}
]
}
您还需要确保您已将 S3 存储桶中的日志转储到 CloudWatch Logs。若要转储日志,请使用以下示例命令:
aws logs create-export-task --log-group-name my-log-group \
--from 1551835400000 --to 1551921799000 \
--destination my-s3-bucket/subdirectory/ \
--destination-prefix my-log-group
此命令将 my-log-group 组中从 2019 年 3 月 6 日早上 8 点到下午 5 点的日志转储到 my-s3-bucket 存储桶的 my-log-group 文件夹中。
请注意,您需要使用您自己的资源 ARN 替换示例代码中的 ARN。