
New Relic では主要パブリッククラウドである Google Cloud との連携を行うことができます。
Google Cloud との連携には、2種類の方式があります。
・サービスアカウント認証(推奨)
・ユーザーアカウント認証
推奨は "サービスアカウント認証" です。
推奨の理由としては、ユーザーアカウント認証に以下の制約があることが挙げられます。
- NRQL クエリ、ダッシュボード、アラートなどの絞り込みに有用なタグやその他の属性情報が収集できない
- 特定の種類のデータ専用の読み取り権限(パーミッション)がないため、別途付与する必要がある
New Relic が利用する Google Cloud API パーミッションの詳細につきましては、こちら のドキュメントをご参照ください。
Google Cloud の組織設定や社内ポリシーの都合上、どうしてもサービスアカウントが利用できないケースが考えられます。このため、本稿ではユーザーアカウント認証における連携設定について説明します。
ユーザーアカウント認証による連携手順
それでは、ユーザーアカウント認証による連携手順を見ていきます。
サービスアカウント認証による連携手順については、別のブログ で詳しく紹介していますので、そちらを参照ください。
1. 対象の Google Cloud プロジェクトで Cloud Monitoring API を有効にする
最初に、Google Cloud のWeb コンソールより Stackdriver Monitoring APIを有効化します。
APIs & Servicesから ENABLE APIS AND SERVICE を選択し、API Libraryの検索窓より "monitoring" と入力してください。
一覧のより "Stackdriver Monitoring API" を選択し、Enableボタンをクリックしてください。

また、Web コンソールを利用せず CLI を使用し API を有効化していただくことも可能です。CLI 派の方はこちらのコマンドをご利用ください。
gcloud services enable monitoring --project=PROJECT_ID
2. 対象のGoogle Cloudプロジェクトに対し、ユーザーアカウントを追加する
次に、連携対象の Google Cloud プロジェクトに対し、ユーザーアカウントを登録します。
1. Google Cloud の Webコンソールに移り、 IAMと管理 > IAM を開きます
2. IAM 画面上部にある "アクセス権を付与" を選び、権限設定を開始します
3. "新しいプリンシパル" に任意の Google アカウントを入力します
4. "ロールを割り当てる" に Viewer(閲覧者) および Monitoring Viewer(モニタリング閲覧者) を選択します
5. すべての設定が終わりましたら、保存します

3. 対象の Google Cloud プロジェクトに対し、Cloud Integration で使用するユーザーアカウントを認証する
次に、New Relic の Web UI より Google Cloud との連携を進めます。
1. Infrastructure 画面よりGCPタブを選択します
2. リンク "Set up Google Cloud Platform integrations through the UI." を選択します

3. 認証方式を選択します
- 組織のポリシー上、New Relicのサービスアカウントを自プロジェクトに認証することに問題がないのであれば、Service Accountによる連携を推奨します。
- 今回は、ユーザーアカウント認証の手順を見ていくため、Authorize a User Account を選択します。

- 手順2.で追加した Google アカウント名を選択し、OAuth 認証を実行します

4. 対象の Google Cloud プロジェクトを選択
リストより連携対象のプロジェクトを選択し Next をクリックします

5. 対象サービスの選択
連携対象のサービスを選択し、Next をクリックします

6. ステータス確認
STATUS が Linked になれば成功です。
画面右下の Finish をクリックします。

完了すると、以下のような画面が表示されます。

7.各種メトリクス収集のための追加設定
ここまでの設定で、Google Cloud との連携設定は一旦完了です。
ただし、この時点では一部メトリクス情報が収集できていない場合があります。
これは、ユーザーアカウント認証の制約にあります "特定の種類のデータ専用の読み取り権限がない" に起因している可能性があります。
これを解消するために、Google Cloud に追加したユーザーアカウントにカスタムロールを追加設定します。
ここでは API パーミッション情報 や カスタムロール設定情報を参考に選択しています。利用するサービスに合わせて適宜設定し、メトリクスが収集できるようになるか確認してください。

最後に、ダッシュボードからメトリクスが参照できることが確認できましたら、完了です。

次のステップ
Google Cloud の監視をを今すぐ開始しませんか?まずは、New Relicに登録しましょう。無料アカウントには、毎月100GBの無料データ取り込み、1名の無料フルアクセスユーザー、および無制限の無料ベーシックユーザーが含まれます。
本ブログに掲載されている見解は著者に所属するものであり、必ずしも New Relic 株式会社の公式見解であるわけではありません。また、本ブログには、外部サイトにアクセスするリンクが含まれる場合があります。それらリンク先の内容について、New Relic がいかなる保証も提供することはありません。