New Relic AWS統合設定とCloudWatch連携
AWS環境での監視は、多くの企業にとって欠かせない要件です。New RelicとAWSを統合すると、EC2インスタンスからCloudWatch、RDS、Lambdaまで、AWS全体を統一ダッシュボードで監視できます。
この記事では、AWS初心者にも分かりやすく、GUI操作を中心とした実践的な設定手順を解説します。コードは必要最小限に抑え、概念理解を重視した説明を心がけます。
なぜAWS統合が必要なのか
従来のサーバー監視では、物理的な1台のサーバーを監視すれば十分でした。しかしAWSでは、EC2だけでなくRDS、Lambda、ELBなど多くのマネージドサービスが連携して動作します。
この複雑な構成を個別に監視するのは現実的ではありません。New RelicのAWS統合なら、すべてのサービスを統一ダッシュボードで管理できます。
監視の2つのアプローチ
New RelicでAWSを監視する方法は大きく2つあります。
Infrastructure Agent(エージェント型)
EC2インスタンス内にソフトウェアをインストールして、内部から監視します。
監視できるもの
- CPUやメモリの詳細な使用状況
- 実行中のプロセス
- アプリケーションログ
- カスタムメトリクス
AWS統合(API型)
AWS APIを通じて、外部からAWSサービスの情報を取得します。
監視できるもの
- CloudWatchメトリクス
- RDS、Lambda、ELBの稼働状況
- 請求情報
- タグ情報
設定の全体的な流れ
設定は大きく3つのステップに分かれます。まずはこの流れを頭に入れておきましょう。
Step 1: IAMロールの準備
AWS統合では、New RelicがAWSのAPIを呼び出すための権限が必要です。AWSコンソールでIAMロールを作成する手順を説明します。
AWSコンソールでの操作手順
IAMサービスにアクセス
- AWSコンソールにログイン
- サービス一覧から「IAM」を選択
ロールの新規作成
- 左メニューから「ロール」を選択
- 「ロールを作成」ボタンをクリック
信頼されたエンティティの選択
- 「別のAWSアカウント」を選択
- アカウントID:
754728514883(New Relic公式) - 「外部IDが必要」にチェックを入れる
必要な権限の付与
- 「ReadOnlyAccess」ポリシーをアタッチ
- 追加で「CloudWatchReadOnlyAccess」も推奨
設定例(参考用)
実際の権限設定は最小限に抑えることも可能です。以下が最小構成の例です。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"cloudwatch:GetMetricStatistics",
"ec2:DescribeInstances"
],
"Resource": "*"
}
]
}Step 2: EC2へのエージェントインストール
EC2インスタンスにInfrastructure Agentをインストールします。GUI操作で簡単にできる方法を説明します。
AWS Systems Managerを使った方法(推奨)
Systems Managerにアクセス
- AWSコンソールで「Systems Manager」を検索
- 「Run Command」を選択
コマンドドキュメントを選択
- 「AWS-ConfigureAWSPackage」を選択
- パッケージ名:
NewRelicInfrastructureAgent
ターゲット選択
- 監視したいEC2インスタンスを選択
- タグベースでの選択も可能
手動インストールの場合
SSH接続できる環境では、簡単なコマンドでインストール可能です。
# Amazon Linux/RHEL系
sudo yum install newrelic-infra -y
# Ubuntu/Debian系
sudo apt-get install newrelic-infra -y設定ファイルに New Relic ライセンスキーを記載するだけで監視が開始されます。
Step 3: New RelicでのAWS統合設定
New Relic管理画面での操作
統合設定ページにアクセス
- New Relicダッシュボードにログイン
- 「Infrastructure」→「AWS」を選択
- 「Add an AWS account」をクリック
AWS認証情報の入力
- IAMロールのARN
- External ID
- アカウント名(任意)
監視対象サービスの選択
- EC2、RDS、Lambda等から必要なサービスを選択
- データ取得間隔を設定(通常は5分間隔で十分)
実践的な運用Tips
段階的な導入戦略
いきなりすべてのサービスを監視するとデータ量が膨大になり、運用が複雑化します。段階的な導入が効果的です。
監視対象の優先度設定
限られた予算や運用工数の中で効果的な監視を行うため、ビジネス影響度に基づいて優先度を設定しましょう。
| 優先度 | 対象サービス | 理由 |
|---|---|---|
| 高 | EC2, RDS | アプリケーション稼働に直結 |
| 中 | ELB, Lambda | パフォーマンスに影響 |
| 低 | S3, CloudFront | 可用性への影響は限定的 |
重要なKPI設定
AWS環境で効果的な監視を行うには、以下のメトリクスに注目しましょう。
- EC2: CPU使用率、メモリ使用率、ディスクI/O
- RDS: 接続数、レプリケーション遅延、クエリ実行時間
- ELB: レスポンス時間、エラー率、ヘルスチェック状況
よくあるトラブルと解決方法
Q: データが表示されない
A: 以下を確認してください
- IAMロールの権限設定が正しいか
- External IDが一致しているか
- リージョン設定が正しいか
Q: データ量が多すぎる
A: 以下で最適化できます
- データ取得間隔を延ばす(5分→15分)
- 不要なメトリクスを無効化
- タグフィルタリングを活用
Q: コストが予想より高い
A: 段階的にサービスを追加し、ROIを評価しながら拡張することをお勧めします。