Q64 — AWS SAP-C02 第2章

第 64/75 問 | ← 第2章

Q214. ある企業は、自社のデータセンターとAWS間でハイブリッドソリューションを構築しました。同社はAmazon VPCおよびAmazon EC2インスタンスを活用しており、アプリケーションログをAmazon CloudWatchに送信しています。EC2インスタンスは、オンプレミスでホストされている複数のリレーショナルデータベースからデータを読み取ります。 同社は、どのEC2インスタンスがデータベースに接続されているかをニアリアルタイムで監視したいと考えています。すでにオンプレミスでSplunkを用いた監視ソリューションを導入済みです。ソリューションアーキテクトは、ネットワークトラフィックをSplunkへ送信する方法を特定する必要があります。 ソリューションアーキテクトは、これらの要件を満たすためにどのように対応すべきでしょうか?

正解: B. Splunkを宛先とするAmazon Kinesis Data Firehose配信ストリームを作成します。CloudWatch Logsのサブスクリプションフィルターから送信されるレコードから個別のログイベントを抽出するための、事前処理用AWS Lambda関数(Kinesis Data Firehoseストリームプロセッサ)を構成します。VPCフローログを有効化し、CloudWatchに送信します。さらに、CloudWatch Logsのサブスクリプションを設定して、ログイベントをKinesis Data Firehose配信ストリームへ送信します。

解説

選択肢Aでは、VPCフローログを有効化してCloudWatchへ送信していますが、EC2インスタンスに関する情報を自動抽出しSplunkへ送信する仕組みが提供されていません。選択肢Cでは、データベースへのすべてのリクエストとEC2インスタンスのIPアドレスをログに記録し、CloudWatchログをAmazon S3バケットへエクスポートする方法を提案していますが、このアプローチは手動介入を必要とし、ニアリアルタイム性を満たしません。選択肢Dでは、CloudWatchログをAmazon Kinesisデータストリームへ送信し、Amazon Kinesis Data Analytics for SQL Applicationsを用いてネットワークトラフィックの異常をニアリアルタイムで監視する方法を提案していますが、これはデータベースに接続されているEC2インスタンスに関する情報を取得することを目的としておらず、要件に合致しません。したがって、選択肢Bが最も適切な解決策です。Splunkを宛先とするAmazon Kinesis Data Firehose配信ストリームを作成し、CloudWatch Logsのサブスクリプションフィルターから送信されるレコードから個別のログイベントを抽出する事前処理用AWS Lambda関数(Kinesis Data Firehoseストリームプロセッサ)を構成します。さらにVPCフローログを有効化してCloudWatchへ送信し、CloudWatch Logsのサブスクリプションを設定してログイベントをKinesis Data Firehose配信ストリームへ送信します。このアプローチにより、データベースに接続されているEC2インスタンスをニアリアルタイムで監視でき、既存のSplunk監視ソリューションとのシームレスな統合も実現できます。