本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
AWSSupport-CollectECSInstanceLogs
Description
 AWSSupport-CollectECSInstanceLogs Runbook 會從 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體收集作業系統和 Amazon Elastic Container Service (Amazon ECS) 相關日誌檔案,以協助您疑難排解常見的 Amazon ECS 問題。當自動化收集相關聯的日誌檔案時,會變更檔案系統。這些變更包括建立暫時目錄和日誌目錄、將日誌檔案複製到這些目錄,以及將日誌檔案壓縮至封存。
 如果您指定 LogDestination 參數的值,目標執行個體必須安裝 Linux 執行個體的 AWS Command Line Interface (AWS CLI) 或 Windows PowerShell for Windows 執行個體 AWS 的工具。自動化會評估您指定的 Amazon Simple Storage Service (Amazon S3) 儲存貯體的政策狀態。為了協助保護從 Amazon EC2 執行個體收集之日誌的安全性,如果政策狀態isPublic設定為 true ,或者存取控制清單 (ACL) 將READ|WRITE許可授予 All Users Amazon S3 預先定義的群組,則不會上傳日誌。此外,如果您帳戶中沒有提供的儲存貯體,則不會上傳日誌。如需 Amazon S3 預先定義 g 陣營的詳細資訊,請參閱《Amazon Simple Storage Service 使用者指南》中的 Amazon S3 預先定義群組。 
文件類型
自動化
擁有者
Amazon
平台
Linux、Windows
參數
- 
                    AutomationAssumeRole 類型:字串 描述:(選用) 允許 Systems Manager Automation 代表您執行動作的 (IAM) 角色的 AWS Identity and Access Management Amazon Resource Name (ARN)。如果未指定角色,Systems Manager Automation 會使用啟動此 Runbook 之使用者的許可。 
- 
                    ECSInstanceId 類型:字串 描述:(必要) 您要從中收集日誌的執行個體 ID。您指定的執行個體必須由 Systems Manager 管理。 
- 
                    LogDestination 類型:字串 描述:(選用) AWS 帳戶 要上傳封存日誌的 Amazon S3 儲存貯體。 
必要的 IAM 許可
AutomationAssumeRole 參數需要下列動作才能成功使用 Runbook。
- 
                    ssm:ListCommandInvocations
- 
                    ssm:ListCommands
- 
                    ssm:SendCommand
- 
                    ssm:DescribeInstanceInformation
 建議您在 ECSInstanceId 參數中指定的 Amazon EC2 執行個體具有連接 Amazon 受管政策的 IAM AmazonSSMManagedInstanceCore 角色。若要將日誌封存上傳至您在 LogDestination 參數中指定的 Amazon S3 儲存貯體,您必須新增下列許可:
- 
                    s3:PutObject
- 
                    s3:ListBucket
- 
                    s3:GetBucketPolicyStatus
- 
                    s3:GetBucketAcl
文件步驟
- 
                    assertInstanceIsManaged- 驗證您在ECSInstanceId參數中指定的執行個體是否由 Systems Manager 管理。
- 
                    getInstancePlatform- 取得ECSInstanceId參數中指定執行個體之作業系統 (OS) 平台的相關資訊。
- 
                    verifyInstancePlatform- 根據作業系統平台分支自動化。
- 
                    runLogCollectionScriptOnLinux- 在 Linux 執行個體上收集作業系統和 Amazon ECS 相關日誌檔案,並在/var/log/collectECSlogs目錄中建立封存檔案。
- 
                    runLogCollectionScriptOnWindows- 在 Windows 執行個體上收集作業系統和 Amazon ECS 相關日誌檔案,並在C:\ProgramData\collectECSlogs目錄中建立封存檔案。
- 
                    verifyIfS3BucketProvided- 驗證是否已為LogDestination參數指定值。
- 
                    runUploadScript- 根據作業系統平台分支自動化步驟。
- 
                    runUploadScriptOnLinux- 將日誌封存上傳至LogDestination參數中指定的 Amazon S3 儲存貯體,並從作業系統刪除封存的日誌檔案。
- 
                    runUploadScriptOnWindows- 將日誌封存上傳至LogDestination參數中指定的 Amazon S3 儲存貯體,並從作業系統刪除封存的日誌檔案。