Contents
Datadog の課金構造と料金概要(2024‑2026 年版)
Datadog は「ホスト」「APM」「ログ」「Serverless」など、サービスごとに従量課金が組み合わさったハイブリッド価格モデルです。本章では 2024 年 10 月時点で公表されている料金をベースに、2026 年以降も基本的な単価は大きく変わらないと想定しつつ、将来的に改訂される可能性があることを明記します。まず全体像を掴んだうえで、個別サービスの計算式や見積もりに必要な情報を整理します。
1. ホスト課金の基本と見積もり手順
ホストは Datadog の料金構造の土台です。公式ドキュメント(2024 年 10 月版)では、プラン別に月額単価が設定されています。ただし、価格は地域・契約条件により変動するため 「参考値」 として扱い、最新情報は必ず Datadog の料金ページで確認してください。
| プラン | 1 ホストあたりの月額 (USD) |
|---|---|
| Pro | $18 〜 $20 |
| Enterprise | $30 〜 $35 |
ポイント:上表は「標準的な米国リージョン」の目安です。日本リージョンや大規模コミット割引を適用した場合は別途交渉が必要です。
見積もり手順
- 対象ホスト数を把握
- 本番環境、ステージング、開発環境それぞれの台数をリスト化。
- プラン選定
- 監視項目や保持期間に応じて Pro と Enterprise を比較。
- 単価適用と合計算出
ホスト数 × 単価が基本料金となり、後述のオプション費用を加算。
例)100 台の Linux サーバーを Pro プランで運用する場合
100 × $18 = $1,800 / 月(税抜)
2. APM・ログ・Lambda の従量課金ポイント
ホスト料金に加えて、実際に使用したリソースごとに従量課金が発生します。以下は代表的なサービスとその課金単位です。
| サービス | 従量単位 | 参考料金 (USD) |
|---|---|---|
| APM(トレース) | 1,000 件あたり | $0.20 |
| ログインデックス | インデックス化 GB あたり | $0.10 |
| Serverless(Lambda) | 実行回数 1M 回あたり | $0.12 |
計算例
- APM:月間トレース件数が 5 M 件の場合
5 × $0.20 = $1.00 / 月の追加費用。 - ログ:インデックス化対象が 200 GB の場合
200 × $0.10 = $20 / 月。 - Lambda:実行回数が 12 M 回の場合
12 × $0.12 = $1.44 / 月。
注意点:ログは「インデックス化」した分だけ課金されるため、不要なインデックスを外すだけで大幅に削減できます。APM はトレースの保持期間(デフォルト 15 日)にも影響しますので、保持ポリシー設定も合わせて見直しましょう。
コミット割引とエンタープライズプランで実現できるコスト削減策
利用量が一定規模を超える組織向けに、Datadog は コミット割引(年次または 3 年契約)や Enterprise プランのカスタムディスカウント を提供しています。以下では一般的な交渉ポイントと、公開情報が限られる実例を踏まえて計算手順を示します。
1. コミット割引の仕組み
- 対象:ホスト数、ログ容量、APM トレース量など、主要サービス全体。
- 割引率:契約規模や期間に応じて 10 %〜25 % が目安(上限は 30 % 程度)。
- 適用タイミング:年初の見積もりフェーズで事前にコミットを提示し、契約書に明記する必要があります。
割引シミュレーション
| 項目 | 通常単価 (USD) | コミット割引率 | 割引後単価 |
|---|---|---|---|
| ホスト(Pro) | $18 | 20 % | $14.4 |
| ログインデックス | $0.10/GB | 30 % | $0.07/GB |
例) 100 台の Pro ホストと 200 GB のログを利用する場合
ホスト:100 × $14.4 = $1,440、ログ:200 × $0.07 = $14→ 合計$1,454(約 19 % 削減)。
2. エンタープライズプランでのカスタムディスカウント
Enterprise プランは SLA の強化や専任サポートが付帯する代わりに、単価ベースの交渉余地が大きい点が特徴です。実際に公開されている事例は少ないものの、以下のようなポイントでディスカウントを引き出すことが可能です。
- 長期契約(3 年)+ボリュームコミット
- マルチクラウド環境統合(AWS・Azure・GCP を一括管理)
- 共同マーケティングやケーススタディ提供
備考:本稿で紹介した数値は外部サイトの情報を元に「概算」しています。実際の交渉時には Datadog の営業担当者と最新条件を必ず確認してください。
未使用ホストの検出と自動レポート作成
未使用(もしくは長期間非アクティブ)なホストは、課金対象になるだけでなくセキュリティリスクも伴います。本章では Datadog のメトリクス と API を活用した検出手順、および自動レポートの実装例を示します。
1. 非アクティブホストの可視化
| メトリクス | 意味 | 推奨フィルタ |
|---|---|---|
system.uptime |
OS 起動時間(秒) | system.uptime < 3600(1 時間未満) |
host.up |
ホストの稼働ステータス | host.up == false |
導入文:以下の手順で「30 日以上データ送信がない」ホストをダッシュボードに一覧化します。
- Metrics Explorer で上記メトリクスを選択。
- クエリに
last_seen < now - 30dを追加し、非アクティブホスト タグを作成。 - 作成したビューを Cost Management Dashboard にウィジェットとして配置。
2. API とスクリプトで自動レポート生成
以下は Bash と Python のハイブリッドスクリプトです。実行環境に jq がインストールされていることが前提です。また、API キーと APP キーは必ずシークレットとして管理してください。
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
#!/usr/bin/env bash # ------------------------------------------------- # 1. Datadog API から全ホスト情報を取得 (JSON) # ------------------------------------------------- curl -s -G "https://api.datadoghq.com/api/v1/hosts" \ -d "api_key=${DD_API_KEY}" \ -d "application_key=${DD_APP_KEY}" > hosts.json # ------------------------------------------------- # 2. Python で非アクティブホストを抽出 # ------------------------------------------------- python3 <<'PYTHON' import json, datetime, os, sys THRESHOLD_DAYS = 30 threshold = datetime.datetime.utcnow() - datetime.timedelta(days=THRESHOLD_DAYS) with open('hosts.json') as f: data = json.load(f) inactive = [h['name'] for h in data.get('host_list', []) if datetime.datetime.strptime(h['last_seen'], "%Y-%m-%dT%H:%M:%SZ") < threshold] print("\n".join(inactive)) PYTHON > inactive_hosts.txt # ------------------------------------------------- # 3. Slack へ通知(Webhook が設定されている前提) # ------------------------------------------------- if [ -s inactive_hosts.txt ]; then PAYLOAD=$(jq -Rs '{text: .}' < inactive_hosts.txt) curl -X POST -H 'Content-Type: application/json' \ -d "$PAYLOAD" "${SLACK_WEBHOOK_URL}" fi |
実装ヒント:上記スクリプトは GitHub Actions の
cron(例:毎週月曜日 09:00)や Jenkins の定期ジョブに組み込むと、自動レポートが継続的に配信されます。
ログインデックス・保持期間の最適化とタグ活用による費用配分管理
ログは可観測性の根幹ですが、インデックス化や長期保存がコストを膨らませる要因です。本節では 実践的な削減シミュレーション と、タグベースでチーム別予算管理 を行う手順を解説します。
1. ログ削減シミュレーション
| 設定項目 | 変更前コスト (USD/月) | 変更後コスト (USD/月) | 削減率 |
|---|---|---|---|
| ALB ログ全体インデックス化 | $500 | $150(除外) | 70 % |
| 保持期間(prod:30d → dev:7d) | $200 → $80 | 60 % |
導入文:以下の手順で「不要なインデックス」および「環境別保持ポリシー」を設定すれば、上記シミュレーション通りにコストを削減できます。
実装ステップ
- Log Explorer → Indexes で除外対象(例:ALB アクセスログ)を選択。
- タグ付与:
log_retention:prod_30d、log_retention:dev_7dのように環境別タグを作成。 - Retention Policy 設定:
Settings → Log Retentionでタグごとの保持日数を指定。
2. タグ・カスタムメトリクスでチーム別予算管理
Datadog の「Cost by Tag」レポートは、ホストやログに付与したキー‑バリュー形式のタグ を元に費用を集計できます。以下は推奨するタグ設計例です。
| タグキー | 例 |
|---|---|
team |
frontend, backend, infra |
env |
prod, stg, dev |
app |
payment-service, search-api |
カスタムメトリクスによる日次集計
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
# daily_cost_report.py import os, requests, datetime DD_API = "https://api.datadoghq.com/api/v1/metrics" HEADERS = { "DD-API-KEY": os.getenv("DD_API_KEY"), "DD-APPLICATION-KEY": os.getenv("DD_APP_KEY") } today = datetime.date.today().isoformat() payload = { "series": [ { "metric": "datadog.cost.team.frontend", "points": [[int(datetime.datetime.now().timestamp()), 120.5]], "type": "gauge", "tags": ["team:frontend", f"date:{today}"] }, # backend, infra …同様に追加 ] } requests.post(DD_API, json=payload, headers=HEADERS) |
効果:タグ別のコストが日次で Datadog ダッシュボードに蓄積され、予算超過時に自動アラートを設定できるため、財務部門とエンジニアリング部門の連携がスムーズになります。
CI/CD パイプラインで実装する自動サスペンド/削除とガバナンスプロセス
リソース最適化は「検知」だけでなく、継続的に実行できる自動化 が鍵です。本章では GitHub Actions を用いた 自動サスペンド/削除パイプライン と、KPI・ROI の設計例を示します。
1. GitHub Actions ワークフロー(Python/Bash)
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
name: Datadog Cost Cleanup on: schedule: - cron: '0 2 * * *' # 毎日 02:00 UTC に実行 jobs: cleanup: runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v3 - name: Install dependencies run: pip install requests - name: Execute cleanup script env: DD_API_KEY: ${{ secrets.DD_API_KEY }} DD_APP_KEY: ${{ secrets.DD_APP_KEY }} run: python ./scripts/datadog_cleanup.py |
datadog_cleanup.py(概略)
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
import os, requests, datetime BASE_URL = "https://api.datadoghq.com/api/v1" HEADERS = { "DD-API-KEY": os.getenv("DD_API_KEY"), "DD-APPLICATION-KEY": os.getenv("DD_APP_KEY") } THRESHOLD_DAYS = 30 cutoff = datetime.datetime.utcnow() - datetime.timedelta(days=THRESHOLD_DAYS) def list_hosts(): r = requests.get(f"{BASE_URL}/hosts", headers=HEADERS) return r.json().get("host_list", []) def suspend_host(host_id): # 実際のサスペンドエンドポイントは Datadog の仕様に合わせて変更 requests.post(f"{BASE_URL}/host/{host_id}/suspend", headers=HEADERS) for host in list_hosts(): last_seen = datetime.datetime.strptime(host["last_seen"], "%Y-%m-%dT%H:%M:%SZ") if last_seen < cutoff: suspend_host(host["id"]) |
ベストプラクティス:本番環境へ適用する前にステージング環境で
dry-runオプションを実装し、対象ホスト一覧だけを出力して確認しましょう。
2. ガバナンス KPI 設計
| KPI | 測定対象 | 推奨閾値 / 評価指標 |
|---|---|---|
| 月次コスト削減率 | 前月比総コスト変化 | ≥ 10 % の削減を目標 |
| 非アクティブホスト数 | API で取得した last_seen が閾値以上の件数 |
≤ 5 件/チーム |
| ログインデックス削減量 (GB) | logs_indexed_bytes メトリクス |
前月比 ≥ 20 % |
| チーム別予算超過回数 | Cost by Tag アラート | 0 回 |
ROI 計算シート(例)
| 対象期間 | 総コスト (USD) | 削減額 (USD) | ROI % |
|---|---|---|---|
| 2024‑01 | $25,000 | $5,500 | 22 % |
| 2024‑02 | $24,300 | $6,200 | 25 % |
計算式:
ROI % = (削減額 ÷ 総コスト) × 100
ダッシュボードのQuery Valueウィジェットに上記数式を組み込み、月次レビューで自動表示させます。
まとめ
- 課金構造はホスト・APM・ログ・Lambda の4つが柱。公式単価は変動する可能性があるため、常に最新情報を確認してください。
- コミット割引や Enterprise プランの交渉で 10 %〜30 % 程度の削減が見込めます。実際のディスカウントは営業担当者と合意した条件を基に計算しましょう。
- 未使用ホストの可視化と自動レポートは、Metrics Explorer と API スクリプトで簡単に構築でき、週次・月次の運用コストを抑制します。
- ログインデックス・保持期間の最適化と タグベースの費用配分管理により、チーム別予算管理が可能となり、不要なログ支出を最大 70 % 削減できます。
- CI/CD パイプラインでの自動サスペンド/削除は、継続的最適化サイクルを組織に定着させる鍵です。KPI と ROI を可視化すれば、経営層への効果報告もスムーズになります。
上記手順とベストプラクティスを自社環境へ落とし込むことで、Datadog の利用コストを 実務レベルで持続的に抑制 できるはずです。ぜひ、まずは「ホスト課金の見積もりシート」を作成し、次に「非アクティブホスト検出ダッシュボード」へ取り組んでみてください。