本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
AWSSupport-CollectEKSInstanceLogs
描述
AWSSupport-CollectEKSInstanceLogs 运行手册从 Amazon Elastic Compute Cloud (Amazon EC2) 实例收集操作系统和 Amazon Elastic Kubernetes Service (Amazon EKS) 相关日志文件,以帮助解决常见问题。在此自动化收集关联的日志文件时,会对文件系统结构进行更改,包括创建临时目录、将日志文件复制到临时目录以及将日志文件压缩到档案中。此活动可能会导致 Amazon EC2 实例上的 CPUUtilization 增加。有关更多信息CPUUtilization,请参阅 Amazon CloudWatch 用户指南中的实例指标。
如果您为 LogDestination 参数指定一个值,此自动化会评估您指定的 Amazon Simple Storage Service (Amazon S3) 存储桶的策略状态。为了帮助保护从 Amazon EC2 实例收集的日志的安全,如果策略状态 isPublic 设置为 true,或者如果访问控制列表(ACL)向 All Users Amazon S3 预定义组授予 READ|WRITE 权限,日志将不会上传。有关 Amazon S3 预定义组的更多信息,请参阅《Amazon Simple Storage Service 用户指南》中的 Amazon S3 预定义组。
注意
这种自动化需要连接到您的亚马逊 EC2 实例的亚马逊弹性块存储 (Amazon EBS) 根卷上至少 10% 的可用磁盘空间。如果根卷上没有足够的可用磁盘空间,此自动化将停止。
文档类型
自动化
所有者
Amazon
平台
Linux
参数
-
AutomationAssumeRole
类型:字符串
描述:(可选)允许 Systems Manager Automation 代表您执行操作 AWS Identity and Access Management (IAM) 角色的 Amazon 资源名称(ARN)。如果未指定角色,Systems Manager Automation 将使用启动此运行手册的用户的权限。
-
EKSInstance我是
类型:字符串
描述:(必填)您要从中收集日志的 Amazon EKS Amazon EC2 实例的 ID。
-
LogDestination
类型:字符串
描述:(可选)您账户中用于上传存档日志的亚马逊简单存储服务 (Amazon S3) 存储桶。
所需的 IAM 权限
AutomationAssumeRole 参数需要执行以下操作才能成功使用运行手册。
-
ssm:StartAutomationExecution -
ssm:GetAutomationExecution -
ssm:SendCommand
亚马逊 EC2 实例配置文件所需的 IAM 权限
使用的实例配置文件EKSInstanceId必须附有 Amazon SSMManaged InstanceCore Ama zon 托管策略。
它还必须能够访问 LogDestination Amazon S3 存储桶,这样它才能上传收集的日志。以下是可以附加到该实例配置文件的 IAM 策略的示例:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetBucketPolicyStatus", "s3:GetBucketAcl" ], "Resource": [ "arn:aws:s3:::LogDestination/*", "arn:aws:s3:::LogDestination" ] } ] }
如果LogDestination使用 AWS KMS 加密,则必须在 IAM 策略中添加一条额外的声明,授予对加密中使用的 AWS KMS 密钥的访问权限:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetBucketPolicyStatus", "s3:GetBucketAcl" ], "Resource": [ "arn:aws:s3:::LogDestination/*", "arn:aws:s3:::LogDestination" ] }, { "Effect": "Allow", "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": "arn:aws:kms:REGION:ACCOUNT:key/KMS-KEY-ID" } ] }
文档步骤
-
aws:assertAwsResourceProperty- 确认您在EKSInstanceId参数中指定的值的操作系统为 Linux。 -
aws:runCommand- 收集操作系统和 Amazon EKS 相关日志文件,从而将其压缩到/var/log目录中的档案中。 -
aws:branch- 确认是否为LogDestination参数指定了一个值。 -
aws:runCommand-将日志档案上传到您在LogDestination参数中指定的 Amazon S3 存储桶。