模擬問題集DOP-C02練習問題 3

DOP-C02 練習問題 3

AWS DevOps Engineer – Professional・モニタリングとロギング・無料公開(全 200 問中 15 問を無料公開中)

問題
ある企業のアプリケーションは、複数のAWSアカウントでAmazon EC2インスタンス上で実行され、AWS Lambda関数を使用しています。すべてのEC2インスタンスにはAmazon CloudWatchエージェントがインストールされています。すべてのアカウントは、AWS Organizationsの同じ組織に属しています。企業は専用の中央ログアカウントを作成しています。 アプリケーションが生成するすべてのログは、中央の場所に送信される必要があります。ログは、企業が管理するキーで暗号化される必要があります。 この要件を最も少ない運用オーバーヘッドで満たすソリューションはどれですか?

選択肢と解説

  • 1
    中央ログアカウントで、CloudWatchのデータソースとしてログを有効にする。ソースアカウントリストに組織IDを追加する。CloudWatchが提供するテンプレートを使用してCloudFormation StackSetを作成し、組織のすべてのアカウントで中央モニタリングを有効にする。
  • 2
    中央ログアカウントにAmazon S3バケットを作成する。中央ログアカウントにAmazon Data Firehoseストリームを作成する。S3バケットをFirehoseストリームの宛先に設定する。中央ログアカウントにログサブスクリプションを作成する。Firehoseストリームをサブスクリプションのターゲットに設定する。各プロジェクトがS3バケットにログを送信するために使用するサブスクリプションログARNをAWS Systems Manager Parameter Storeに保存する。
  • 3
    各アカウントにAmazon S3バケットを作成する。中央ログアカウントにAmazon OpenSearch Serviceクラスターを作成する。中央ログアカウントにAmazon Simple Queue Service(Amazon SQS)キューを作成する。S3バケットに新しいファイルがアップロードされるたびにSQSキューにイベントを送信するS3トリガーを作成する。各ファイルを処理してOpenSearch Serviceクラスターに送信するLambda関数を作成する。
  • 中央ログアカウントにAmazon S3バケットを作成する。各アカウントにAmazon Data Firehoseストリームを作成する。S3バケットをFirehoseストリームの宛先に設定する。各アカウントにFirehoseストリームをターゲットとするログサブスクリプションを作成する。

解説

【正解】D

【0からの解説】
CloudWatch Logsには「サブスクリプションフィルター(subscription filter)」という機能があり、ロググループに届いたログをリアルタイムでAmazon Data Firehose(旧Kinesis Data Firehose)などへ転送できます。FirehoseはそのログをS3バケットへ配信でき、配信時にサーバー側暗号化(顧客管理のKMSキー = 企業が管理するキー)を適用できます。

クロスアカウントの集中ロギングでは、各ソースアカウント側に「ログを集める出口」を置く構成が定石です。Dは、中央ログアカウントに集約先のS3バケットを1つ作り、各ソースアカウントにFirehoseストリームとサブスクリプション(サブスクリプションフィルター)を作成して、各アカウントのCloudWatch Logsを中央のS3へ流し込みます。Firehoseの配信設定でKMS暗号化を有効にすれば「企業が管理するキーで暗号化」も満たせます。マネージドサービス(CloudWatch Logsサブスクリプション+Firehose+S3)の組み合わせで自前のETL/処理コードが不要なため、運用オーバーヘッドが小さく、要件に最も適合します。

【誤りの選択肢】
A:CloudWatchの「ソースアカウント/モニタリングアカウント(CloudWatch cross-account observability)」の話に近いが、これはメトリクス/ログのクロスアカウント“閲覧”の仕組みであり、「企業管理キーで暗号化した中央S3への集約」という本問の要件(保存・暗号化)を直接満たす構成ではない。記述も実際の機能と噛み合わない。
B:サブスクリプションとFirehoseを“中央アカウント側だけ”に作る構成だが、各ソースアカウントのロググループから中央アカウントのFirehoseへ流すには、ソースアカウント側にクロスアカウント送信先(送信先=destination)とサブスクリプションフィルターが必要。記述の「ARNをParameter Storeに保存して各プロジェクトが送る」だけでは配線が成立せず、回りくどく実装も曖昧。
C:各アカウントにS3、さらにOpenSearch+SQS+自前Lambdaで処理という構成は、コンポーネントが多く自前コードの保守が必要で運用オーバーヘッドが最大級。要件(中央集約・暗号化)に対して過剰。
D:各アカウントのCloudWatch LogsサブスクリプションからFirehose経由で中央S3へ集約し、KMSで暗号化。マネージドサービス中心で最小の運用オーバーヘッド。

【参考】
Real-time processing of log data with subscriptions
Cross-account log data sharing with subscriptions
Data protection (encryption) in Amazon Data Firehose
← 練習問題 2練習問題 4
DOP-C02 の模擬問題集は全 200

本番形式の練習テスト 4 回を、試験モード/演習モードで受験できます。 全問に解説付き、ドメイン別の弱点分析にも対応。模試プラン(月額 ¥980)からご利用いただけます。

DOP-C02 の模試を受ける料金プランを見る

DOP-C02 の無料公開問題

問題 1問題 2問題 3問題 4問題 5問題 6問題 7問題 8問題 9問題 10問題 11問題 12問題 13問題 14問題 15