本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
AWSSupport-AnalyzeEBSResourceUsage
Description
AWSSupport-AnalyzeEBSResourceUsage 自動化 Runbook 用於分析 Amazon Elastic Block Store (Amazon EBS) 上的資源用量。它會分析磁碟區用量,並識別指定區域中捨棄的磁碟區、影像和快照 AWS 。
如何運作?
Runbook 會執行下列四個任務:
-
驗證 Amazon Simple Storage Service (Amazon S3) 儲存貯體是否存在,或建立新的 Amazon S3 儲存貯體。
-
收集處於可用狀態的所有 Amazon EBS 磁碟區。
-
收集已刪除來源磁碟區的所有 Amazon EBS 快照。
-
收集任何非終止 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體未使用的所有 Amazon Machine Image (AMIs)。
Runbook 會產生 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 儲存貯體,請確定已依照下列最佳實務進行設定:
-
封鎖對儲存貯體的公開存取 (
IsPublic設定為False)。 -
開啟 Amazon S3 存取記錄。
-
開啟物件版本控制。
-
使用 AWS Key Management Service (AWS KMS) 金鑰來加密儲存貯體。
重要
使用此 Runbook 可能會對您的帳戶產生額外費用,以建立 Amazon S3 儲存貯體和物件。如需可能產生之費用的詳細資訊,請參閱 Amazon S3 定價
文件類型
自動化
擁有者
Amazon
平台
Linux、macOS、 Windows
參數
-
AutomationAssumeRole
類型:字串
描述:(選用) 允許 Systems Manager Automation 代表您執行動作的 (IAM) 角色的 AWS Identity and Access Management Amazon Resource Name (ARN)。如果未指定角色,Systems Manager Automation 會使用啟動此 Runbook 之使用者的許可。
-
S3BucketName
類型:
AWS::S3::Bucket::Name描述:(必要) 您帳戶中要上傳報告的 Amazon S3 儲存貯體。確保儲存貯體政策不會將不必要的讀取/寫入許可授予不需要存取所收集日誌的各方。如果指定的儲存貯體不存在於帳戶中,則自動化會在以名稱格式 啟動自動化的區域中建立新的儲存貯體
<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 Resource Name (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 許可的政策範例:
指示
請依照下列步驟設定自動化:
-
導覽至 AWS Systems Manager 主控台中的 AWSSupport-AnalyzeEBSResourceUsage
。 -
針對輸入參數,輸入下列項目:
-
AutomationAssumeRole (選用):
(IAM) 角色的 Amazon Resource Name AWS Identity and Access Management (ARN),允許 Systems Manager Automation 代表您執行動作。如果未指定角色,Systems Manager Automation 會使用啟動此 Runbook 之使用者的許可。
-
S3BucketName (必要):
帳戶中要上傳報告的 Amazon S3 儲存貯體。
-
CustomerManagedKmsKeyArn (選用):
自訂 AWS KMS 金鑰 Amazon Resource Name (ARN),用於加密在指定的儲存貯體不存在於帳戶中時將建立的新 Amazon S3 儲存貯體。
-
-
選取執行。
-
自動化會啟動。
-
自動化 Runbook 會執行下列步驟:
-
checkConcurrency:
確保 區域中只有一個此 Runbook 的啟動。如果 Runbook 找到另一個正在進行的執行,則會傳回錯誤並結束。
-
verifyOrCreateS3bucket:
驗證 Amazon S3 儲存貯體是否存在。如果沒有,它會在以名稱格式 啟動自動化的區域中建立新的 Amazon S3 儲存貯體
<User-provided-name>-awssupport-YYYY-MM-DD,並使用自訂 AWS KMS 金鑰加密。 -
gatherAmiDetails:
搜尋任何 Amazon EC2 執行個體未使用的 AMIs 會產生名稱格式為 的報告
<region>-images.csv,並將其上傳至 Amazon S3 儲存貯體。 -
gatherVolumeDetails:
驗證處於可用狀態的 Amazon EBS 磁碟區、使用名稱格式 產生報告
<region>-volume.csv,並將其上傳至 Amazon S3 儲存貯體。 -
gatherSnapshotDetails:
尋找已刪除的 Amazon EBS 磁碟區的 Amazon EBS 快照、使用名稱格式 產生報告
<region>-snapshot.csv,並將其上傳至 Amazon S3 儲存貯體。
-
-
完成後,請檢閱輸出區段以取得執行的詳細結果。
參考
Systems Manager Automation