VPC 流日志疑难解答 - Amazon Virtual Private Cloud
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

VPC 流日志疑难解答

下面是您在使用流日志时可能遇到的问题。

未完成的流日志记录

问题

您的流日志记录不完整,或者已不再发布。

原因

将流日志传送到 CloudWatch Logs 日志组时可能会出现问题。

解决方案

在 Amazon EC2 控制台或 Amazon VPC 控制台中,选择 Flow Logs (流日志) 以获取相关资源。有关更多信息,请参阅查看流日志。流日志表显示 Status 列中的所有错误。或者,使用 describe-flow-logs 命令,然后检查 DeliverLogsErrorMessage 字段中返回的值。可能会显示以下错误之一:

  • Rate limited:如果应用了 CloudWatch Logs 日志限制,则当某个网络接口的流日志记录数超过了可以在特定时间范围内发布的最大记录数时,会出现此错误。如果已达到您可创建的 CloudWatch Logs 日志组数量的配额,也可能出现此错误。有关更多信息,请参阅 Amazon CloudWatch 用户指南 中的 CloudWatch 服务配额

  • Access error:出现此错误的原因为以下之一:

    • 您的流日志的 IAM 角色没有足够的权限,无法将流日志记录发布到 CloudWatch 日志组

    • IAM 角色与流日志服务没有信任关系

    • 信任关系不指定用作委托人的流日志服务

    有关更多信息,请参阅 用于将流日志发布到 CloudWatch Logs 的 IAM 角色

  • Unknown error:流日志服务中出现内部错误。

流日志处于活动状态,但没有流日志记录或日志组

问题

您已创建了流日志,并且 Amazon VPC 或 Amazon EC2 控制台将流日志显示为 Active。但是,您无法看到 CloudWatch Logs 中的任何日志流或 Amazon S3 存储桶中的日志文件。

原因

原因可能是以下之一:

  • 流日志仍处于创建过程中。在一些情况下,当您为要创建的日志组创建了流日志之后,有时会需要数十分钟或更长时间才会显示数据。

  • 还没有为您的网络接口记录任何流量。只有在记录流量时,才会创建 CloudWatch Logs 中的日志组。

解决方案

等待几分钟,以便系统创建日志组,或者记录流量。

“LogDestinationNotFoundException”或“Access Denied for LogDestination”错误

问题

当您尝试创建流日志时,会出现 Access Denied for LogDestinationLogDestinationNotFoundException 错误。

原因

在创建将数据发布到 Amazon S3 存储桶的流日志时,您可能会看到这些错误。此错误表示找不到指定的 S3 存储桶或存储桶策略存在问题。

解决方案

请执行下列操作之一:

  • 请确保您指定了现有 S3 存储桶的 ARN,并且该 ARN 的格式正确。

  • 如果您不拥有 S3 存储桶,请验证存储桶策略是否具有向其发布日志的足够权限。在存储桶策略中,验证账户 ID 和存储桶名称。

超出 Amazon S3 存储桶策略限制

问题

在您尝试创建流日志时收到了以下错误:LogDestinationPermissionIssueException

原因

Amazon S3 存储桶策略有 20 KB 的大小限制。

每次创建发布到 Amazon S3 存储桶的流日志时,我们都会自动将指定的存储桶 ARN(包括文件夹路径)添加到存储桶策略中的 Resource 元素。

创建发布到同一个存储桶的多个流日志可能会导致超出存储桶策略限制。

解决方案

请执行下列操作之一:

  • 通过删除不再需要的流日志条目来清理存储桶的策略。

  • 通过使用以下内容替换各个流日志条目,为整个存储桶授予权限。

    arn:aws:s3:::bucket_name/*

    如果您授予整个存储桶的权限,则新的流日志订阅不会向存储桶策略添加新权限。