選択した Datadog サイト () では Cloud Cost Management はサポートされていません。

概要

To set up Cloud Cost Management in Datadog, you should:

  1. Have an AWS account with billing access
  2. Have the AWS integration installed in Datadog
  3. Follow the steps below to create a Cost and Usage Report

セットアップ

前提条件: Cost and Usage Report を作成する

Create a Legacy Cost and Usage Report in AWS under the Data Exports section.

Select the Export type Legacy CUR export.

Select the following content options:

  • Export type: Legacy CUR export
  • Include resource IDs (リソース ID を含む)
  • Split cost allocation data (Enables ECS Cost Allocation. You must also opt in to AWS Split Cost Allocation in Cost Explorer preferences).
  • “Refresh automatically”

Select the following delivery options:

  • 時間粒度: Hourly
  • レポートのバージョン管理: Create new report version (新しいレポートのバージョンを作成する)
  • 圧縮タイプ: GZIP または Parquet

AWS インテグレーションの構成

Setup & Configuration に移動し、プルダウンメニューからコストをプルする AWS アカウントを選択します。

: Datadog では、関連するメンバーアカウントのコストを視覚化するために、AWS 管理アカウントからコストと使用量のレポートを送信することを推奨しています。AWS メンバーアカウントからコストと使用量レポートを送信する場合、管理アカウント設定で次のオプションが選択されていることを確認してください。

  • リンクされたアカウントへのアクセス
  • リンクされたアカウントの払い戻しおよびクレジット
  • リンクされたアカウントの割引

これにより、AWS Cost Explorer に対して定期的にコスト計算を行うことができ、完全なコスト精度を確保することができます。

Cost and Usage Report を探す

If you have navigated away from the report that you created in the prerequisites section, follow AWS documentation to view your Data Exports. Select the legacy CUR export that you created, then select Edit to see the details of the export.

Datadog が Cost and Usage Report を検索できるようにするには、対応する詳細情報をフィールドに入力します。

  • Bucket Name: This is the name of the S3 bucket in the Data export storage settings section.
  • Bucket Region: This is the region your bucket is located. For example, us-east-1.
  • Export Path Prefix: This is the S3 path prefix in the Data export storage settings section.
  • Export Name: This is the Export name in the Export name section.

Note: Datadog only supports legacy CURs generated by AWS. Do not modify or move the files generated by AWS, or attempt to provide access to files generated by a 3rd party.

Cost and Usage Report へのアクセス構成

Create a policy in AWS to ensure Datadog has permissions to access the CUR and the S3 bucket it is stored in. Use the following JSON:

{
  "Version": "2012-10-17",
  "Statement": [
      {
          "Sid": "DDCloudCostReadBucket",
          "Effect": "Allow",
          "Action": [
              "s3:ListBucket"
          ],
          "Resource": "arn:aws:s3:::BUCKETNAME"
      },
      {
          "Sid": "DDCloudCostGetBill",
          "Effect": "Allow",
          "Action": [
              "s3:GetObject"
          ],
          "Resource": "arn:aws:s3:::BUCKETNAME/REPORT_PREFIX/REPORT_NAME/*"
      },
      {
          "Sid": "DDCloudCostCheckAccuracy",
          "Effect": "Allow",
          "Action": [
              "ce:Get*"
          ],
          "Resource": "*"
      },
      {
          "Sid": "DDCloudCostListCURs",
          "Action": [
              "cur:DescribeReportDefinitions"
          ],
          "Effect": "Allow",
          "Resource": "*"
      },
      {
          "Sid": "DDCloudCostListOrganizations",
          "Action": [
              "organizations:Describe*",
              "organizations:List*"
          ],
          "Effect": "Allow",
          "Resource": "*"
      }
  ]
}

ヒント: このポリシーのために作成した名前は、次のステップのためにメモしておいてください。

Datadog のインテグレーションロールにポリシーをアタッチする

Datadog のインテグレーションロールに新しい S3 ポリシーをアタッチします。

  1. AWS IAM コンソールで Roles に移動します。
  2. Datadog インテグレーションで使用されるロールを見つけます。デフォルトでは、 DatadogIntegrationRole という名前になっていますが、組織で名前を変更した場合は、名前が異なる場合があります。ロール名をクリックすると、ロールのサマリーページが表示されます。
  3. Attach policies をクリックします。
  4. 上記で作成した S3 バケットポリシーの名称を入力します。
  5. Attach policy をクリックします。

注: Datadog でデータが安定するまでに、セットアップ後最大 48~72 時間かかることがあります。

コストタイプ

すぐに使えるコストタイプを使用して、取り込んだデータを視覚化します。コストタイプの主な違いは、割引率、節約プラン、予約に関するレポート方法です。

オンデマンド

オンデマンドコストとは、AWS が公表している一般的なオンデマンド料金での利用コストです。これは、すべての節約プラン、予約、割引、税金、手数料を除きます。

ほとんどの場合、オンデマンドコストは実際のコストを見積もるための信頼できる情報源ではありません。

減価償却コストと非混合コスト

減価償却コストメトリクスは、割引期間を通じてコミットメントの節約を分配します。これは「発生主義」とも呼ばれます。予約及び節約プランは、毎月のコミットメントから引き落とされ、使用時に対象の使用量に直接適用されます。使用されなかった残りは料金として記載されます。

対照的に、非混合コストメトリクスは、費用が発生したその日のすべての料金を表示します。これは「原価主義」とも呼ばれます。予約および節約プランの料金は、それらが課金された日に表示され、対象となる使用量に直接適用されるわけではありません。月の請求データが確定すると、非混合メトリクスは AWS の請求書と正確に一致します。

正味コスト

正味コストは、使用量に直接非公開割引を適用します。特定のリソースの使用コストは、すべての節約を実現した後の実効コストを表します。

対照的に、他のメトリクスでは、非公開割引は、リソース属性タグのない独立した負の値の行項目として表示されます。これらのメトリクスは、割引を使用量に直接帰属させるのではなく、総コストから割引を差し引きます。

Net amortized costs provide the most accurate representation for cost allocation, with all savings applied directly to usage. Net cost metrics are available if your AWS account has privately negotiated enterprise discounts. If your account does not have enterprise discounts, then net amortized cost and amortized cost are equivalent.

コンテナ割り当て

コンテナ割り当てメトリクスには、AWS メトリクスと同じコストがすべて含まれていますが、コンテナワークロードのための追加の内訳と洞察も含まれています。詳細はコンテナコスト割り当てを参照してください。

次のシナリオは、異なるコストタイプがどのように振る舞うかを示しています。以下を想定してみます。

  • EC2 インスタンスが 1 時間実行され、計算時間あたりのコストは 3 ドル。
  • このインスタンスタイプを計算時間あたり 2 ドルで提供する節約プラン。
  • 他の割引に加え、交渉による 10% の EDP 割引。

インスタンスコスト、節約プランの時間単位のコミットメント、および割引が各コストタイプでどのように表示されるかを示します。

コストタイプ使用方法節約プラン割引説明
オンデマンド$3.00これは一般オンデマンド料金です。
非混合$3.00$2.00-$0.20節約プランの定期費用と EDP 割引は、特定のリソースに関連付けられたものではなく、別の行項目です。(注: $3 のリソースコストは SavingsPlanNegation で相殺されます。)
正味非混合$1.80節約プランの定期費用は、割引が適用された行項目として表示されます。特定のリソースに関連したコストではありません。
減価償却$2.00-$0.20節約プラン割引は、リソースコストに直接適用されます。EDP 割引は別の行項目です。
正味減価償却$1.80節約プランと EDP 割引は、リソースコストに直接適用されます。
正味減価償却 - 共有リソースの割り当て$1.80正味減価償却と同じコストですが、このコストは Kubernetes ディメンションとポッドタグによってさらに細分化できます。

コストメトリクスのまとめ

一般的に

  • aws.cost.net.amortized.shared.resources.allocated は、特定のワークロードやチームに対する最も完全なコスト割り当てを提供します。
  • コンテナコスト割り当てがない場合は、aws.cost.net.amortized を使用してください。
  • 正味減価償却コストがない場合は、aws.cost.amortized.shared.resources.allocated または aws.cost.amortized を使用してください。
メトリクス説明
aws.cost.net.amortized.shared.resources.allocatedすべての AWS の正味減価償却コストと、コンテナワークロードのための追加の内訳と洞察。コンテナコスト割り当てが必要です。
aws.cost.net.amortizedコンテナコストの内訳を含まない正味減価償却コスト。
aws.cost.net.unblendedコンテナコストの内訳を含まない、正味非混合コスト。AWS の請求書と一致し、使用量コスト内で特別な割引が事前に計算されます。
aws.cost.amortized.shared.resources.allocatedすべての AWS の減価償却コストと、コンテナワークロードのための追加の内訳と洞察。コンテナコスト割り当てが必要です。
aws.cost.amortizedコンテナコストの内訳を含まない減価償却コスト。
aws.cost.unblendedコンテナコストの内訳を含まない、非混合コスト。AWS の請求書と一致します。
aws.cost.ondemandコストは AWS が提供するリストレートに基づいており、すべての節約プラン、予約、割引、税金、手数料は含まれていません。

タグエンリッチメント

以下に詳細を示すとおり、Datadog は、多くのソースを使用して取り込んだコストデータにタグを追加します。

  • Cost and Usage Report 列
  • AWS リソースタグ
  • AWS アカウントタグ
  • AWS インテグレーションタグ
  • すぐに使えるタグ
  • コンテナワークロードタグ
  • タグパイプライン

Cost and Usage Report 列

AWS の Cost and Usage Report (CUR) のすべての文字列値の列が、コストメトリクスのタグとして追加されます。

Datadog は一貫性を確保するために、アンダースコアと小文字を使用してタグキーを正規化します。例えば、CUR 列 lineItem/ResourceId はタグキー line_item/resource_id にマッピングされます。タグの値は一般的に変更されず、大文字と小文字の区別とほとんどの特殊文字が維持されます。

例:

CUR 列CUR 値クラウドコストタグ
lineItem/ResourceIdi-12345678a9b12cd3eline_item/resource_id:i-12345678a9b12cd3e
product/regionus-east-1product/region:us-east-1
product/usagetypeDataTransfer-Regional-Bytesproduct/usagetype:DataTransfer-Regional-Bytes

AWS リソースタグ

AWS リソースタグは、EC2 インスタンスや S3 バケットなど、特定のリソースを表示する際に AWS コンソールに表示されるユーザー定義のタグです。

Datadog AWS インテグレーションを有効にすると、Datadog は自動的にほとんどの AWS リソースのリソースタグを収集します。これらのタグは、指定されたリソースの CUR で見つかったすべてのコストに適用されます。リソースタグは定期的に取得され、作成または変更された日からコストデータに適用されます。タグが変更されても、過去のタグ値は上書きされません。

AWS インテグレーションが有効になっていない場合、AWS 請求のコスト割り当てタグをアクティブにすることで、リソースタグのリッチ化を有効にすることができます。これにより、AWS CUR の列として含めるリソースタグキーのサブセットを選択することができます。Datadog は、CUR を処理する際に、これらの列を自動的にタグとして含めます。

AWS の組織とアカウントタグ

AWS 組織は、組織単位とアカウントに関するユーザー定義タグをサポートしています。Datadog は自動的にこれらのタグを取得し、コストデータに適用します。アカウントタグは、そのアカウントに関連するすべての使用量に適用されます。組織タグは、一致する支払者アカウントのすべての請求データに適用されます。

組織アカウントの Datadog AWS インテグレーションが必要です。

AWS インテグレーションタグ

AWS インテグレーションタグは、Datadog インテグレーションページの AWS Integration タイルで設定されるタグです。これらは、関連する AWS アカウントの CUR で見つかったすべてのコストに適用されます。

すぐに使えるタグ

Datadog は、取り込んだコストデータにすぐに使えるタグを追加し、コストの細分化と割り当てを支援します。これらのタグは、Cost and Usage Report (CUR) から導き出され、コストデータの発見と理解を容易にします。

The following out-of-the-box tags are available for filtering and grouping data:

タグ説明
aws_product課金対象となる AWS サービス。
aws_product_family課金対象となる AWS サービスのカテゴリー (例: Compute、Storage など)。
aws_management_account_name項目に関連付けられた AWS 管理アカウント名。
aws_management_account_id項目に関連付けられた AWS 管理アカウント ID。
aws_member_account_name項目に関連付けられた AWS メンバーアカウント名。
aws_member_account_id項目に関連付けられた AWS メンバーアカウント ID。
aws_cost_typeこの項目で対象となる料金の種類 (例: 使用料、消費税など)。
aws_pricing_term予約、スポット、オンデマンドのいずれの利用形態か。
aws_reservation_arn項目が恩恵を受けたリザーブドインスタンスの ARN。
aws_savings_plan_arn項目が恩恵を受けたセービングプランの ARN。
aws_usage_type項目の使用量 (例: BoxUsage:i3.8xlarge)。
aws_operation項目に関連する演算子 (例: RunInstances)。
aws_regionThe region associated with the item (such as us-east-1).
aws_availability_zone項目に関連するアベイラビリティゾーン。
aws_resource_id項目に関連するリソース ID。
aws_instance_typeThe instance type of the item.
aws_instance_family項目に関連するインスタンスファミリー (例: Storage optimized)。
is_aws_ec2_compute使用が EC2 コンピュートに関するものかどうか。
is_aws_ec2_compute_on_demand使用がオンデマンドであるかどうか。
is_aws_ec2_compute_reservation使用がリザーブドインスタンスと関連しているかどうか。
is_aws_ec2_capacity_reservation使用が容量予約と関連しているかどうか。
is_aws_ec2_spot_instance使用がスポットインスタンスと関連しているかどうか。
is_aws_ec2_savings_plan使用がセービングプランと関連しているかどうか。
aws_bill_entityThe AWS seller that your account is with. Transactions can either be an AWS Marketplace purchase (AWS Marketplace) or a purchase of other AWS services (AWS).
aws_bill_typeThe type of bill that this report covers (such as Purchase).
aws_cost_typeThe type of charge covering the line item (such as SavingsPlanCoveredUsage).
aws_discount_lease_termThe length of time that a Reserved instance is reserved for.
aws_discount_purchase_optionHow you chose to pay for a reservation (such as All Upfront).
aws_ec2_compute_product_familyThe type of usage for an EC2 Compute line item (such as BoxUsage or SpotUsage).
aws_pricing_usage_unitThe pricing unit that AWS used for calculating the usage cost (such as Hours).
aws_reservation_modification_statusIndicates whether the RI lease was modified or unaltered (such as Manual).
bill/billing_entityThe AWS seller that your account is with. Transactions can either be an AWS Marketplace purchase (AWS Marketplace) or a purchase of other AWS services (AWS).
bill/bill_typeThe type of bill that this report covers (such as Purchase).
bill/invoicing_entityThe AWS entity that issues the invoice.
bill/payer_account_idThe account ID of the paying account. For an organization in AWS Organizations, this is the account ID of the management account.
is_aws_ec2_compute_savings_plantrue for line items that represent EC2 Compute usage, paid for using a Savings Plan.
line_item/currency_codeThe currency that this line item is shown in (USD by default).
line_item/legal_entityThe provider of your AWS services.
line_item/line_item_typeThe type of charge covered by the line item (such as Credit).
line_item/operationThe specific AWS operation covered by the line item (such as RunInstances).
line_item/product_codeThe code of the product measured (such as Amazon EC2 for Amazon Elastic Cloud Compute).
line_item/resource_idThe individual resource ID associated with the line item (Optional).
line_item/tax_typeThe type of tax that AWS applied to the line item.
line_item/usage_account_idThe ID of the account that used the line item.
line_item/usage_typeThe usage details of the line item (such as USW2-BoxUsage:m2.2xlarge).
pricing/lease_contract_lengthThe length of time that the RI is reserved for.
pricing/purchase_optionHow you chose to pay for the line item (such as All Upfront).
pricing/termWhether your AWS usage is Reserved or On-Demand.
pricing/unitThe pricing unit that AWS used for calculating the usage cost (such as Hours).
reservation/availability_zoneThe Availability Zone of the resource associated with the line item (such as us-east-1).
reservation/modification_statusShows whether the RI lease was modified or unaltered (such as Manual).
reservation/reservation_arnThe ARN of the RI that the line item benefited from.
reservation/subscription_idThe unique ID that maps the line item with the associated offer.
savings_plan/instance_type_familyThe instance family that is associated with the specified usage (such as m4).
savings_plan/offering_typeThe type of Savings Plan purchased (such as ComputeSavingsPlans).
savings_plan/payment_optionThe payment options available for the Savings Plan (such as All Upfront).
savings_plan/purchase_termDescribes the duration or term of the Savings Plan (such as 1yr).
savings_plan/regionThe AWS Region that hosts the AWS services (such as US East (N. Virginia)).
savings_plan/savings_plan_arnThe unique Savings Plan identifier.

Cost and observability correlation

Viewing costs in context of observability data is important to understand how infrastructure changes impact costs, identify why costs change, and optimize infrastructure for both costs and performance. Datadog updates resource identifying tags on cost data for top AWS products to simplify correlating observability and cost metrics.

For example, to view cost and utilization for each RDS database, you can make a table with aws.cost.amortized, aws.rds.cpuutilization, and aws.rds.freeable_memory (or any other RDS metric) and group by dbinstanceidentifier. Or, to see Lambda usage and costs side by side, you can graph aws.lambda.concurrent_executions and aws.cost.amortized grouped by functionname.

The following out-of-the-box tags are available:

AWS Productタグ
ec2instance_id
s3bucketname
rdsdbinstanceidentifier
Lambdafunctionname
dynamodbtablename
elasticachecacheclusterid
cloudfront (distribution)distributionid
cloudfront (function)functionname
ec2 natgatewaynatgatewayid
redshiftclusteridentifier
kinesisstreamname
queuequeuename
snstopicname
elb (application, gateway, network)loadbalancer
elb (all other costs)loadbalancername

コンテナオーケストレーター

コンテナのコスト割り当てでは、コストが発生するワークロードのタグが追加されます。例えば、Kubernetes のポッドやノード、ECS のタスクやコンテナのタグなどです。

コンテナコストの割り当てが必要で、shared.resources.allocated メトリクスにのみ適用されます。

タグパイプライン

最後に、タグパイプラインのすべてのルールセットが適用され、インフラストラクチャーのタグ付けが不可能な場合に、完全なコスト割り当てが提供されます。

Billing conductor

AWS Billing Conductor is a custom billing service for AWS Marketplace Channel Partners (Partners) and organizations that have chargeback requirements. Billing Conductor enables customers to create a second, pro forma version of their costs to share with their customers or account owners. Billing rates, credits and fees, and overhead costs can be customized at your discretion. You can also select which accounts to include in the CUR.

Pro Forma Cost and Usage Reports do not include discounts and taxes, which makes it difficult to compare costs in Datadog to AWS Cost Explorer. Additionally, adding accounts to a billing group impacts how Reservations and Savings Plans are shared across AWS accounts.

Billing conductor CUR を作成するには、AWS Cost and Usage Reports ユーザーガイドに従ってください。CUR が Datadog の要件を満たしていることを確認します。 Billing conductor CUR を作成したら、上記のクラウドコストマネジメントの説明に従って、Datadog で設定します。

参考資料