Google Cloud×New Relicインテグレーション~Google Cloud環境のマネージドサービス監視の設定ガイド~

記事タイトルとURLをコピーする

みなさんこんにちは。マネージドサービス課の塩野です。

最近お客様からの要望でGoogle Cloud環境をNew Relicで監視するという話があり、OSの中に関してはAWSもGoogle Cloudもオンプレも実質同じでインフラエージェントを入れるになるのですが、マネージドサービスの監視について調べてみた結果を記事にしてみました。

AWS環境のみの場合はCloudwatchだけで監視することもできるのですが、AWS環境+Google Cloud環境となるとなかなかCloudwatchだけで監視するのはキビシイのが現状です。New Relicを使用すると、Google Cloud Platform(GCP)上で稼働するリソースを包括的に監視することができます。

例えばCompute EngineのインスタンスメトリクスやCloud Storageのバケット使用状況、Cloud SQLのデータベースパフォーマンスなど、さまざまなGoogle CloudサービスのデータをNew Relicのダッシュボードで一元的に可視化できます。

このインテグレーションは、New RelicがGoogle CloudのAPIを定期的に呼び出してメトリクスデータを収集するAPIポーリング方式を採用しています。取得したデータは、リアルタイムでのパフォーマンス分析やアラート設定に活用できます。

この記事では、サービスアカウント認証方式を使用したGoogle Cloudインテグレーションの設定方法を解説します。

New Relic x Google Cloudインテグレーションの仕組み

APIポーリング方式とは

APIポーリング方式は、New Relicが定期的(通常5分ごと)にGoogle CloudのAPIエンドポイントにリクエストを送信し、最新のメトリクスデータを取得する方法です。Google Cloud側に特別なエージェントをインストールする必要がなく、API経由でのデータ取得のため、設定変更が最小限で済みます。

認証方式の選択

New Relicはサービスアカウント認証とユーザーアカウント認証の2つの方式を提供していますが、公式ドキュメントではサービスアカウント方式を推奨しています。サービスアカウント方式の場合は特定の個人に紐付かないため、チーム環境での管理が容易でNew Relicがタグやメタデータをより包括的に収集でき、運用がしやすくなります。

設定手順

サービスアカウント方式を使った設定手順を順番に解説します。Google Cloud側での準備とNew Relic側での接続設定の2つのフェーズで構成されます。

事前準備:必要なGoogle Cloud APIの有効化

New RelicがGoogle Cloudのデータを取得するには、以下のAPIを有効化する必要があります。

  • Cloud Resource Manager API: プロジェクトのメタデータを取得(このAPIが無効だとプロジェクト認識ができません)
  • Cloud Monitoring API: すべてのメトリクスデータを取得
  • Service Usage API: API使用状況やクォータ情報を確認

さらに、監視対象サービスのAPI(Compute Engine API、Cloud SQL Admin APIなど)も有効化します。

Google Cloudコンソールで対象プロジェクトを選択後、「APIとサービス」→「ライブラリ」から各API名を検索し、「有効にする」をクリックします。

Step 1: New Relicのサービスアカウントを取得する

New Relicにログインし、「Infrastructure」→「GCP」を選択します。「Setup Integration」をクリックします。

「Choose your instrumentation method」の画面で、「Service account」をクリックします。

「Authorize a service account」の画面で、「Copy the service account ID and add it as a new member」の下に、New Relicが提供するサービスアカウントIDが表示されます。このサービスアカウントIDをコピーしておきます。このIDは、Google CloudプロジェクトのIAMにNew Relicを追加する際に使用します。

Step 2: Google Cloud IAMコンソールでNew Relicのサービスアカウントに権限を付与する

Google Cloudコンソールに戻り、「IAMと管理」→「IAM」ページを開きます。プリンシパル別に表示のタブ内にある「アクセスを許可」ボタンをクリックします。

「新しいプリンシパル」欄に、Step 1でコピーしたNew RelicのサービスアカウントIDを貼り付けます。また、ロールの欄に「閲覧者」を検索して選択して追加します。両方の設定が追加できたら「保存」をクリックします。

次に、IAM と管理/サービスアカウントに移動し、「サービスアカウントを作成」をクリックし、サービスアカウントを作成します。

  • 名前: 例 newrelic-integration
  • ID: 自動生成されます。このメールアドレス(例: newrelic-integration@project-id.iam.gserviceaccount.com)を後でNew Relicの設定画面で使用します。
  • [作成して続行] をクリックします。

権限の画面では、必要な権限を割り当てます。

  • ここでは、作成したサービスアカウント自体に、プロジェクト内のリソースを見る権限を与えるために以下のロールを追加します。
    • 閲覧者:リソースのメタデータを読み取るために必要
    • Service Usage閲覧者:API使用状況を確認するために必要

ここまでで、Google Cloud側の作業は一旦終わりです。

Step 3: New Relic UIでGoogle Cloudプロジェクトを接続する

New Relicの設定画面に戻り、Google Cloudプロジェクトを接続します。Step1の画面にある 「Set Up Your Service Account ID for GCP Authorization」の Authorize ボタンをクリックし、画面一番下のContinueボタンをクリックして次の画面に移動します。

Google Cloud側の設定が正しくできていればGoogle Cloudのプロジェクト名が表示されますので、対象のプロジェクト名をクリックして、「Link projects」をクリック後に Continue をクリックします。

監視したいサービス(Compute Engine、Cloud SQL、Cloud Storage、Cloud Pub/Subなど)にチェックを入れて、Select Servicesをクリック後に Continue をクリックします。

データがNew Relic UIに表示されるまでに10~15分程度かかります。「Infrastructure」→「GCP」から各サービスのメトリクスやダッシュボードにアクセスできます。

設定後の確認とトラブルシューティング

設定完了後、データが正しく取得できているかを確認します。もしうまくデータ取得できなかったり、うまく接続できなかった場合は、下記APIがプロジェクトで有効化されているか、権限が意図した通り付与されているかどうか確認してみてください。

確認項目 確認方法 問題時の対処
APIの有効化 Google Cloud「APIとサービス」→「ダッシュボード」 Cloud Resource Manager、Cloud Monitoring、Service Usageを有効化
ロール付与 Google Cloud「IAMと管理」→「IAM」 ViewerとService Usage ConsumerをNew Relicのサービスアカウントに付与
データ取得 New Relic「Infrastructure」→「Google Cloud」 10-15分待機後、「Events」画面でエラー確認

よくある問題

  • Cloud Resource Manager APIが無効: プロジェクトを認識できません。最優先で確認してください
  • 権限が正しく付与されていない: プロジェクトスコープでViewerロールを確認
  • IAM設定の反映待ち: 設定変更後、最大15分程度かかります
  • Project IDの入力ミス: プロジェクト名ではなく、プロジェクトIDを入力

エラーメッセージは、New Relicの「Infrastructure」→「Events」画面で確認できます。

まとめ

New RelicとGoogle Cloudのインテグレーション設定について、APIポーリング方式とサービスアカウント認証を使った方法を解説しました。

設定の重要なポイントは、必要なGoogle Cloud APIの有効化、New RelicのサービスアカウントIDの取得、Google Cloud IAMでの適切な権限付与の3つです。特にプロジェクトレベルでのViewerとService Usage Consumerロールの付与は、見落とされやすいものの、データ取得の成否を左右する重要な設定となります。

インテグレーションが正常に動作すれば、New RelicのダッシュボードでGoogle Cloudリソースのメトリクスを監視できるようになります。Compute Engine、Cloud Storage、Cloud SQLなど、さまざまなマネージドサービスサービスのデータを一元的に可視化し、アラート設定やカスタムダッシュボードを作成してみてはいかがでしょうか。

この記事がどなたかのお役に立てれば幸いです。

◆ 塩野 正人
◆ マネージドサービス部 所属
◆ X(Twitter):@shioccii
◆ 過去記事はこちら

前職ではオンプレミスで仮想化基盤の構築や運用に従事。現在は運用部隊でNew Relicを使ってサービス改善に奮闘中。New Relic User Group運営