AWSSupport-AnalyzeEBSResourceUsage - AWS Systems Manager 自動化手冊參考

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

AWSSupport-AnalyzeEBSResourceUsage

Description

AWSSupport-AnalyzeEBSResourceUsage自動化手冊用於分析 Amazon 彈性塊商店(AmazonEBS)上的資源使用情況。它會分析磁碟區使用情況,並識別指定區域中放棄的磁碟 AWS 區、映像和快照。

它是如何工作的?

執行手冊會執行下列四項工作:

  1. 驗證亞馬遜簡單儲存服務 (Amazon S3) 儲存貯體是否存在,或建立新的 Amazon S3 儲存貯體。

  2. 收集可用狀態下的所有 Amazon EBS 卷。

  3. 收集已刪除來源磁碟區的所有 Amazon EBS 快照。

  4. 收集所有未被任何未終止的 Amazon 彈性運算雲端 (AmazonAMIs) 執行個體使用的 Amazon 機器映像 (EC2)。

執行手冊會產生CSV報告,並將其存放在使用者提供的 Amazon S3 儲存貯體中。提供的存儲桶應按照最後概述的 AWS 安全最佳實踐進行保護。如果使用者提供的 Amazon S3 儲存貯體不存在於帳戶中,則 runbook 會使用名稱格式建立新的 Amazon S3 儲存貯體<User-provided-name>-awssupport-YYYY-MM-DD,並使用自訂 AWS Key Management Service (AWS KMS) 金鑰加密、啟用物件版本控制、封鎖公共存取,並要求使用SSL/TLS。

如果您想要指定自己的 Amazon S3 儲存貯體,請確定已按照以下最佳實務進行設定:

  • 封鎖值區的公開存取權 (設IsPublicFalse)。

  • 開啟 Amazon S3 存取記錄功能。

  • 只允許向您的值區發出SSL請求

  • 開啟物件版本管理。

  • 使用 AWS Key Management Service (AWS KMS) 金鑰來加密儲存貯體。

重要

使用此執行手冊可能會對您的帳戶產生額外的費用,以建立 Amazon S3 儲存貯體和物件。如需可能產生的費用的詳細資訊,請參閱 Amazon S3 定價

文件類型

 自動化

擁有者

Amazon

平台

LinuxmacOS, Windows

參數

  • AutomationAssumeRole

    類型:字串

    描述:(選用) 允許 Systems Manager 自動化代表您執行動作的 AWS Identity and Access Management (IAM) 角色的 Amazon 資源名稱 ()。ARN如果未指定任何角色,Systems Manager 自動化會使用啟動此 runbook 的使用者的權限。

  • S3 BucketName

    類型:AWS::S3::Bucket::Name

    說明:(必填) 您帳戶中要將報告上傳到的 Amazon S3 儲存貯體。確定儲存貯體政策不會將不必要的讀取/寫入權限授與不需要存取所收集記錄的對象。如果帳戶中不存在指定的值區,則 Automation 會在該區域中建立一個新值區,其中以名稱格式啟動自動化<User-provided-name>-awssupport-YYYY-MM-DD,並使用自訂 AWS KMS 金鑰加密。

    允許的模式:$|^(?!(^(([0-9]{1,3}[.]){3}[0-9]{1,3}$)))^((?!xn—)(?!.*-s3alias))[a-z0-9][-.a-z0-9]{1,61}[a-z0-9]$

  • CustomerManagedKmsKeyArn

    類型:字串

    說明:(選用) 自訂 AWS KMS 金鑰 Amazon 資源名稱 (ARN),用於加密新的 Amazon S3 儲存貯體,如果帳戶中沒有指定的儲存貯體,則將建立此儲存貯體。如果在未指定自訂 AWS KMS 金鑰的情況下嘗試建立值區,則自動化會失敗ARN。

    允許的模式:(^$|^arn:aws:kms:[-a-z0-9]:[0-9]:key/[-a-z0-9]*$)

必要的IAM權限

AutomationAssumeRole參數需要執行下列動作,才能成功使用 Runbook。

  • ec2:DescribeImages

  • ec2:DescribeInstances

  • ec2:DescribeSnapshots

  • ec2:DescribeVolumes

  • kms:Decrypt

  • kms:GenerateDataKey

  • s3:CreateBucket

  • s3:GetBucketAcl

  • s3:GetBucketPolicyStatus

  • s3:GetBucketPublicAccessBlock

  • s3:ListBucket

  • s3:ListAllMyBuckets

  • s3:PutObject

  • s3:PutBucketLogging

  • s3:PutBucketPolicy

  • s3:PutBucketPublicAccessBlock

  • s3:PutBucketTagging

  • s3:PutBucketVersioning

  • s3:PutEncryptionConfiguration

  • ssm:DescribeAutomationExecutions

具有運行此 runbook 所需的最低IAM權限的示例策略:

{ "Version": "2012-10-17", "Statement": [{ "Sid": "Read_Only_Permissions", "Effect": "Allow", "Action": [ "ec2:DescribeImages", "ec2:DescribeInstances", "ec2:DescribeSnapshots", "ec2:DescribeVolumes", "ssm:DescribeAutomationExecutions" ], "Resource": "" }, { "Sid": "KMS_Generate_Permissions", "Effect": "Allow", "Action": ["kms:GenerateDataKey", "kms:Decrypt"], "Resource": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" }, { "Sid": "S3_Read_Only_Permissions", "Effect": "Allow", "Action": [ "s3:GetBucketAcl", "s3:GetBucketPolicyStatus", "s3:GetBucketPublicAccessBlock", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket1", "arn:aws:s3:::amzn-s3-demo-bucket2/" ] }, { "Sid": "S3_Create_Permissions", "Effect": "Allow", "Action": [ "s3:CreateBucket", "s3:PutObject", "s3:PutBucketLogging", "s3:PutBucketPolicy", "s3:PutBucketPublicAccessBlock", "s3:PutBucketTagging", "s3:PutBucketVersioning", "s3:PutEncryptionConfiguration" ], "Resource": "*" }] }

指示

請依照下列步驟設定自動化操作:

  1. 導航到 AWS Systems Manager 控制台中的 AWSSupport-A nalyzeEBSResource 用法

  2. 對於輸入參數,請輸入以下內容:

    • AutomationAssumeRole (選擇性):

      () 角色的 Amazon 資源名稱 AWS Identity and Access Management (ARNIAM),可讓 Systems Manager 自動化代表您執行動作。如果未指定任何角色,Systems Manager 自動化會使用啟動此 runbook 的使用者的權限。

    • S3 BucketName (必要):

      您帳戶中要將報告上傳到的 Amazon S3 儲存貯體。

    • CustomerManagedKmsKeyArn (選擇性):

      用於加密新 Amazon S3 儲存貯體的自訂 AWS KMS 金鑰 Amazon 資源名稱 (ARN),如果帳戶中指定的儲存貯體不存在,則會建立該儲存貯體。

  3. 選取執行

  4. 自動化啟動。

  5. 自動化工作流程簿執行下列步驟:

    • checkConcurrency:

      確保在該地區只有一個啟動這個手冊。如果 runbook 發現正在進行的另一個執行,它返回一個錯誤並結束。

    • verifyOrCreate桶:

      驗證 Amazon S3 存儲桶是否存在。如果沒有,它會在使用名稱格式啟動自動化的區域中建立新的 Amazon S3 儲存貯體<User-provided-name>-awssupport-YYYY-MM-DD,並使用自訂 AWS KMS 金鑰加密。

    • gatherAmiDetails:

      搜尋 AMIs (未被任何 Amazon EC2 執行個體使用) 會以名稱格式產生報告<region>-images.csv,並將其上傳到 Amazon S3 儲存貯體。

    • gatherVolumeDetails:

      驗證處於可用狀態的 Amazon EBS 磁碟區,使用名稱格式產生報告<region>-volume.csv,然後將其上傳到 Amazon S3 儲存貯體。

    • gatherSnapshotDetails:

      尋找已刪除之 Amazon EBS 磁碟區的 Amazon EBS 快照,使用名稱格式產生報告<region>-snapshot.csv,然後將其上傳到 Amazon S3 儲存貯體。

  6. 完成後,請檢閱「輸出」區段以取得執行的詳細結果。

參考

Systems Manager Automation