跳至内容

如何解决会话管理器记录日志到 Amazon S3 或 CloudWatch 时出现的问题?

2 分钟阅读
0

我想知道为什么 AWS Systems Manager 会话管理器不向 Amazon Simple Storage Service (Amazon S3) 或 Amazon CloudWatch 发送日志。

简短描述

以下是会话管理器不向 Amazon S3 或 CloudWatch 发送日志的原因:

  • 会话管理器日志记录配置不正确
  • S3 存储桶权限和 AWS Identity and Access Management (IAM) 策略不正确
  • Amazon Virtual Private Cloud (Amazon VPC) 端点可访问性问题
  • IAM 角色缺少 CloudWatch 日志记录所需的权限

先决条件:

解决方法

**注意:**如果您在运行 AWS CLI 命令时收到错误,请参阅 AWS CLI 错误故障排除。此外,请确保您使用的是最新版本的 AWS CLI

验证会话管理器日志记录配置

要激活日志记录会话数据,请确认您已为 Amazon S3CloudWatch 日志配置了会话管理器。

配置 CloudWatch Logs 时,请遵循以下最佳实践:

  • 查看会话管理器首选项,以验证您是否已启用 CloudWatch Logs。
  • 确认您已指定有效的日志组名称。
  • 确保 CloudWatch 中存在指定的日志组。

检查 Amazon S3 存储桶权限和 IAM 策略

要使会话管理器将日志上传到 Amazon S3,您与该实例关联的 IAM 角色必须具有所需的权限。

要解决 Amazon S3 中丢失的日志问题,请完成以下步骤:

  • 检查您的 Amazon Elastic Compute Cloud (Amazon EC2) 实例配置文件角色是否具有 S3 存储桶 ARN 的正确的 S3 IAM 权限。
  • 检查 S3 存储桶策略是否允许实例配置文件角色作为主体在 S3 存储桶上执行所需的 S3 操作。

验证 Amazon VPC 端点可访问性问题

如果您的 Amazon EC2 实例无法访问互联网,则必须为登录到 Amazon S3 或 CloudWatch 的会话管理器创建 Amazon VPC 端点。

检查您的端到端网络并确认以下端点的 HTTPS 流量已开放:

  • HTTPS://ec2.region-code.amazonaws.com
  • HTTPS://ec2messages.region-code.amazonaws.com
  • HTTPS://ssm.region-code.amazonaws.com
  • HTTPS://ssmmessages.region-code.amazonaws.com
  • HTTPS://s3.region-code.amazonaws.com
  • HTTPS://monitoring.region-code.amazonaws.com

要创建端点,请参阅作为服务使用者连接到端点服务

为 CloudWatch 日志记录配置 IAM 策略

如果 CloudWatch 日志组中缺少会话或流日志,则实例配置文件角色没有正确的 IAM 权限。

要创建日志流并将日志事件放入 CloudWatch,会话管理器必须在 IAM 策略中拥有以下权限:

{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": [
"logs:CreateLogStream",
"logs:DescribeLogStreams",
"logs:PutLogEvents"
],
"Resource": [
"arn:aws:logs:REGION:ACCOUNT-ID:log-group:LOG-GROUP-NAME:*"
]
},
{
"Sid": "VisualEditor1",
"Effect": "Allow",
"Action": "logs:DescribeLogGroups",
"Resource": "*"
}
]
}

注意:

  • 在前面的策略中,将 REGIONACCOUNT-IDLOG-GROUP-NAME 替换为您的 AWS 区域、AWS 账户 ID 和日志组名称。
  • 如果您使用 AWS Key Management Service (AWS KMS) 客户自主管理型密钥对 CloudWatch 日志组进行加密,请向实例配置文件角色授予使用该日志组的权限。AWS KMS 密钥策略必须允许角色访问密钥。
"Resource": "arn:aws:logs:us-east-1:123456789012:log-group:/aws/ssm/my-log-group:*"

其他故障排除

要对 CloudWatch Logs 问题进行故障排除,请根据操作和时间戳查看 AWS CloudTrail 事件历史记录。有关详细信息,请参阅在 AWS CloudTrail 中记录 CloudWatch Logs API 和控制台操作

相关信息

如何解决 AWS Systems Manager 会话管理器的问题?

AWS 官方已更新 1 年前