本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
AWSSupport-CollectElasticBeanstalkLogs
Description
AWSSupport-CollectElasticBeanstalkLogs
Runbook 會從 Elastic Beanstalk 啟動的 Amazon Elastic Compute Cloud (Amazon EC2) Windows Server執行個體收集 AWS Elastic Beanstalk 相關日誌檔案,協助您疑難排解常見問題。當自動化收集相關聯的日誌檔案時,會變更檔案系統結構,包括建立臨時目錄、將日誌檔案複製到臨時目錄,以及將日誌檔案壓縮至封存。此活動可能會導致 Amazon EC2 執行個體CPUUtilization
上增加。如需 CPUUtilization
的詳細資訊,請參閱《Amazon CloudWatch 使用者指南》中的執行個體指標。
如果您為 S3BucketName
參數指定值,自動化會評估您指定的 Amazon Simple Storage Service (Amazon S3) 儲存貯體的政策狀態。為了協助保護從 Amazon EC2 執行個體收集之日誌的安全性,如果政策狀態isPublic
設定為 true
,或存取控制清單 (ACL) 授予 Amazon S3 All Users
預先定義群組的READ|WRITE
許可,則不會上傳日誌。如需 Amazon S3 預先定義群組的詳細資訊,請參閱《Amazon Simple Storage Service 使用者指南》中的 Amazon Amazon S3 預先定義群組。
如果您未指定 S3BucketName
參數的值,自動化會將日誌套件上傳到執行自動化 AWS 區域 所在 的預設 Elastic Beanstalk Amazon S3 儲存貯體。目錄會根據下列結構命名 elasticbeanstalk-
:。region
- accountID
區域
和 accountID
值會根據區域和 AWS 帳戶 您在其中執行自動化而有所不同。日誌套件將儲存至 resources/environments/logs/bundle/
目錄。environmentID
/ instanceID
environmentID
和 instanceID
值會根據您的 Elastic Beanstalk 環境和您收集日誌的 Amazon EC2 執行個體而有所不同。
根據預設,連接至 Elastic Beanstalk 環境 Amazon EC2 執行個體的 AWS Identity and Access Management (IAM) 執行個體描述檔具有必要的許可,可將套件上傳至您環境的預設 Elastic Beanstalk Amazon S3 儲存貯體。如果您指定 S3BucketName
參數的值,連接至 Amazon EC2 執行個體的執行個體設定檔必須允許指定 s3:GetBucketAcl
Amazon S3 儲存貯體和路徑的 s3:GetBucketPolicy
s3:GetBucketPolicyStatus
、、 和 s3:PutObject
動作。
注意
此自動化需要在連接至 Amazon EC2 執行個體的根 Amazon Elastic Block Store (Amazon EBS) 磁碟區上至少 500 MB 的可用磁碟空間。如果根磁碟區上沒有足夠的可用磁碟空間,自動化會停止。
文件類型
自動化
擁有者
Amazon
平台
Windows
參數
-
AutomationAssumeRole
類型:字串
描述:(選用) 允許 Systems Manager Automation 代表您執行動作的 (IAM) 角色的 AWS Identity and Access Management Amazon Resource Name (ARN)。如果未指定角色,Systems Manager Automation 會使用啟動此 Runbook 的使用者許可。
-
EnvironmentId
類型:字串
描述:(必要) 您要從中收集日誌套件的 Elastic Beanstalk 環境 ID。
-
InstanceId
類型:字串
(必要) 您要從中收集日誌套件的 Elastic Beanstalk 環境中的 Amazon EC2 執行個體 ID。
-
S3BucketName
類型:字串
(選用) 您要上傳封存日誌的 Amazon S3 儲存貯體。
-
S3BucketPath
類型:字串
(選用) 您要上傳日誌套件的 Amazon S3 儲存貯體路徑。如果您未指定 參數的值,則會忽略此
S3BucketName
參數。
必要的 IAM 許可
AutomationAssumeRole
參數需要下列動作才能成功使用 Runbook。
-
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 環境的預設儲存貯體。