AWS認定資格 WEB問題集&徹底解説
CloudOpsエンジニア -アソシエイト
問題文と選択肢
- AWS アカウントを AWS Organizations に追加する。管理アカウントで CloudTrail を有効にする。
- CloudTrail の設定が変更されたときに呼び出される AWS Config ルールを作成する。CloudTrail を有効化する自動修復アクションを AWS Config ルールに適用する。
- CloudTrail の設定が変更されたときに呼び出される AWS Config ルールを作成する。CloudTrail を有効化する AWS Lambda 関数を呼び出すようにルールを設定する。
- CloudTrail を有効化する AWS Systems Manager Automation ドキュメントを実行するスケジュールパターンを使用して、Amazon EventBridge (Amazon CloudWatch Events) の 1 時間ごとのルールを作成する。
A. AWS アカウントを AWS Organizations に追加する。管理アカウントで CloudTrail を有効にする。
AWS Organizations で組織証跡(organization trail)を作れば、メンバーアカウント側から削除・変更できない証跡を一括で用意できるが、アカウント個別に作成された証跡が無効化された場合に、それを検知して元に戻す仕組みではない。
「無効化されたら直ちに再有効化する」という検知と修復のループを提供しないため、要件を満たさない。
B. CloudTrail の設定が変更されたときに呼び出される AWS Config ルールを作成する。CloudTrail を有効化する自動修復アクションを AWS Config ルールに適用する。
AWS Config はリソースの設定変更を記録・評価する。CloudTrail の設定変更をトリガーに評価するルールを作り、非準拠と判定された際の修復アクション(AWS Systems Manager Automation ドキュメント。例えば AWS-EnableCloudTrail)を自動実行(自動修復)するよう設定すれば、無効化を検知して直ちに再有効化できる。
ルールも修復アクションもマネージドな部品を設定するだけでコードを書かないため、「カスタムコード不要」「直ちに修復」の両方を満たす唯一の選択肢。
C. CloudTrail の設定が変更されたときに呼び出される AWS Config ルールを作成する。CloudTrail を有効化する AWS Lambda 関数を呼び出すようにルールを設定する。
検知の仕組み(AWS Config ルール)は正しいが、修復手段としてAWS Lambda 関数を自分で実装することになる。
動作としては要件を満たせても、問題文が明示する「カスタムコードを記述せずに」という制約に違反する。Config の修復アクションという標準機能があるのに、あえてコードを書く点で不適。
D. CloudTrail を有効化する AWS Systems Manager Automation ドキュメントを実行するスケジュールパターンを使用して、Amazon EventBridge (Amazon CloudWatch Events) の 1 時間ごとのルールを作成する。
Systems Manager Automation ドキュメントの実行自体はコード不要だが、1 時間ごとのスケジュール実行であるため、無効化されてから最大 1 時間、CloudTrail が停止したままになる。
「無効化されたら直ちに再有効化する」という要件を満たさない。加えて、無効化されていない場合でも毎時実行される無駄な処理が発生する(イベント駆動ではなくポーリングである点が弱み)。
構成図
AWS CloudTrail(無効化される) │ 設定変更を検知 ▼ AWS Config ルール(変更トリガーで評価)──非準拠──▶ 自動修復アクション(SSM Automation: AWS-EnableCloudTrail) ▲ │ └──────────────── 直ちに CloudTrail を再有効化 ◀─────────┘
「あるべき設定に戻す」は AWS Config の自動修復。Lambda を書いたらカスタムコード条件で失格。
正解への思考ルート
問題文から要件を抽出し、選択肢の適否を判断するのがポイントです。| 要件 | 判断ポイント |
|---|---|
| CloudTrail が無効化されたことを検知する | リソースの設定変更をトリガーに評価できるのは AWS Config ルール。スケジュール実行では検知ではなく定期上書きになる →選択肢(B・C)は候補/選択肢(D)を消す |
| 「直ちに」再度有効化する | 1 時間ごとの定期実行では最大 1 時間の空白が生じる。イベント駆動の即時修復が必要 →選択肢(D)を消す |
| カスタムコードを記述しない | AWS Config の修復アクション(SSM Automation ドキュメント)は設定のみで完結。Lambda 関数は自作コードになる →選択肢(C)を消す/選択肢(B)が正解 |
| 対象は「この AWS アカウント」の CloudTrail | Organizations への追加は検知・修復の仕組みではない(予防的統制であって是正的統制ではない) →選択肢(A)を消す |
ひっかけポイント
- 選択肢 C は正解とほぼ同じ文面で、修復手段だけが Lambda になっている。問題文の「カスタムコードを記述せずに」を読み飛ばすと選んでしまう
- 選択肢 D は「Systems Manager Automation ドキュメント=コード不要」で条件を満たしそうに見えるが、1 時間ごとのポーリングでは「直ちに」を満たさない
- 選択肢 A の Organizations(組織証跡)は「無効化されないようにする」予防策であって、「無効化されたら戻す」是正策ではない。設問が求めているのは後者
- AWS Config は「検知(ルール)」と「修復(リメディエーション)」がセットで使えるサービス。この 2 段構えを知らないと C や D に流れる
出題バリエーション
同じ知識が本番では条件を変えて出題されます。| 問題文がこう変わったら | 正解はこう変わる |
|---|---|
| 「そもそもメンバーアカウントが CloudTrail を無効化できないようにしたい(予防的統制)」 | AWS Organizations の SCP で cloudtrail:StopLogging / DeleteTrail を拒否、または組織証跡が正解軸に。 |
| 「修復のために独自の複雑な処理を実行したい(カスタムコードの制約が無い)」 | AWS Config ルール+Lambda、または EventBridge + Lambda が正解になり得る(本問の選択肢 C)。 |
| 「CloudTrail が無効化されたら通知だけしたい」 | EventBridge(CloudTrail の API コールを検知)+ Amazon SNS、または Config の非準拠通知が正解軸に。 |
| 「S3 バケットのパブリックアクセスなど他の設定違反も自動で是正したい」 | 同じ型(Config マネージドルール+自動修復)で解ける。AWS Security Hub の自動修復も選択肢に。 |
- AWS アカウントを AWS Organizations に追加する。管理アカウントで CloudTrail を有効にする。
- CloudTrail の設定が変更されたときに呼び出される AWS Config ルールを作成する。CloudTrail を有効化する自動修復アクションを AWS Config ルールに適用する。
- CloudTrail の設定が変更されたときに呼び出される AWS Config ルールを作成する。CloudTrail を有効化する AWS Lambda 関数を呼び出すようにルールを設定する。
- CloudTrail を有効化する AWS Systems Manager Automation ドキュメントを実行するスケジュールパターンを使用して、Amazon EventBridge (Amazon CloudWatch Events) の 1 時間ごとのルールを作成する。