AWS認定資格 WEB問題集&徹底解説

ソリューションアーキテクト – アソシエイト

正解 B問題
要復習(もう一度解きたい問題) 1 2 3 4
合格に向けて、もっと深く学習する
豊富な問題と詳細なAWSサービス解説を、24時間無料でお試しいただけます
プレミアム会員機能を無料で試す ❯
問題文と選択肢
ある企業では、複数のAWSアカウントで利用するためのカスタムAMIを開発チームが定期的に作成しています。セキュリティチームは、組織内のすべてのAWSアカウントにおいて、誰かがAMIを作成した際にリアルタイムで通知を受け取る仕組みを導入したいと考えています。この通知システムは、運用負荷を最小限に抑えつつ、確実にAPI呼び出しを検知できる必要があります。
この要件を満たすために、最も運用負荷の少ないソリューションはどれですか。
  • AWS CloudTrailのログをAmazon S3に保存し、S3イベント通知を使用してAWS Lambda関数をトリガーする。Lambda関数でログを解析し、AMI作成イベントを検出した場合にAmazon SNSトピックに通知を送信する。
  • Amazon EventBridgeルールを作成し、EC2のCreateImageアクションをイベントパターンとして指定する。ターゲットとしてAmazon SNSトピックを設定し、AMI作成時に直接通知を送信する。
  • AWS Configルールを作成してAMIリソースの変更を監視し、コンプライアンス違反が検出された際にAWS Lambda関数を実行する。Lambda関数からAmazon SNSトピックに通知を送信する。
  • Amazon CloudWatch Logsにカスタムメトリクスフィルタを作成し、AWS CloudTrailログからCreateImageイベントを抽出する。CloudWatch Alarmを設定してメトリクスが検出されたときにAmazon SNSに通知する。
解説 頻出度★★★★
この問題は、「API呼び出しをリアルタイムに検知 × 運用負荷を最小化」の要件で、ログを溜めてから読みに行く経路ではなく、EventBridgeでAPIコールイベントを直接ターゲットへルーティングするという定石を選べるかがポイント

A. AWS CloudTrailのログをAmazon S3に保存し、S3イベント通知を使用してAWS Lambda関数をトリガーする。Lambda関数でログを解析し、AMI作成イベントを検出した場合にAmazon SNSトピックに通知を送信する。

CloudTrailログをS3に配信してからLambdaで解析する構成は実装可能だが、CloudTrailからS3への配信には数分単位の遅延があり「リアルタイム」の要件を満たしにくい。
さらにログのパース処理をLambda内に自前実装する必要があり、EventBridgeで直接イベントを受け取る構成より運用負荷が高い。

正解

B. Amazon EventBridgeルールを作成し、EC2のCreateImageアクションをイベントパターンとして指定する。ターゲットとしてAmazon SNSトピックを設定し、AMI作成時に直接通知を送信する。

Amazon EventBridgeは、CloudTrailが記録したAPIコールをイベントパターンとして直接マッチングし、SNSなどのターゲットへ即座にルーティングできる。
EC2のCreateImageアクションをイベントパターンに指定するだけでよく、ログ解析用のLambda関数や中間ストレージが不要なため、リアルタイム性と運用負荷の最小化を両立する唯一の選択肢。

C. AWS Configルールを作成してAMIリソースの変更を監視し、コンプライアンス違反が検出された際にAWS Lambda関数を実行する。Lambda関数からAmazon SNSトピックに通知を送信する。

AWS Configはリソースの構成変更やコンプライアンス違反の継続的な評価を主目的とするサービスであり、API呼び出し自体をリアルタイムに検知する用途には設計されていない。
Configルールの評価に加えてLambda関数の実行という複数ステップが必要になり、構成も複雑化する。

D. Amazon CloudWatch Logsにカスタムメトリクスフィルタを作成し、AWS CloudTrailログからCreateImageイベントを抽出する。CloudWatch Alarmを設定してメトリクスが検出されたときにAmazon SNSに通知する。

CloudWatch LogsのメトリクスフィルタとAlarmを使う構成も技術的には可能だが、CloudTrailログをCloudWatch Logsへ配信する設定・メトリクスフィルタ・Alarmという3層の構成要素を個別に作成・維持する必要があり、EventBridgeで直接受け取る方式より明らかに運用負荷が高い。

構成図

EC2 CreateImage API呼び出し
   │ CloudTrailが記録
   ▼
Amazon EventBridge(ルール: CreateImage)
   │ 直接ターゲット指定
   ▼
Amazon SNS ──▶ セキュリティチームへ通知
これだけ覚える(記憶フック)
API呼び出しへの即時反応はEventBridgeが定石。ログを溜めて後から解析する構成は、その時点で運用負荷も遅延も増える。
正解への思考ルート 問題文から要件を抽出し、選択肢の適否を判断するのがポイントです。
要件 判断ポイント
誰かがAMIを作成した際にリアルタイムで通知を受け取りたい CloudTrailのS3配信を待つ選択肢Aや、CloudWatch Logsへの配信を待つ選択肢Dは数分の遅延が生じ「リアルタイム」の要件に反する
→選択肢(A・D)を消す
確実にAPI呼び出しを検知できる必要がある AWS Configはリソースの構成変更・コンプライアンス評価が主目的で、API呼び出しの即時検知には向かない
→選択肢(C)を消す
運用負荷を最小限に抑えたい EventBridgeはCloudTrailのAPIコールイベントを直接SNSへルーティングでき、追加のログ解析・配信設定が不要
→選択肢(B)が最有力
組織内のすべてのAWSアカウントが対象 EventBridgeは組織全体のイベントを管理アカウントのイベントバスへ集約できるため、アカウント数が増えても構成が破綻しない。ログ解析Lambda(A)やメトリクスフィルタ(D)はアカウントごとに同じ仕組みを複製・保守する必要があり、規模が増えるほど運用負荷が膨らむ
→選択肢(B)が正解
ひっかけポイント
  • 選択肢A「S3イベント通知+Lambda」は一見リアルタイムに見えるが、CloudTrailのS3への配信には数分の遅延があり、要件の「リアルタイム」を満たしにくい
  • 選択肢C「AWS Config」は名前から万能な監視サービスに見えるが、実際は構成変更・コンプライアンス評価が主目的で、単発のAPI呼び出しの即時検知には不向き
  • 選択肢D「CloudWatch Logsメトリクスフィルタ+Alarm」は動作はするが、ログ配信設定・フィルタ・Alarmという3段構成を維持する必要があり、EventBridgeより運用負荷が高い
出題バリエーション 同じ知識が本番では条件を変えて出題されます。
問題文がこう変わったら 正解はこう変わる
「AMI作成のような単発のAPIコールではなく、暗号化されていないボリュームなど継続的なコンプライアンス違反を検知したい」 AWS Configルールが正解軸に浮上する。
「通知だけでなく不正なAMIを自動的に削除・タグ付けしたい」 EventBridgeのターゲットをLambda関数やSystems Manager Automationに変更する構成が正解に。
リアルタイム性は不要で、過去のAMI作成履歴を分析したい」 CloudTrailログをS3に蓄積し、Athenaでクエリする構成が適切になる。
「単一アカウントではなく複数アカウントを一元的に集約監視したい」 Organizationの証跡(組織trail)と委任管理者アカウントでの集約EventBridgeルールが必要になる。
関連サービスの解説 Amazon EC2
Amazon EventBridge
Amazon Simple Notification Service (Amazon SNS)
AWS CloudTrail
+ 質問 / コメント
解答・解説に疑問がある場合や、よりよい解説がある場合など、お気軽にコメントください。ただし、短文コメントは表示されません。また、中傷などコメントの内容によっては、会員機能を停止させて頂きます。教え学び合える場になれば嬉しいです。(コメント投稿にはログインが必要です)
正答率 50%
No.16 解説
ある企業では、複数のAWSアカウントで利用するためのカスタムAMIを開発チームが定期的に作成しています。セキュリティチームは、組織内のすべてのAWSアカウントにおいて、誰かがAMIを作成した際にリアルタイムで通知を受け取る仕組みを導入したいと考えています。この通知システムは、運用負荷を最小限に抑えつつ、確実にAPI呼び出しを検知できる必要があります。
この要件を満たすために、最も運用負荷の少ないソリューションはどれですか。
  • AWS CloudTrailのログをAmazon S3に保存し、S3イベント通知を使用してAWS Lambda関数をトリガーする。Lambda関数でログを解析し、AMI作成イベントを検出した場合にAmazon SNSトピックに通知を送信する。
  • Amazon EventBridgeルールを作成し、EC2のCreateImageアクションをイベントパターンとして指定する。ターゲットとしてAmazon SNSトピックを設定し、AMI作成時に直接通知を送信する。
  • AWS Configルールを作成してAMIリソースの変更を監視し、コンプライアンス違反が検出された際にAWS Lambda関数を実行する。Lambda関数からAmazon SNSトピックに通知を送信する。
  • Amazon CloudWatch Logsにカスタムメトリクスフィルタを作成し、AWS CloudTrailログからCreateImageイベントを抽出する。CloudWatch Alarmを設定してメトリクスが検出されたときにAmazon SNSに通知する。

(会員限定)当問題の評価をお願いします。改善に活用します。