アマゾンの 強化された AWS VPC Flow Logs では、VPC 内のネットワークインターフェイスに出入りする IP トラフィックの情報を取得することができます。VPC Flow LogsとNew Relicの統合により、パブリックIPやVPC自体の内部で受け入れられた/拒否されたトラフィックを監視するために、プライベートネットワークで生成されたすべてのネットワークログを解析することができます。
重要
New Relic VPC Flow Logs の統合では、AWS のデフォルトフォーマットのログしか処理できません。VPC Flow Logs フォーマットの詳細については、 Amazon's VPC Flow Logs documentation を参照してください。
要件
重要
Metric streamsとAPI Pollingモードの両方でAWSアカウントを統合した場合、Metric streamsの統合を利用したプロバイダーアカウントのVPCログのみを見ることができます。
VPCログがNew Relicにデータを送信するためには、New Relicが提供するLambda関数を有効にして、インジェスト作業を行う必要があります。 ポーリングインターバルを持つ他のAWSインテグレーションとは異なり 、VPC Flow Logsインテグレーションでは、Lambdaファンクションにデータが送信されたときにデータを受信します。VPC Flowログデータのプッシュレートは15秒です。
VPCフローログの監視を有効にする
New Relic のインジェストサービスにデータを送信するために、New Relic は CloudWatch ログからのプッシュをサポートし、S3 バケットからデータをフェッチする特定の Lambda 関数を提供しています。Lambda関数を割り当て、VPC Flow Logsの監視を有効にするには。
- Serverless Repository から新しい AWS Lambda 関数を作成します。 **Lambda> Create Function> Browse serverless App repository 、Show apps that create custom IAM roles or resource policies** のボックスをチェックし、
NewRelic-log-ingestion
を検索します。 LICENSE_KEY
環境変数に New Relic アカウント ライセンスキー を入力してください。- すべてのオプションのパラメータを確認し、ユースケースに基づいて適合させる。
- Deploy を選択して、新しい CloudFormation スタック、
newrelic-log-ingestion
という新しい関数、そして必要なロールを作成します。 newrelic-log-ingestion
機能に移動します。- 引き続き、 ストリームログをLambda関数 に流す手順を行います。
ヒント
newrelic-log-ingestion
関数には、(AWS が推奨する)最小限の権限を含む AWSLambdaBasicExecutionRole ポリシーが必要です。カスタムIAMロール名はインストール時に定義でき、そうでなければ、適切なRoleが作成され、CAPABILITY_IAMが認められる必要があります。
ラムダ関数にログを流す
Lambda関数にログを流すため。
- CloudWatch Management Console から、 Logs を選択します。
- /aws/vpc/flow-logs を選択し、 Actions> Stream to AWS Lambda をクリックします。
- VPC Flow Logs monitoring を有効にした際に作成したNew Relic Lambdaファンクション(
newrelic-log-ingestion
)を選択し、 Next を選択します。 - デフォルトのまま Log format (Amazon VPC Flow Logs) を選択し、 Next.
- 設定を確認してから、 Start streaming を選択します。
トラフィックログの設定
AWS内からトラフィックログを設定するには、3つのモードがあります。
タイプ | 説明 |
---|---|
受け入れられたトラフィック | ログは右記のトラフィックのみを捉えます |
拒否されたトラフィック | 拒否されたトラフィックのみがログに反映される |
すべてのトラフィック | 受け入れられたトラフィックと拒否されたトラフィックの両方がログに表示されます。 |
ポーリング頻度
ポーリング間隔 を持つ他のAWSインテグレーションとは異なり、VPC Flow Logsインテグレーションは、Lambdaファンクションにデータが送信されたときにデータを受信します。VPC Flowログデータのプッシュレートは15秒です。
処理されたAmazon VPC Flow Logsデータ
New Relic はこれらのログフィールドのみを Amazon VPC Flow Log records から収集します。
フィールド | 説明 |
---|---|
| VPC Flow Logsのバージョンです。 |
| フローログのAWSアカウントIDです。 |
| ログストリームが適用されるネットワークインターフェースのIDです。 |
| 送信元のIPv4アドレスまたはIPv6アドレスです。ネットワークインターフェースのIPv4アドレスは、常にそのプライベートIPv4アドレスです。 |
| 宛先のIPv4アドレスまたはIPv6アドレスです。ネットワークインターフェースのIPv4アドレスは、常にそのプライベートIPv4アドレスです。 |
| トラフィックのソースポートです。 |
| トラフィックの宛先ポートです。 |
| トラフィックのIANAプロトコル番号です。詳しくは、Assigned Internet Protocol Numbersをご覧ください。 |
| キャプチャーウィンドウ内で転送されたパケット数。 |
| キャプチャーウィンドウ内で転送されたバイト数。 |
| キャプチャーウィンドウの開始時刻をUnix秒単位で指定します。 |
| キャプチャーウィンドウが終了した時刻をUnix秒で指定します。 |
| トラフィックに関連するアクションです。
|
| フローログの記録状態。
|
VPCフローログのメトリクス
New Relic はこれらのトラフィックメトリクスを処理します。
メトリクス | 説明 |
---|---|
| バイト数です。 |
| パケットの数です。 |
VPCフローログの寸法
New Relic では、これらのディメンションを使用して、受け入れられたトラフィックや拒否されたトラフィックのメトリクスをスライスして表示することができます。
ディメンション | 定義 |
---|---|
| パケットが受け入れられたか、拒否されたか |
| 送信先IPアドレス |
| デスティネーションポート |
| パケットが登録されているネットワークインターフェースID |
| プライベートDNS名 |
| プライベートIP |
| インターネットプロトコル番号 |
| パブリックDNS名 |
| パブリックIP |
| ユーザーまたはAWSによって作成されたネットワークインターフェースであることを示すインジケータ |
| 送信元IPアドレス |
| ソースポート |
| サブネットID |
| ネットワークインターフェースが属するVPC ID |