Application Cost Profiler 用の Amazon S3 バケットの設定 - Application Cost Profiler

AWS Application Cost Profiler は 2024 年 9 月 30 日までに廃止される予定で、現在、新規のお客様は受け付けていません。

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

Application Cost Profiler 用の Amazon S3 バケットの設定

AWS Application Cost Profiler に対して使用状況データを送信し、Application Cost Profiler からレポートを受信するためには、データを保存するために AWS アカウントに少なくとも 1 つの Amazon Simple Storage Service (Amazon S3) バケットが必要であり、レポートを受信するために 1 つの S3 バケットが必要です。

注記

AWS Organizations のユーザーの場合、Amazon S3 バケットは、管理アカウントまたは個々のメンバーアカウントのいずれかで使用します。管理アカウントが所有する S3 バケット内のデータは、組織全体のレポートを生成するために使用できます。個々のメンバーアカウントの場合、S3 バケット内のデータは、そのメンバーアカウントのみのレポートを生成するために使用できます。

作成した S3 バケットは、それらのバケットを作成した AWS アカウントによって所有されます。S3 バケットには、標準の Amazon S3 料金が課金されます。Amazon S3 バケットの作成方法の詳細については、Amazon Simple Storage Service ユーザーガイドのバケットの作成を参照してください。

Application Cost Profiler で S3 バケットを使用するためには、バケットに対する読み取りまたは書き込み、あるいはその両方のアクセス許可を Application Cost Profiler に付与するポリシーをバケットにアタッチする必要があります。レポートの設定後にポリシーを変更すると、Application Cost Profiler によって使用状況データの読み取りやレポートの配信を行うことができなくなる可能性があります。

以下のトピックでは、Amazon S3 バケットの作成後に、これらのバケットのアクセス許可を設定する方法について説明します。オブジェクトの読み取り機能と書き込み機能に加えて、バケットを暗号化する場合は、Application Cost Profiler に各バケットの AWS Key Management Service (AWS KMS) キーへのアクセス許可が必要です。

Application Cost Profiler にレポート配信 S3 バケットへのアクセス許可を付与する

レポート配信のために Application Cost Profiler に設定する S3 バケットには、Application Cost Profiler に対してレポートオブジェクトの作成を許可するポリシーがアタッチされている必要があります。さらに、暗号化を有効にするように S3 バケットを設定する必要があります。

注記

バケットを作成するときに、バケットの暗号化を選択する必要があります。Amazon S3 によって管理されるキーでバケットを暗号化するのか (SSE-S3)、または AWS KMS で管理される独自のキーでバケットを暗号化するのか (SSE-KMS) を選択できます。暗号化なしでバケットを既に作成した場合、暗号化を追加するためにバケットを編集する必要があります。

Application Cost Profiler にレポート配信 S3 バケットへのアクセス許可を付与するには
  1. Amazon S3 コンソールに移動してサインインします。

  2. 左側のナビゲーションで [Buckets] (バケット) を選択し、リストからバケットを選択します。

  3. [Permissions] (アクセス許可) タブをクリックし、[Bucket policy] (バケットポリシー) をクリックして、[Edit] (編集) をクリックします。

  4. [Policy] (ポリシー) セクションで、次のポリシーを挿入します。<bucket_name> をユーザーのバケットの名前に、<AWS アカウント> をユーザーの AWS アカウントの ID に置き換えます。

    { "Version":"2008-10-17", "Statement":[ { "Effect":"Allow", "Principal":{ "Service":"application-cost-profiler.amazonaws.com" }, "Action":[ "s3:PutObject*", "s3:GetEncryptionConfiguration" ], "Resource": [ "arn:aws:s3:::<bucket-name>", "arn:aws:s3:::<bucket-name>/*" ], "Condition": { "StringEquals": { "aws:SourceAccount": "<AWS アカウント>" }, "ArnEquals": { "aws:SourceArn": "arn:aws:application-cost-profiler:us-east-1:<AWS アカウント>:*" } } } ] }

    このポリシーでは、Application Cost Profiler サービスプリンシパル (application-cost-profiler.amazonaws.com) に、指定されたバケットにレポートを配信するためのアクセス許可を付与します。この処理はユーザーに代わって実行され、ヘッダーにユーザーの AWS アカウントとレポート配信バケットに固有の ARN が含められます。Application Cost Profiler がユーザーに代わって動作する場合にのみバケットにアクセスできるように、Condition はそれらのヘッダーをチェックします。

  5. [Save changes] (変更の保存) を選択して、バケットにアタッチされるポリシーを保存します。

    SSE-S3 暗号化を使用してバケットを作成した場合は、完了です。SSE-KMS 暗号化を使用した場合、Application Cost Profiler にバケットへのアクセス許可を付与するために、次の手順が必要です。

  6. (オプション) バケットの [プロパティ] タブを選択し、[デフォルトの暗号化] の下で、AWS KMS キーの Amazon リソースネーム (ARN) を選択します。このアクションにより、AWS Key Management Service コンソールが表示されてキーが表示されます。

  7. (オプション) Application Cost Profiler に AWS KMS キーへのアクセス許可を付与するためのポリシーを追加します。このポリシーの追加手順については、「Application Cost Profiler に SSE-KMS で暗号化された S3 バケットへのアクセス許可を付与する」を参照してください。

Application Cost Profiler に使用状況データ S3 バケットへのアクセス許可を付与する

使用状況データの読み取り元として Application Cost Profiler に設定する S3 バケットには、Application Cost Profiler に対して使用状況データオブジェクトの読み取りを許可するポリシーがアタッチされている必要があります。

注記

Application Cost Profiler に使用状況データへのアクセス許可を付与することにより、レポート処理中は、これらの使用状況データオブジェクトを米国東部 (バージニア北部) の AWS リージョンに一時的にコピーすることに同意するものとします。これらのデータオブジェクトは、毎月のレポート生成が完了するまで、米国東部 (バージニア北部) リージョンに保持されます。

Application Cost Profiler に使用状況データ S3 バケットへのアクセス許可を付与するには
  1. Amazon S3 コンソールに移動してサインインします。

  2. 左側のナビゲーションで [Buckets] (バケット) を選択し、リストからバケットを選択します。

  3. [Permissions] (アクセス許可) タブをクリックし、[Bucket policy] (バケットポリシー) をクリックして、[Edit] (編集) をクリックします。

  4. [Policy] (ポリシー) セクションで、次のポリシーを挿入します。<bucket-name> をユーザーのバケットの名前に、<AWS アカウント> をユーザーの AWS アカウントの ID に置き換えます。

    { "Version":"2008-10-17", "Statement":[ { "Effect":"Allow", "Principal":{ "Service":"application-cost-profiler.amazonaws.com" }, "Action":[ "s3:GetObject*" ], "Resource": [ "arn:aws:s3:::<bucket-name>", "arn:aws:s3:::<bucket-name>/*" ], "Condition": { "StringEquals": { "aws:SourceAccount": "<AWS アカウント>" }, "ArnEquals": { "aws:SourceArn": "arn:aws:application-cost-profiler:us-east-1:<AWS アカウント>:*" } } } ] }

    このポリシーでは、Application Cost Profiler サービスプリンシパル (application-cost-profiler.amazonaws.com) に、指定されたバケットからデータを取得するためのアクセス許可を付与します。この処理はユーザーに代わって実行され、ヘッダーにユーザーの AWS アカウントと使用状況バケットに固有の ARN が含められます。Application Cost Profiler がユーザーに代わって動作する場合にのみバケットにアクセスできるように、Condition はそれらのヘッダーをチェックします。

  5. [Save changes] (変更の保存) を選択して、バケットにアタッチされるポリシーを保存します。

AWS KMS マネージドキーでバケットを暗号化する場合、次のセクションの手順に従って、Application Cost Profiler にバケットへのアクセス許可を付与する必要があります。

Application Cost Profiler に SSE-KMS で暗号化された S3 バケットへのアクセス許可を付与する

Application Cost Profiler 用に設定した S3 バケット (レポートバケットとして必要) を AWS KMS (SSE-KMS) に保存されたキーで暗号化する場合、Application Cost Profiler にこれらのバケットを復号するためのアクセス許可も付与する必要があります。これを行うには、データの暗号化に使用した AWS KMS キーへのアクセス許可を付与します。

注記

バケットが Amazon S3 マネージドキーで暗号化される場合は、この手順を実行する必要はありません。

SSE-KMS で暗号化された S3 バケット用に Application Cost Profiler に AWS KMS へのアクセス許可を付与する
  1. AWS KMS コンソールに移動してサインインします。

  2. 左側のナビゲーションで [Customer managed keys] (カスタマーマネージドキー) を選択し、リストからバケットの暗号化に使用するキーを選択します。

  3. [Switch to policy view] (ポリシービューへの切り替え) を選択し、[Edit] (編集) をクリック」します。

  4. [Policy] (ポリシー) セクションで、次のポリシーステートメントを挿入します。

    { "Effect": "Allow", "Principal": { "Service": "application-cost-profiler.amazonaws.com" }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey*" ], "Resource": "*", "Condition": { "StringEquals": { "aws:SourceAccount": "<AWS アカウント>" }, "ArnEquals": { "aws:SourceArn": "arn:aws:application-cost-profiler:us-east-1:<AWS アカウント>:*" } }
  5. [Save changes] (変更の保存) を選択して、キーにアタッチされるポリシーを保存します。

  6. Application Cost Profiler がアクセスする必要がある S3 バケットを暗号化する各キーに対して手順を繰り返します。

注記

データは、インポート時に S3 バケットから (暗号化されている) Application Cost Profiler マネージドバケットにコピーされます。キーへのアクセス許可を取り消すと、Application Cost Profiler はバケットから新しいオブジェクトを取得できなくなります。ただし、インポート済みのデータは引き続きレポートの生成に使用できます。