Q89 — AWS DOP-C02 第2章
第 89/100 問 | ← 第2章
ある企業が、教育機関の組織内で複数のアカウントを管理しています。同社は、Amazon CloudWatch Logsのログデータを専用のAWSアカウントのAmazon S3バケットに送信するソリューションを必要としています。このソリューションは、既存および今後作成されるCloudWatch Logsのロググループをサポートする必要があります。
- A. 組織のバックアップポリシーを有効化し、すべてのロググループを専用のS3バケットにバックアップします。すべての所属アカウントからのアクセスを許可するS3バケットポリシーを追加します。
- B. AWS Backupでバックアッププランを作成します。専用のS3バケットをバックアップ保管庫として指定します。すべてのCloudWatch Logsのロググループリソースをバックアッププランに割り当てます。バックアッププラン内で、すべての所属アカウントのリソース割り当てを作成します。
- C. AWS Backupでバックアッププランを作成します。専用のS3バケットをバックアップ保管庫として指定します。すべての既存のロググループをバックアッププランに割り当てます。バックアッププラン内で、すべての所属アカウントのリソース割り当てを作成します。AWS Systems Manager Automationランブックを作成し、バックアッププランにロググループを割り当てる処理を実行します。AWS Configルールを作成し、該当しないロググループに対して自動修復アクションを実行します。このルールのターゲットとしてランブックを指定します。
- D. 専用のAWSアカウントでCloudWatch LogsのデスティネーションとAmazon Kinesis Data Firehoseの配信ストリームを作成します。S3バケットを配信ストリームのデスティネーションとして指定します。すべてのアカウント内のすべての既存ロググループに対してサブスクリプションフィルターを作成します。CloudWatch LogsのサブスクリプションフィルターAPI操作を呼び出すAWS Lambda関数を作成します。ロググループ作成イベントが発生した際に、このLambda関数を呼び出すAmazon EventBridgeルールを作成します。 ✓
正解: D. 専用のAWSアカウントでCloudWatch LogsのデスティネーションとAmazon Kinesis Data Firehoseの配信ストリームを作成します。S3バケットを配信ストリームのデスティネーションとして指定します。すべてのアカウント内のすべての既存ロググループに対してサブスクリプションフィルターを作成します。CloudWatch LogsのサブスクリプションフィルターAPI操作を呼び出すAWS Lambda関数を作成します。ロググループ作成イベントが発生した際に、このLambda関数を呼び出すAmazon EventBridgeルールを作成します。
解説
AWSにおけるクロスアカウントログ転送の実装方法です。AWSアーキテクチャのベストプラクティスによると、集中型ログストレージには、CloudWatch Logsのサブスクリプションフィルター機能とKinesis Data Firehoseを組み合わせたリアルタイムストリーミングが推奨されます。選択肢Dは、ログデスティネーションと配信ストリームを作成することで、すべてのアカウントのログをリアルタイムでターゲットS3バケットに書き込むことを保証し、Lambda関数によって新規ロググループのサブスクリプション登録を自動処理し、EventBridgeイベントトリガーにより将来のリソースを自動的に取り込むことができます。他の選択肢は、バックアップベースのアプローチであり、データ遅延やリアルタイム同期の欠如という欠点があり、手動設定に依存するため、将来のロググループの自動処理要件を満たせません。