Amazon CloudWatch Logs
用户指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 Amazon AWS 入门

使用控制台将日志数据导出到 Amazon S3

下面的示例使用 Amazon CloudWatch 控制台将所有数据从名为“my-log-group”的 Amazon CloudWatch Logs 日志组导出到名为“my-exported-logs”的 Amazon S3 存储桶中。

步骤 1:创建 Amazon S3 存储桶

我们建议您使用专为 CloudWatch Logs 创建的存储桶。 但是,如果要使用现有存储桶,请跳至第 2 步。

注意

Amazon S3 存储桶必须与要导出的日志数据处于同一个区域内。CloudWatch Logs 不支持将数据导出至其他区域中的 Amazon S3 存储桶。

创建 Amazon S3 存储桶

  1. 通过以下网址打开 Amazon S3 控制台:https://console.amazonaws.cn/s3/

  2. 如果需要,可以更改区域。从导航栏中,选择您的 CloudWatch Logs 所在的区域。

  3. 选择 Create Bucket

  4. Bucket Name 键入存储桶的名称。

  5. Region 选择您的 CloudWatch Logs 数据所在的地区。

  6. 选择 Create

第 2 步:在 Amazon S3 存储桶上设置权限

默认情况下,所有 Amazon S3 存储桶和对象都是私有的。仅资源所有者 (创建了存储桶的 AWS 账户) 能够访问存储桶及其包含的任何对象。不过,资源所有者可以选择通过编写访问策略来向其他资源和用户授予访问权限。

当您设置策略时,建议包含一个随机生成的字符串作为存储桶的前缀,这样只会将目标日志流导出到该存储桶。

要设置 Amazon S3 存储段上的权限

  1. 在 Amazon S3 控制台中,选择您在第 1 步中创建的存储桶。

  2. 选择权限存储桶策略

  3. 存储桶策略编辑器对话框中,添加以下策略,将 my-exported-logs 更改为您的 S3 存储桶的名称,并将 random-string 更改为随机生成的字符串。请务必为 Principal (委托人) 指定正确的区域终端节点。

    { "Version": "2012-10-17", "Statement": [ { "Action": "s3:GetBucketAcl", "Effect": "Allow", "Resource": "arn:aws:s3:::my-exported-logs", "Principal": { "Service": "logs.us-west-2.amazonaws.com" } }, { "Action": "s3:PutObject" , "Effect": "Allow", "Resource": "arn:aws:s3:::my-exported-logs/random-string/*", "Condition": { "StringEquals": { "s3:x-amz-acl": "bucket-owner-full-control" } }, "Principal": { "Service": "logs.us-west-2.amazonaws.com" } } ] }
  4. 选择 Save,将您刚添加的策略设置为存储桶上的访问策略。此策略可让 CloudWatch Logs 将日志数据导出至您的 Amazon S3 存储桶中。存储桶拥有者对所有导出的对象拥有完全权限。

    警告

    如果现有存储桶已附加一个或多个策略,请将 CloudWatch Logs 访问的语句添加到这些策略。我们建议您评估生成的权限集,确保它们适合访问存储桶的用户。

第 3 步:创建导出任务

在本步骤中,您可创建导出任务以便从日志组中导出日志。

使用 CloudWatch 控制台将数据导出到 Amazon S3

  1. 通过以下网址打开 CloudWatch 控制台:https://console.amazonaws.cn/cloudwatch/

  2. 在导航窗格中,选择 Logs

  3. 日志组屏幕上,选择日志组旁边的按钮,然后选择操作将数据导出到 Amazon S3

  4. Export data to Amazon S3 屏幕的 Define data to export 下,使用 FromTo 设置要导出的数据的时间范围。

  5. 如果日志组有多个日志流,您可以提供一个日志流前缀,将日志组数据限定为特定流。选择 Advanced,然后为 Stream prefix 键入日志流前缀。

  6. Choose S3 bucket 中,选择与 Amazon S3 存储桶关联的账户。

  7. S3 bucket name 选择 Amazon S3 存储桶。

  8. 选择高级,然后为 S3 存储桶前缀键入存储桶策略中指定的随机生成字符串。

  9. 选择 Export data,将日志数据导出到 Amazon S3。

  10. 要查看您导出到 Amazon S3 的日志数据的状态,请选择 ActionsView all exports to Amazon S3