本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
AWSSupport-CollectElasticBeanstalkLogs
描述
AWSSupport-CollectElasticBeanstalkLogs
运行手册从 Elastic Beanstalk 启动的亚马逊弹性计算云 EC2 (Amazon) Windows Server 实例中收集 AWS Elastic Beanstalk
相关日志文件,以帮助您解决常见问题。在此自动化收集关联的日志文件时,会对文件系统结构进行更改,包括创建临时目录、将日志文件复制到临时目录以及将日志文件压缩到档案中。此活动可能会导致 Amazon EC2 实例的使用量增加CPUUtilization
。有关更多信息CPUUtilization
,请参阅 Amazon CloudWatch 用户指南中的实例指标。
如果您为 S3BucketName
参数指定一个值,此自动化会评估您指定的 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 预定义组。
如果您没有为 S3BucketName
参数指定一个值,此自动化会将日志捆绑包上传到您运行自动化所在 AWS 区域 的默认 Elastic Beanstalk Amazon S3 存储桶。该目录根据以下结构 elasticbeanstalk-
命名。这些区域有:region
-
accountID
region
以及 accountID
值会因地区和 AWS 账户 您在中运行自动化的不同而有所不同。日志捆绑包将保存到
resources/environments/logs/bundle/
目录。这些区域有:environmentID
/
instanceID
environmentID
以及 instanceID
根据您的 Elastic Beanstalk 环境和您从中收集日志EC2的亚马逊实例,值会有所不同。
默认情况下,附加到 Elastic Beanstalk 环境的亚马逊EC2实例的 AWS Identity and Access Management (IAM) 实例配置文件具有将捆绑包上传到您环境的默认 Elastic Beanstalk Amazon S3 存储桶所需的权限。如果您为S3BucketName
参数指定值,则附加到 Amazon 实例的实例配置文件必须允许对指定的 Amaz EC2 on S3 存储桶和路径执行s3:GetBucketAcl
s3:GetBucketPolicy
s3:GetBucketPolicyStatus
、、和s3:PutObject
操作。
注意
此自动化需要在连接到您的亚马逊EC2实例的亚马逊弹性区块存储 (AmazonEBS) 根卷上至少有 500 MB 的可用磁盘空间。如果根卷上没有足够的可用磁盘空间,此自动化将停止。
文档类型
自动化
所有者
Amazon
平台
Windows
参数
-
AutomationAssumeRole
类型:字符串
描述:(可选)允许 Systems ARN Manager Automation 代表您执行操作的 AWS Identity and Access Management (IAM) 角色的亚马逊资源名称 ()。如果未指定角色,Systems Manager Automation 将使用启动此运行手册的用户的权限。
-
EnvironmentId
类型:字符串
描述:(必需)要从中收集日志捆绑包的 Elastic Beanstalk 环境的 ID。
-
InstanceId
类型:字符串
(必填)您要从中收集日志包的 Elastic Beanstalk 环境中的亚马逊EC2实例的 ID。
-
S3 BucketName
类型:字符串
(可选)要将归档的日志上传到的 Amazon S3 存储桶。
-
S3 BucketPath
类型:字符串
(可选)要将日志捆绑包上传到的 Amazon S3 存储桶路径。如果您没有为
S3BucketName
参数指定一个值,则忽略此参数。
所需IAM权限
AutomationAssumeRole
参数需要执行以下操作才能成功使用运行手册。
-
ssm:StartAutomationExecution
-
ssm:GetAutomationExecution
-
ssm:SendCommand
-
ssm:DescribeInstanceInformation
-
ec2:DescribeInstances
文档步骤
-
aws:assertAwsResourceProperty
-确认您在InstanceId
参数中指定的 Amazon EC2 实例由管理 AWS Systems Manager。 -
aws:assertAwsResourceProperty
-确认您在InstanceId
参数中指定的 Amazon EC2 Windows Server 实例是一个实例。 -
aws:runCommand
- 检查该实例是否属于 Elastic Beanstalk 环境,是否有足够的磁盘空间来捆绑日志,以及要上传到的 Amazon S3 存储桶是否是公开的。 -
aws:runCommand
- 收集日志文件并将档案上传到S3BucketName
参数中指定的 Amazon S3 存储桶,如果未指定一个值,则上传到 Elastic Beanstalk 环境的默认存储桶。