View a markdown version of this page

Splunk を使用して AWS Network Firewall のログとメトリクスを表示する - AWS 規範ガイダンス

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Splunk を使用して AWS Network Firewall のログとメトリクスを表示する

Amazon Web Services、Ivo Pinto

概要

多くの組織は、さまざまなソースからのログとメトリクスを一元的に集約して可視化するツールとして Splunk Enterprise を使用しています。このパターンは、Splunk Add-On for AWS を使用して Amazon CloudWatch Logs から AWS Network Firewall ログとメトリクスを取得するように Splunk を設定するのに役立ちます。 

これを実現するには、読み取り専用の AWS Identity and Access Management (IAM) ロールを作成します。Splunk Add-On for AWS は、このロールを使用して CloudWatch にアクセスします。CloudWatch からメトリクスとログを取得するように Splunk Add-On for AWS を設定します。最後に、取得したログデータとメトリクスから Splunk で視覚化を作成します。

前提条件と制限

前提条件

  • Splunk アカウント

  • Splunk Enterprise インスタンス (バージョン 8.2.2 以降) 

  • アクティブな AWS アカウント

  • Network Firewall (CloudWatch Logs にログを送信するようにセットアップおよび設定済み)

制限事項

  • Splunk Enterprise は、AWS クラウド内の Amazon Elastic Compute Cloud (Amazon EC2) インスタンスのクラスターとしてデプロイする必要があります。

  • 自動的に検出された Amazon EC2 の IAM ロールを使用したデータの収集は、AWS 中国リージョンではサポートされていません。

アーキテクチャ

AWS Network Firewall と Splunk のロギングアーキテクチャ

この図表は、以下を示すものです:

  1. Network Firewall は CloudWatch Logs にログを公開します。

  2. Splunk Enterprise は CloudWatch からメトリクスとログを取得します。

このアーキテクチャのサンプルメトリクスとサンプルログを入力するために、ワークロードは Network Firewall エンドポイントを通過するトラフィックを生成してインターネットに移動します。これは、ルートテーブルの使用によって実現されます。このパターンではワークロードとして単一の Amazon EC2 インスタンスを使用しますが、Network Firewall が CloudWatch Logs にログを送信するように設定されていれば、このパターンは任意のアーキテクチャに適用できます。

このアーキテクチャでは、別の仮想プライベートクラウド (VPC) の Splunk Enterprise インスタンスも使用します。ただし、Splunk インスタンスは、CloudWatch API に到達できる限り、ワークロードと同じ VPC など、別の場所に配置することもできます。

ツール

AWS サービス

  • Amazon CloudWatch Logs」は、すべてのシステム、アプリケーション、 AWS からのログを一元化することを支援して、ログを監視して安全にアーカイブできるようにします。

  • Amazon Elastic Compute Cloud (Amazon EC2)」は、AWS クラウドでスケーラブルなコンピューティング容量を提供します。仮想サーバーを必要な数だけ起動して、迅速にスケールアップまたはスケールダウンができます。

  • AWS Network Firewall は、ステートフルでマネージド型のネットワークファイアウォールならびに侵入検知および防止サービスです。

その他のツール

  • Splunk」 はログデータのモニタリング、視覚化、分析に役立ちます。

エピック

タスク説明必要なスキル

IAM ポリシーを作成します。

JSON エディタを使用してポリシーを作成する」の手順に従って、CloudWatch Logs データおよび CloudWatch メトリクスへの読み取り専用アクセスを許可する IAM ポリシーを作成します。以下の ポリシーを JSON エディタに貼り付けます。

{ "Statement": [ { "Action": [ "cloudwatch:List*", "cloudwatch:Get*", "network-firewall:List*", "logs:Describe*", "logs:Get*", "logs:List*", "logs:StartQuery", "logs:StopQuery", "logs:TestMetricFilter", "logs:FilterLogEvents", "network-firewall:Describe*" ], "Effect": "Allow", "Resource": "*" } ], "Version": "2012-10-17" }
AWS 管理者

新しい IAM ロールを作成します。

AWS のサービスにアクセス許可を委任するロールの作成」の手順に従って、Splunk Add-On for AWS が CloudWatch へのアクセスに使用する IAM ロールを作成します。[アクセス許可ポリシー] で、以前に作成したポリシーを選択します。

AWS 管理者

Splunk クラスターの EC2 インスタンスに IAM ロールを割り当てます。

  1. Amazon EC2 コンソールの https://console.aws.amazon.com/ec2/ を開いてください。

  2. ナビゲーションペインで、[インスタンス] を選択してください。

  3. Splunk クラスター内の EC2 インスタンスを選択します。

  4. [アクション][セキュリティ][IAM ロールを変更] の順に選択します。

  5. 前に作成した IAM ロールを選択し、[保存]を選択します。

AWS 管理者
タスク説明必要なスキル

アドオンをインストールします。

  1. Splunk ダッシュボードで、[Splunk Apps] に移動します。

  2. Splunk Add-on for Amazon Web Services」を検索します。

  3. [インストール] を選択します。

  4. Splunk 認証情報を入力します。

Splunk 管理者

AWS 認証情報を設定します。

  1. Splunk ダッシュボードで、[Splunk Add-on for AWS] に移動します。

  2. [設定] を選択します。

  3. [Autodiscovered IAM Role] 列で、前に作成した IAM ロールを選択します。

詳細については、Splunk ドキュメントの「Find an IAM role within your Splunk platform instance」を参照してください。

Splunk 管理者
タスク説明必要なスキル

CloudWatch Logs からの Network Firewall ログの取得を設定します。

  1. Splunk ダッシュボードで、[Splunk Add-on for AWS] に移動します。

  2. [Input] を選択します。

  3. [Create New Input] を選択します。

  4. リストで、[Custom Data Type] を選択し、[CloudWatch Logs] を選択します。

  5. Network Firewall ログの名前AWS アカウントAWS リージョンロググループを入力します。

  6. [保存] を選択します。

デフォルトでは、Splunk は 10 分ごとにログデータを取得します。これは、[Advanced Settings]で設定可能なパラメータです。詳細については、Splunk ドキュメントの「Configure a CloudWatch Logs input using Splunk Web」を参照してください。

Splunk 管理者

CloudWatch からの Network Firewall メトリクスの取得を設定します。

  1. Splunk ダッシュボードで、[Splunk Add-on for AWS] に移動します。

  2. [Input] を選択します。

  3. [Create New Input] を選択します。

  4. リストで、[CloudWatch] を選択します。

  5. Network Firewall メトリクスの名前AWS アカウントAWS リージョンを入力します。

  6. [Metric Configuration] の横で、[Edit in advanced mode] を選択します。

  7. (オプション) 事前設定された名前空間をすべて削除します。 

  8. [Add Namespace] を選択し、「AWS/NetworkFirewall」という名前を付けます。

  9. [Dimension Value] に以下を追加します。

    [{"AvailabilityZone":[".*"],"Engine":[".*"],"FirewallName":[".*"]}]
  10. [Metrics] で、[All] を選択します。

  11. [Metric Statistics] で、[Sum] を選択します。

  12. [OK] を選択してください。

  13. [保存] を選択します。

デフォルトでは、Splunk は 5 分ごとにメトリクスデータを取得します。これは、[Advanced Settings]で設定可能なパラメータです。詳細については、Splunk ドキュメントの「Configure a CloudWatch input using Splunk Web」を参照してください。

Splunk 管理者
タスク説明必要なスキル

上位の送信元 IP アドレスを表示します。

  1. Splunk ダッシュボードで、[Search & Reporting] に移動します。

  2. [enter search here] ボックスに、次のように入力します。

    sourcetype="aws:cloudwatchlogs" | top event.src_ip

    このクエリを実行すると、トラフィックが最も多い送信元 IP アドレスのテーブルが降順で表示されます。

  3. 図で表示するには、[Visualization] を選択します。

Splunk 管理者

パケット統計を表示します。

  1. Splunk ダッシュボードで、[Search & Reporting] に移動します。

  2. [enter search here] ボックスに、次のように入力します。

    sourcetype="aws:cloudwatch"| timechart sum(Sum) by metric_name

    このクエリを実行すると、1 分あたりの DroppedPacketsPassedPacketsReceivedPackets メトリクスのテーブルが表示されます。

  3. 図で表示するには、[Visualization] を選択します。

Splunk 管理者

最も使用されている送信元ポートを表示します。

  1. Splunk ダッシュボードで、[Search & Reporting] に移動します。

  2. [enter search here] ボックスに、次のように入力します。

    sourcetype="aws:cloudwatchlogs" | top event.dest_port

    このクエリを実行すると、トラフィックが最も多い送信元ポートのテーブルが降順で表示されます。

  3. 図で表示するには、[Visualization] を選択します。

Splunk 管理者

関連リソース

AWS ドキュメント

AWS ブログ投稿

AWS Marketplace