AWSSupport-AnalyzeEBSResourceUsage - AWS Systems Manager オートメーションランブックリファレンス

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

AWSSupport-AnalyzeEBSResourceUsage

説明

AWSSupport-AnalyzeEBSResourceUsage オートメーションランブックは、Amazon Elastic Block Store (Amazon ) のリソース使用状況を分析するために使用されますEBS。ボリュームの使用状況を分析し、特定の AWS リージョンで放棄されたボリューム、イメージ、スナップショットを識別します。

動作の仕組み

ランブックは次の 4 つのタスクを実行します。

  1. Amazon Simple Storage Service (Amazon S3) バケットが存在することを確認するか、新しい Amazon S3 バケットを作成します。

  2. 使用可能な状態のすべての Amazon EBSボリュームを収集します。

  3. ソースボリュームが削除されたすべての Amazon EBSスナップショットを収集します。

  4. 終了していない Amazon Elastic Compute Cloud (Amazon AMIs) インスタンスで使用されていないすべての Amazon マシンイメージ (EC2) を収集します。

ランブックはCSVレポートを生成し、ユーザーが用意した Amazon S3 バケットに保存します。提供されたバケットは、最後に説明されている AWS セキュリティのベストプラクティスに従って保護する必要があります。ユーザーが指定した Amazon S3 バケットがアカウントに存在しない場合、ランブックは名前形式 で新しい Amazon S3 バケットを作成し<User-provided-name>-awssupport-YYYY-MM-DD、カスタム AWS Key Management Service (AWS KMS) キーで暗号化し、オブジェクトのバージョニングを有効にしてパブリックアクセスをブロックし、SSL/ を使用するリクエストを要求しますTLS。

独自の Amazon S3 バケットを指定する場合は、次のベストプラクティスに従って設定されていることを確認してください。

  • バケットへのパブリックアクセスをブロックします ( IsPublicに設定False)。

  • Amazon S3 アクセスログ記録を有効にします。

  • バケット へのSSLリクエストのみを許可します

  • オブジェクトのバージョニングを有効にします。

  • AWS Key Management Service (AWS KMS) キーを使用してバケットを暗号化します。

重要

このランブックを使用すると、Amazon S3 バケットとオブジェクトの作成に対してアカウントに対して追加料金が発生する場合があります。発生する可能性のある料金の詳細については、Amazon S3 の料金」を参照してください。

ドキュメントタイプ

Automation

[所有者]

Amazon

[Platforms] (プラットフォーム)

Linux、macOS、Windows

パラメータ

  • AutomationAssumeRole

    型: 文字列

    説明: (オプションARN) Systems Manager Automation がユーザーに代わってアクションを実行できるようにする () ロールの AWS Identity and Access Management Amazon リソースネーム (IAM)。ロールを指定しない場合、Systems Manager Automation はこのランブックを開始するユーザーのアクセス許可を使用します。

  • S3BucketName

    タイプ: AWS::S3::Bucket::Name

    説明: (必須) レポートをアップロードするアカウントの Amazon S3 バケット。バケットポリシーが、収集されたログへのアクセスを必要としないユーザーに不要な読み取り/書き込みアクセス許可を付与していないことを確認します。指定されたバケットがアカウントに存在しない場合、オートメーションは、カスタム AWS KMS キーで<User-provided-name>-awssupport-YYYY-MM-DD暗号化された名前形式 でオートメーションが開始されるリージョンに新しいバケットを作成します。

    許可されたパターン: $|^(?!(^(([0-9]{1,3}[.]){3}[0-9]{1,3}$)))^((?!xn—)(?!.*-s3alias))[a-z0-9][-.a-z0-9]{1,61}[a-z0-9]$

  • CustomerManagedKmsKeyArn

    型: 文字列

    説明: (オプション) 指定されたバケットがアカウントに存在しない場合に が作成する新しい Amazon S3 バケットを暗号化するためのカスタム AWS KMS キー Amazon リソースネーム (ARN)。カスタム AWS KMS キー を指定せずにバケットを作成しようとすると、オートメーションは失敗しますARN。

    許可されたパターン: (^$|^arn:aws:kms:[-a-z0-9]:[0-9]:key/[-a-z0-9]*$)

必要なIAMアクセス許可

AutomationAssumeRole パラメータでは、ランブックを正常に使用するために、次のアクションが必要です。

  • 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

このランブックを実行するために必要な最小限の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": "*" }] }

Instructions

次の手順に従って自動化を設定します。

  1. AWS Systems Manager コンソールで AWSSupport-A nalyzeEBSResource使用状況に移動します。

  2. 次の入力パラメータを入力します。

    • AutomationAssumeRole (オプション):

      Systems Manager Automation がユーザーに代わってアクションを実行できるようにする () ロールARNの Amazon リソースネーム AWS Identity and Access Management (IAM)。ロールを指定しない場合、Systems Manager Automation はこのランブックを開始するユーザーのアクセス許可を使用します。

    • S3BucketName (必須):

      レポートをアップロードするアカウントの Amazon S3 バケット。

    • CustomerManagedKmsKeyArn (オプション):

      指定されたバケットがアカウントに存在しない場合に が作成する新しい Amazon S3 バケットを暗号化するためのカスタム AWS KMS キー Amazon リソースネーム (ARN)。

    Input parameters for S3 bucket configuration, including bucket name and KMS key ARN.
  3. [実行] を選択します。

  4. 自動化が開始されます。

  5. 自動化ランブックは以下のステップを実行します。

    • checkConcurrency:

      リージョンにこのランブックの開始が 1 つだけであることを確認します。ランブックが別の実行の進行を検出した場合、エラーを返し、終了します。

    • verifyOrCreateS3bucket:

      Amazon S3 バケットが存在するかどうかを確認します。そうでない場合、カスタム AWS KMS キーで<User-provided-name>-awssupport-YYYY-MM-DD暗号化された名前形式 でオートメーションが開始されるリージョンに新しい Amazon S3 バケットが作成されます。

    • 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 バケットにアップロードします。

  6. 完了したら、出力セクションで詳細な実行結果を確認します。

    Output details showing volume, AMI, and snapshot information for AWS resources.

リファレンス

Systems Manager Automation