New Relic をつかってみた ~AWS連携編~

この記事は公開されてから半年以上経過しています。情報が古い可能性がありますので、ご注意ください。

はじめに

NewRelicには様々なインテグレーションの機能があります。
それらを利用することで、様々な環境のデータをNewRelic上に集約して確認することができるようになります。
今回はAWSインテグレーションを使用し、AWS上のデータをNewRelicへ連携してみました。

目次

AWSインテグレーションの種類について

NewRelicのAWSインテグレーションには二つの種類があります。
それぞれ、API pollingと、Metric streamsです。
Metric streamsは、昨年リリースされた新しい方式で、Amazon CloudWatch Metric Streamsを利用しています。
AWSの各APIを呼び出してデータを取得するAPI pollingの方式と比較すると、
Metric streamsの方が、NewRelic上へのデータ反映のレイテンシーが少ないといったメリットがあり、NewRelicとしても、Metric streamsを推奨しているようです。
参考までに、それぞれの方式の比較表が載っているNewRelic公式のページへのリンクを記載します。
https://docs.newrelic.com/jp/docs/infrastructure/amazon-integrations/connect/aws-metric-stream/

手順

それでは、実際にNewRelicとAWSの連携を行ってみます。
今回はMetric Streams方式を使用してAWS環境との連携を行います。
まず、NewRelicのコンソールへアクセスし、メニューから「Infrastructure」を選択します。

「AWS」タブを選択します。

「Set up Amazon Web Services integrations.」をクリックします。

AWSのデータの連携方式の選択画面になるので、「Metric streams」を選択。

設定のステップが1~6まで表示されます。
まず、ステップ1~3の指示に従って、AWSマネジメントコンソール側でIAMロールの作成を行います。

作成したら、NewRelicのコンソールに戻り、Step4に進みます。
Step4の指示に従い、先ほど作成したIAMロールにインラインポリシーを追加します。

追加したら、NewRelicのコンソールに戻り、Step5に進みます。
ここでは、NewRelic上で表示されるAWSのアカウント名と、先ほど作成したIAMロールのARNを入力します。
AWSのアカウント名は、今回は「test aws account」と入力して進めました。

入力したら、Step6に進みます。
NewRelicとのデータ連携のためには、さらに、AWS側でDataFirehoseの設定を行う必要があります。
赤枠の箇所をクリックすると、AWSのマネジメントコンソールへ移動し、DataFirehoseを設定可能なCloudFormationのテンプレートが読み込まれます。

CloudFormationのテンプレートの各パラメータの説明は下記ページにあるので、こちらを参考に入力を行います。
https://docs.newrelic.com/docs/infrastructure/amazon-integrations/connect/aws-metric-stream-setup/#setup-cloudformation

なお、NewRelicIngestLicenseKeyは、作成していなければNewRelicのコンソール側で新規に作成する必要があります。
作成する場合は、NewRelicのコンソールへ移動し、ユーザのメニューから「API Key」を選択して、「Create Key」をクリックします。


鍵のタイプは「Ingest License」を選択し、その他鍵に付ける名前などを入力して作成します。

作成後、対象の鍵をコピーし、CloudFormationのパラメータへ貼り付けてください。

CloudFormationのスタックを作成を実行し、無事作成が完了したらNewRelicのコンソールに戻ります。

メニューから「Infrastructure」⇒「AWS」タブへ移動します。
スタックの作成直後は、画像のように対象のAWSアカウントからデータを受信していない旨が表示されていますが、

数分経つと、画像のようにAWSアカウントから受信したメトリクスの数が表示されました。

各AWSリソースの情報がNewRelicへ連携され、一例として、「All tntities」⇒「RDS instances」から、連携したAWSアカウント内のRDSの情報が確認可能になっていました。

まとめ

今回はNewRelicへのAWSの連携を実施してみました。
基本的にNewRelicのコンソール上の指示に従って進めればよいので、特につまるところもなく連携することができました。
次回は、NewRelicへ連携したデータを利用して実際に監視設定を導入してみたいと思います。

投稿者プロフィール

Asuka
2018年に入社しました
最近はセキュリティ分野に興味あり