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 EC2) インスタンスで使用されていないすべての Amazon マシンイメージ (AMIs) を収集します。

ランブックは 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

    型: 文字列

    説明: (オプション) Systems Manager Automation がユーザーに代わってアクションを実行できるようにする AWS Identity and Access Management (IAM) ロールの Amazon リソースネーム (ARN)。ロールを指定しない場合、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:::DOC-EXAMPLE-BUCKET1", "arn:aws:s3:::DOC-EXAMPLE-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-AnalyzeEBSResourceUsage に移動します。

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

    • AutomationAssumeRole (オプション):

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

    • S3BucketName (必須):

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

    • CustomerManagedKmsKeyArn (オプション):

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

  3. [実行] を選択します。

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

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

    • checkConcurrency:

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

    • OrCreateS3bucket の検証:

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

    • を収集AmiDetailsします。

      Amazon EC2 インスタンスで使用されていない AMIsを検索し、名前形式 でレポートを生成し<region>-images.csv、Amazon S3 バケットにアップロードします。

    • を収集VolumeDetailsします。

      使用可能な状態の Amazon EBS ボリュームを検証し、名前形式 でレポートを生成し<region>-volume.csv、Amazon S3 バケットにアップロードします。

    • を収集SnapshotDetailsします。

      すでに削除されている Amazon EBS ボリュームの Amazon EBS スナップショットを検索し、名前形式 でレポートを生成して<region>-snapshot.csv、Amazon S3 バケットにアップロードします。

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

リファレンス

Systems Manager Automation