[New Relic]API PollingでAWSとNew Relicを連携してみた

[New Relic]API PollingでAWSとNew Relicを連携してみた

New RelicのAPI Pollingを使えばCloudWatchのデータやCloudTrailのログを自動で集めら簡単に一元管理できます。その設定方法を説明します
Clock Icon2025.02.27

おはようございます( ◜◡◝ )
ゲームソリューション部/業務効率化ソリューション部のきだぱんです。

クラウドインフラの監視において、複数のAWSアカウントやリージョンを一元的に管理することは重要な課題です。
New RelicのAPI Pollingを活用することで、CloudWatchのメトリクスやCloudTrailのイベントデータを効率的に収集し、統合的な監視環境を構築することができます。
本記事では、その具体的な設定方法をご紹介します。

New Relicについて

New Relicはオンプレミス、クラウドを問わずあらゆるシステムメトリクスを収集して、ボトルネックの特定や障害対応を高速化します。
アプリやインフラの性能、ユーザー側のレスポンスまでリアルタイムで⼀元的にモニター可能で、顧客体験の向上、クラウドコストの削減、デジタルビジネスの成功に不可欠なすべてのエンジニアリングプロジェクトをサポートしてくれる製品です。

https://classmethod.jp/partner/newrelic/?inquiry_page=https://classmethod.jp/partner/newrelic/

New RelicとAWSの連携方法について

New RelicとAWSの連携には、2つの方法があります。

Metric Streams

  • CloudWatch Metric Streamsを利用
  • 2分未満でのリアルタイムデータ取得が可能
  • すべてのAWSリソースのCloudWatchメトリクスを取得可能
  • New Relicが推奨する連携方式

https://dev.classmethod.jp/articles/202104-instruction-metric-streams-for-new-relic-step-by-step/

API Polling

  • 5分間隔でのデータ取得
  • CloudTrail、Health、Trusted Advisor、X-Rayなどの特殊なデータも取得可能
  • より広範なAWSサービスのデータを収集可能

https://docs.newrelic.com/jp/docs/infrastructure/amazon-integrations/connect/set-up-aws-api-polling/

API Polling連携の特徴

API Pollingでは、

  • 定期的なデータ収集(5分間隔)
  • 低負荷な実装
  • 幅広いAWSサービスとの互換性
  • 簡単な設定プロセス
    のような利点があります。

設定手順

※API PollingではNew Relicが定期的にAWS APIをコールしてデータを収集しますので以下の点で注意は必要です。

  • APIレート制限への配慮
  • 必要最小限の権限設定
  • データ収集間隔の最適化

New Relicダッシュボードへのアクセス

  • 「Integrations & Agents」を選択

  • 「Integrate your AWS account」を検索し、選択します
    2502NRPolly

  • Deta Typeを選びます

  • API Polling方式を選択

  • 連携設定の名前を入力します
    2502NRPolly2

AWS側の設定

  • IAMコンソールから以下を指定します。
    Account ID
    Require external IDボックスにチェックを入れます
    External ID:お使いのNew RelicアカウントIDを入力
    Require MFA(多要素認証)に対する設定を有効化しない
  • Policyの付与
    Permissions policiesテキストボックスでReadOnlyAccessを検索し、ReadOnlyAccessという名前のポリシーのチェックボックスを選択してからNextをクリックします。
    または、管理対象ポリシーを独自に作成して、監視するAWSサービスに基づいてNew Relicに与えるアクセス許可を制限できます。

https://docs.newrelic.com/jp/docs/infrastructure/amazon-integrations/get-started/integrations-managed-policies/

Role nameは今回、[NewRelicInfrastructure-Integrations]とします。

新しく作成したロールのRole summaryを表示して、Budgetsポリシーを構成します。
Add permissionsドロップダウンを開き、 Create inline policyをクリックします。
JSONタブを開き、次の権限ステートメントを追加します。

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": ["budgets:ViewBudget"],
      "Resource": "*"
    }
  ]
}

サービス選択

New Relicのコンソールへ戻ります。
必要なAWSサービスを選択します(今回はCloudTrailを選択)

2502NRPolly3

手順の通り最後まで進みます。

動作確認方法

New Relic上でダッシュボードを確認しましょう。
Infrastructure > AWS セクションに移動し、CloudTrail dashboardを確認します。
結果としての動きはなかったですが、連携が完了し表示されたことが確認できました。

2502NRPolly111

5. まとめ

API Pollingを使用したNew RelicとAWSの連携方法について書きました。
今回ご紹介したものは、標準機能に過ぎないのでカスタマイズして一つ一つに合った監視をぜひ行ってみて下さい!
New Relicに関するブログも沢山展開されていますので、是非こちらもご覧ください。
https://dev.classmethod.jp/tags/new-relic/

この記事がどなたかのお役に立てば幸いです。以上、きだぱんでした!

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.