AWSSupport-CollectElasticBeanstalkLogs - AWS Systems Manager 自动化运行手册参考

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

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 实例收集的日志的安全,如果策略状态设置isPublictrue,或者如果访问控制列表 (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:GetBucketAcls3:GetBucketPolicys3: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 环境的默认存储桶。