New Relic GCP統合設定とCloud Operations連携
Google Cloud Platform(GCP)環境での包括的な監視は、Googleのクラウドサービスと New Relic の監視機能を統合することで実現できます。
この記事では、GCP初心者でも理解しやすいよう、Google Cloud Console での GUI操作を中心に、実践的な設定手順を解説します。複雑なスクリプトは最小限に抑え、まずは基本概念の理解を重視します。
なぜGCP統合が必要なのか
現代のGCP環境では、Compute Engine だけでなく、Cloud SQL、Cloud Functions、App Engine など、多くのマネージドサービスが連携して動作します。
これらのサービスを個別に監視するのは効率的ではありません。New Relic の GCP統合により、すべてのサービスを統一ダッシュボードで効率的に管理できます。
監視の2つのアプローチ
GCP環境でのNew Relic監視は、2つの手法を組み合わせて実現されます:
Infrastructure Agent(エージェント型)
Compute Engine インスタンス内にエージェントソフトウェアをインストールして、内部から詳細情報を収集します。
取得できる情報
- CPU、メモリ、ディスクの詳細な使用状況
- 実行中のアプリケーションプロセス
- システムログとアプリケーションログ
- カスタムメトリクス
GCP統合(API型)
Google Cloud APIs を通じて、外部からGCPサービスの状態情報を取得します。
取得できる情報
- Cloud Monitoring のメトリクス
- Cloud SQL、App Engine、Cloud Functions の稼働状況
- 請求・コスト情報
- ラベル(タグ)情報
設定の全体的な流れ
GCP統合の設定は3つのステップで完了します。まずはこの全体像を理解しておきましょう。
Step 1: サービスアカウントの準備
New Relic が GCP の API にアクセスするための認証情報(サービスアカウント)を作成します。
Google Cloud Console での操作手順
IAM & Admin にアクセス
- Google Cloud Console にログイン
- ナビゲーションメニューから「IAM & Admin」→「サービスアカウント」を選択
サービスアカウントの作成
- 「サービスアカウントを作成」ボタンをクリック
- 名前:
newrelic-integrationなどの分かりやすい名前を入力 - 説明:
New Relic monitoring integrationなど
必要な権限の付与
- 「ロールを選択」から以下のロールを追加:
Monitoring ViewerCompute ViewerCloud SQL Viewer(必要に応じて)
- 「ロールを選択」から以下のロールを追加:
JSON キーの生成
- 作成されたサービスアカウントを選択
- 「キー」タブ→「キーを追加」→「新しいキーを作成」
- 形式は「JSON」を選択してダウンロード
認証情報の管理
ダウンロードした JSON ファイルには、以下の重要な情報が含まれています:
- プロジェクト ID: GCP プロジェクトの識別子
- クライアント Email: サービスアカウントのメールアドレス
- 秘密鍵: 認証に使用される秘密鍵
Step 2: Compute Engine へのエージェントインストール
Google Cloud Console を使った方法(推奨)
Compute Engine インスタンスにアクセス
- Google Cloud Console で「Compute Engine」→「VM インスタンス」を選択
- 監視対象のインスタンス名をクリック
SSH 接続の開始
- インスタンス詳細ページで「SSH」ボタンをクリック
- ブラウザ内でターミナルが開きます
エージェントのインストール
- Linux ディストリビューションに応じて、以下のコマンドを実行:
# Ubuntu/Debian 系の場合
curl -s https://download.newrelic.com/install/install.sh | bash
# CentOS/RHEL 系の場合
curl -Ls https://download.newrelic.com/install/install.sh | sudo bash設定ファイルの編集
インストール完了後、設定ファイルに New Relic ライセンスキーを記載します:
sudo nano /etc/newrelic-infra.yml
# license_key: YOUR_LICENSE_KEY を追加Step 3: New Relic での GCP 統合設定
New Relic 管理画面での操作
統合設定ページにアクセス
- New Relic ダッシュボードにログイン
- 「Infrastructure」→「GCP」を選択
- 「Add a GCP project」をクリック
GCP 認証情報の入力
- ダウンロードした JSON ファイルの内容をアップロード
- または、必要な情報を手動で入力:
- プロジェクト ID
- クライアント Email
- 秘密鍵
監視対象サービスの選択
- Compute Engine、Cloud SQL、Cloud Functions などから監視したいサービスを選択
- データ取得間隔を設定(通常は5分間隔)
実践的な運用指針
段階的な導入戦略
GCP環境では多くのサービスが連携するため、すべてを一度に監視すると情報過多になります:
監視優先度の設定指針
限られた予算で最大の効果を得るため、ビジネスへの影響度で優先順位を決めます:
| 優先度 | GCP サービス | 監視理由 |
|---|---|---|
| 高 | Compute Engine, Cloud SQL | アプリケーションの基盤 |
| 中 | App Engine, Cloud Functions | ユーザー体験への影響 |
| 低 | Cloud Storage, Cloud Pub/Sub | 間接的な影響 |
重要メトリクスの設定
GCP 環境で特に注目すべきメトリクス:
- Compute Engine: CPU使用率、メモリ使用率、ディスクI/O、ネットワークトラフィック
- Cloud SQL: 接続数、クエリ実行時間、ディスク使用率
- App Engine: インスタンス数、応答時間、エラー率
コスト最適化の考慮事項
GCP 統合では、監視対象サービス数とデータ取得頻度によってコストが変動します:
データ取得頻度の調整
- 本番環境: 5分間隔(標準)
- 開発環境: 15〜30分間隔
- テスト環境: 必要に応じて無効化
プロジェクトベースのフィルタリング
本番プロジェクトのリソースのみに監視対象を限定することで、不要なAPI呼び出しを削減できます。
リージョン限定
使用していないリージョンのリソースは監視対象から除外します。
よくあるトラブルと解決方法
Q: メトリクスが表示されない
A: 以下を順番に確認してください:
- サービスアカウントの権限設定が適切か
- 対象のGCPプロジェクトが正しく選択されているか
- Cloud Monitoring APIが有効になっているか
Q: 一部のサービスのデータが取得できない
A: GCPサービスによってはメトリクス生成に時間がかかります:
- 使用されていないサービスはメトリクスが生成されません
- 初回設定後、データ表示まで最大30分程度要する場合があります
Q: API制限エラーが発生する
A: 以下で対応できます:
- データ取得間隔を延長する
- 監視対象サービスを絞り込む
- 複数のプロジェクトがある場合は段階的に追加する
Q: コストが予想より高くなる
A: 以下で最適化を行います:
- 不要なメトリクスの無効化
- データ取得頻度の調整
- 開発・テスト環境の監視を必要最小限に限定
セキュリティのベストプラクティス
サービスアカウント権限の最小化
必要最小限の権限のみを付与することで、セキュリティリスクを軽減します:
- 読み取り専用権限(Viewer)を基本とする
- 特定のサービスのみに権限を限定
- 定期的な権限見直しを実施
キーの適切な管理
- JSON キーファイルは暗号化して保管
- 定期的なキーローテーションの実施
- 不要になったキーの削除