CUR からデータエクスポート CUR 2.0 への移行 - AWS Data Exports

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

CUR からデータエクスポート CUR 2.0 への移行

AWS Data Exports では、コストと使用状況レポート 2.0 (CUR 2.0) のエクスポートを作成できます。CUR 2.0 テーブルは、コストと使用状況レポート (CUR) と同じ情報を提供し、いくつかの改善点を含んでいます。データエクスポートにより、CUR の処理に使用していたデータパイプラインと下位互換性のある CUR 2.0 エクスポートを作成できます。

CUR 2.0 は CUR と比べて以下の点が改善されています。

  • 一貫性のあるスキーマ: CUR 2.0 には固定の列セットが含まれていますが、CUR に含まれる列は、AWS のサービスの使用状況、コストカテゴリ、およびリソースタグに応じて毎月異なる場合があります。

  • ネストデータ: CUR 2.0 は、CUR の特定の列を、折りたたんだ列のキーと値のペアを含む個別の列に折りたたむことで、データスパース性を低減します。オプションで、データエクスポート内のネストされたキーを、元の CUR スキーマおよびデータと一致する個別の列としてクエリできます。

  • 追加列: CUR 2.0 には、bill_payer_account_nameline_item_usage_account_name という 2 つの列が追加されています。

CUR 2.0 のスキーマの詳細については、「Data Exports table dictionary」を参照してください。

データエクスポートで CUR 2.0 に移行するには、次の 2 つの方法があります。

  • 方法 1: CUR スキーマを使用して SQL クエリでエクスポートを作成する

  • 方法 2: CUR 2.0 のエクスポートを新しいスキーマで作成する

方法 1: CUR スキーマを使用して SQL クエリでエクスポートを作成する

SQL クエリを使用してエクスポートを作成できます。エクスポートスキーマは、現在 CUR で受け取っているものと一致します。この操作は、AWS API または SDK を使用して行います。

  1. 現在の CUR に合わせるために必要な (a) 列のリストと (b) CUR コンテンツ設定 ([リソース IDを含める][コスト配分データの分割]、および [時間粒度]) を決定します。

    1. 列のリストは、いずれかのCUR ファイルのスキーマを表示するか、マニフェストファイルに移動してそこから列のリストを抽出することで決定できます。

    2. CUR コンテンツの設定は、コンソールの [データエクスポート] に移動し、CUR エクスポートを選択して詳細を表示することで決定できます。

  2. COST_AND_USAGE_REPORT という名前の CUR 2.0 テーブルから特定した列を選択する SQL クエリを書き込みます。

    1. CUR 2.0 テーブルの列名はすべてスネークケースです (例: line_item_usage_amount)。SQL ステートメントでは、以前の列名をスネークケースに変換することが必要な場合があります。

    2. SQL ステートメントでは、CUR 2.0 でネストされた列を選択するために、すべての resource_tagcost_category 列、そして特定の productdiscount 列をドット演算子に変換する必要があります。例えば、CUR 2.0 で product_from_location 列を選択するために、product.from_location を選択する SQL ステートメントを書き込みます。

      例: SELECT product.from_location FROM COST_AND_USAGE_REPORT

      これにより、product マップ列の from_location 列が選択されます。

    3. デフォルトでは、ドット演算子で選択された列には、属性によって名前が付けられます (例: from_location)。既存の CUR と一致させるには、以前と同じになるように列のエイリアスを宣言する必要があります。

      例: SELECT product.from_location AS product_from_location FROM COST_AND_USAGE_REPORT

      ネストされた列について詳しくは、「Data Exports table dictionary」を参照してください。

  3. ステップ 1 で特定した CUR コンテンツ設定を CreateExport API のテーブル設定形式に書き込みます。次のステップでは、これらのテーブル設定をデータクエリで提供する必要があります。

  4. データエクスポート用 AWS SDK/CLI では、CreateExport APIを使用してSQLクエリとテーブル設定をデータクエリフィールドに入力します。

    1. ターゲットの Amazon S3 バケットや上書き設定など、配信設定を指定します。以前と同じ配送設定を選択することをお勧めします。必須フィールドの詳細については、「AWS Billing and Cost Management API リファレンス」の「AWS Data Exports」を参照してください。

    2. データエクスポートがバケットに書き込めるように、ターゲット Amazon S3 バケットのアクセス許可を更新します。詳細については、「Setting up an Amazon S3 bucket for data exports」を参照してください。

  5. CUR 2.0 が配信されている Amazon S3 バケット内のディレクトリからデータを読み取るようにデータインジェストパイプラインに指示します。

方法 2: CUR 2.0 のエクスポートを新しいスキーマで作成する

CUR 2.0 のエクスポートは、ネストされた列と追加の列からなる新しいスキーマを使用して作成できます。ただし、これらの新しい列を処理するには、現在のデータパイプラインを調整する必要があります。これを行うには、コンソール、AWS API または SDK を使用します。

  1. 現在の CUR に合わせるために必要な CUR コンテンツ設定 ([リソース ID を含める][コスト配分データの分割][時間粒度]) を決定します。

    • CUR コンテンツの設定は、コンソールの [データエクスポート] に移動し、CUR エクスポートを選択して詳細を表示することで決定できます。

  2. データエクスポートコンソールページ (オプション A) または AWS SDK/CLI (オプション B) のいずれかを使用して、「コストと使用状況レポート」テーブルからすべての列を選択する CUR 2.0 のエクスポートを作成します。

  3. (オプション A) コンソールでエクスポートを作成するには:

    1. ナビゲーションペインで [データエクスポート] を選択します。

    2. [データエクスポート] ページで、[作成] を選択します。

    3. [標準データエクスポート] を選択します。

      コストと使用状況レポート (CUR 2.0) テーブルでは、すべての列がデフォルトで選択されています。

    4. ステップ 1 で特定した CUR コンテンツ設定を指定します。

    5. [データテーブル配信オプション] で、オプションを選択します。

    6. [作成] を選択します。

  4. (オプション B) AWS API/SDK を使用してエクスポートを作成するには、まず COST_AND_USAGE_REPORT テーブルのすべての列を選択するクエリを書き込みます。

    1. GetTable API を使用して列の全リストを決定し、スキーマ全体を受け取ります。

    2. ステップ 1 で特定した CUR コンテンツ設定を CreateExport API のテーブル設定形式に書き込みます。

    3. CreateExport API を使用して SQL クエリとテーブル設定を data-query フィールドに入力します。

    4. ターゲットの Amazon S3 バケットや上書き設定など、配信設定を指定します。以前と同じ配送設定を選択することをお勧めします。必須フィールドの詳細については、「AWS Billing and Cost Management API リファレンス」の「AWS Data Exports」を参照してください。

    5. データエクスポートがバケットに書き込めるように、ターゲット Amazon S3 バケットのアクセス許可を更新します。詳細については、「Setting up an Amazon S3 bucket for data exports」を参照してください。

  5. CUR 2.0 が配信されている Amazon S3 バケット内のディレクトリからデータを読み取るようにデータインジェストパイプラインに指示します。

    また、データインジェストパイプラインとビジネスインテリジェンスツールを更新して、キー値がネストされた以下の新しい列を処理する必要があります (productresource_tagscost_category、および discounts)。