Google Cloud に Datadog を導入してみよう - 新 GCP Integration 編

こんにちは、京セラコミュニケーションシステム 井筒 (@kccs_naoto-izutsu) です。

[Datadog シリーズの第2回目](https://qiita.com/kccs_naoto-izutsu/items/f5baa5a36ab8fd84d3f1)でご紹介した Datadog の GCP Integration なのですが、2023年6月に設定方法が大きく変わりました。
実際に使ってみて気付いた点もありましたので、半年前の話で恐縮ですが、第3回は新しくなった GCP Integration の設定方法についてまとめたいと思います。

## 連載記事一覧

- [Datadog シリーズ 第1回目: Google Cloud に Datadog を導入してみよう - 全体説明編](https://qiita.com/kccs_naoto-izutsu/items/a0de7a78589a0b6eb750)
- [Datadog シリーズ 第2回目: Google Cloud に Datadog を導入してみよう - GCP Integration 編](https://qiita.com/kccs_naoto-izutsu/items/f5baa5a36ab8fd84d3f1)
- Datadog シリーズ 第3回目: Google Cloud に Datadog を導入してみよう - 新 GCP Integration 編　★本記事★

## この記事の対象者

- Datadog に興味がある人
- これから Datadog を使って Google Cloud（以降GCPと表現）をモニタリングしてみようと思っている人
- 新しい GCP Integration の設定方法を知りたい人

## GCP Integration の概要

まず、Datadog の GCP Integration の概要について、おさらいしておきます。

GCP Integration は、以下のイメージ図のように Datadog の SaaS 側で動作している API クローラーが Cloud Monitoring API をコールして、各種データを収集します。
新しい GCP Integration も、この仕組みは変わりません。

![Q-0115_Datadog_GCPIntegration.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2989018/35d56872-1521-847a-c1e3-4d6bbc167822.png)

## 新しい設定方法

###  新旧の設定方法 の比較

では、新旧の GCP Integration の設定方法を比べてみます。

|設定ステップ|新|旧|
|---|---|---|
|GCP - API 有効化|〇|〇|
|GCP - Service Account 作成|〇|〇|
|GCP - Service Account キーの作成|-|〇|
|GCP - Service Account へのプリンシパルの追加|〇|-|
|Datadog - Service Account キーのアップロード|-|〇|
|Datadog - プリンシパルの作成|〇|-|
|Datadog - Service Account の指定|〇|-|

設定方法の詳細は、以下の公式ドキュメントを参照してください。

[Google Cloud Platform - メトリクスの収集](https://docs.datadoghq.com/ja/integrations/google_cloud_platform/#%E3%83%A1%E3%83%88%E3%83%AA%E3%82%AF%E3%82%B9%E3%81%AE%E5%8F%8E%E9%9B%86)

違いとしては、

- 新
  - GCP 側へ Datadog をプリンシパル登録する
- 旧
  - Datadog へ Service Account キーを持たせる

といったところでしょうか。

### 新しい設定方法のいい(と思う)ところ

GCP Integration の設定方法が変わったタイミングで、ちょっとした機能改善も行われています。
私的にいいと思った点を挙げてみます。

#### JSON ファイルのやり取りが不要

新しい設定方法では、Service Account キーを JSON ファイルでやり取りする必要がなくなりました。これにより、キーの漏洩などのリスクが軽減されたので、うれしい改善点だと思いました。

#### GCP プロジェクトの自動検出

GCP の Service Account に他のプロジェクトやフォルダ、組織へのアクセス許可を行うことで、Datadog は自動的に GCP プロジェクトを検出してくれます。
プロジェクト毎に GCP Integration の設定が不要、ということですね。

ただ、これには考え方によってはデメリットにもなりうるので、運用方法は吟味が必要かなと思います。

#### Account タグ

Cloud Monitoring から収集したすべてのメトリクスに対して、任意のタグを付与することができるようになりました。
たとえば、PubSub などのように GCP 側ではラベル付与ができないリソースに対しても、Datadog のタグを付与できます。

設定方法は、以下のスクリーンショットの赤枠の部分にタグを記載するだけで OK です。

![Q-0115_Datadog_GCPIntegration_AccountTags.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2989018/39d3d055-c51f-8f1d-5bae-543bff555feb.png)

タグが付与される範囲は、Service Account に紐づいている GCP プロジェクトすべてです。
GCP プロジェクト毎に異なるタグを付与したい場合は、それぞれの GCP プロジェクトで Service Account を作成して GCP Integration を設定する必要があります。

こちらも、要件に合わせてタグの範囲を検討する必要はあると思いますが、うまく使えばとても便利な機能ではないかなと思います。

## まとめ

本記事では、Datadog の GCP Integration の設定方法の変更点や機能改善についてご紹介しました。

GCP 環境をモニタリングする際には、GCP Integration は必須の設定だと思いますが、今回の変更でより設定しやすく、便利になったと思います。
また試したことがない方は、ぜひ設定してみてください。

弊社では、MSP サービスとして Datadog の導入や活用の支援を行っています。
少しでも興味がありましたら、お気軽にご連絡いただけたらと思います。

https://www.kccs.co.jp/ict/service/msp/

## 免責事項

本記事に記載している内容は、2023年12月時点の情報となります。
記事の内容を筆者の理解をベースに作成したものとなり、実際の内容とは異なる可能性があります。
正確な情報は、必ず Google Cloud や Datadog の公式ドキュメントを参照してください。