AWS認定資格 WEB問題集&徹底解説
CloudOpsエンジニア -アソシエイト
問題文と選択肢
カスタムコードを記述せずにこれらの要件を満たすために、CloudOps 管理者は何をすべきでしょうか?
- AWS アカウントを AWS Organizations に追加します。管理アカウントで CloudTrail を有効にします。
- CloudTrail の設定変更時に評価される AWS Config ルールを作成します。AWS-ConfigureCloudTrailLogging 自動修復アクションを適用します。
- CloudTrail の設定変更時に評価される AWS Config ルールを作成します。AWS Lambda 関数を呼び出して CloudTrail を有効にするようにルールを設定します。
- CloudTrail を有効にする AWS Systems Manager Automation ドキュメントを実行する、Amazon EventBridge (Amazon CloudWatch Events) の 1 時間ごとのスケジュールルールを作成します。
A. AWS アカウントを AWS Organizations に追加します。管理アカウントで CloudTrail を有効にします。
AWS Organizations の組織証跡は、管理アカウントからメンバーアカウントのイベントをまとめて記録できるが、本問の要件は「このアカウントの CloudTrail が無効化されたら再度有効にする」ことであり、証跡を別の場所で有効にすることは「無効化からの復旧」を意味しない。
また、無効化を検知して自動的に元に戻す仕組みが一切含まれていない。
組織単位でのログ集約という別の課題への解であって、要件を満たさない。
B. CloudTrail の設定変更時に評価される AWS Config ルールを作成します。AWS-ConfigureCloudTrailLogging 自動修復アクションを適用します。
AWS Config は CloudTrail の設定を継続的に評価し、証跡が無効化されるとNON_COMPLIANT と判定する。ここに自動修復アクションとして AWS 提供の SSM Automation ランブック AWS-ConfigureCloudTrailLogging を関連付けておけば、非準拠を検知した時点で自動的に CloudTrail のログ記録が再度有効化される。
マネージドルールとマネージドランブックの組み合わせなので、コードを一行も書かずに検知から復旧までが完結する。
「カスタムコードなし」「無効化されたら速やかに自動復旧」という 2 つの要件を同時に満たす唯一の選択肢。
C. CloudTrail の設定変更時に評価される AWS Config ルールを作成します。AWS Lambda 関数を呼び出して CloudTrail を有効にするようにルールを設定します。
検知の仕組み(AWS Config ルール)は正しいが、修復手段として AWS Lambda 関数を使う=関数コードを自分で書いて保守することになる。
問題文が明示的に禁じている「カスタムコードを記述せずに」という制約に真正面から違反する。
機能としては動作するため技術的には成立するが、要件に照らして不適。AWS 提供のランブックで済むものにコードを持ち込まないのが定石。
D. CloudTrail を有効にする AWS Systems Manager Automation ドキュメントを実行する、Amazon EventBridge (Amazon CloudWatch Events) の 1 時間ごとのスケジュールルールを作成します。
EventBridge の 1 時間ごとのスケジュールで SSM Automation を実行する方式は、イベント駆動ではなく定期実行であるため、CloudTrail が無効化されてから次の実行までに最大 1 時間、監査ログが記録されない空白期間が生じる。
「できるだけ早く自動的に再度有効にする」という要件を満たせず、無効化されていない時も毎時無駄に実行される。
コードは不要だが、検知の即時性で AWS Config の自動修復に劣るため不適。
構成図
AWS CloudTrail(証跡が無効化される)
│ 設定変更を記録
▼
AWS Config ルールで評価 ──NON_COMPLIANT──▶ 自動修復アクション
AWS-ConfigureCloudTrailLogging
(SSM Automation ランブック)
│ 再度有効化
▼
AWS CloudTrail
「検知して直す・コードは書かない」= AWS Config ルール+自動修復アクション。Lambda を出したらコードを書く負けパターン。
正解への思考ルート
問題文から要件を抽出し、選択肢の適否を判断するのがポイントです。| 要件 | 判断ポイント |
|---|---|
| CloudTrail が無効にされたことを検知する | 設定変更の検知は AWS Config の役割。証跡を別アカウントで有効にしても検知にはならない →選択肢(A)を消す |
| 検知したらできるだけ早く自動的に再度有効にする | 定期実行(1 時間ごと)では最大 1 時間の空白が生じ、「できるだけ早く」を満たさない →選択肢(D)を消す |
| カスタムコードを記述しない | Lambda 関数=カスタムコード。AWS 提供の SSM Automation ランブックなら記述不要 →選択肢(C)を消す |
| 検知から復旧までを自動化する | AWS Config ルールに 自動修復アクション(AWS-ConfigureCloudTrailLogging)を関連付ける →選択肢(B)が正解 |
ひっかけポイント
- 選択肢 B と C は前半(AWS Config ルールで検知)が全く同じで、差は修復手段だけ。「Lambda 関数」の 4 文字が見えた瞬間に「カスタムコードを記述せずに」の制約に反すると判断する
- 選択肢 D も「カスタムコードは書かない」ため一見要件を満たすが、1 時間ごとの定期実行である点が罠。無効化から復旧までのログ欠落を許容できない
- 選択肢 A の Organizations の組織証跡は「メンバーアカウントでは証跡を止められない」という別の統制として有効に見えるが、本問が求める「無効化の検知と自動復旧」の仕組みではない
- AWS Config の修復は Systems Manager Automation ランブックで実行される。AWS 提供(AWS- で始まる)ランブックを使う限り、コードの記述・保守は発生しない
出題バリエーション
同じ知識が本番では条件を変えて出題されます。| 問題文がこう変わったら | 正解はこう変わる |
|---|---|
| 「無効化されたことを検知して通知だけしたい」 | AWS Config ルール(または CloudTrail の設定変更を捕捉する EventBridge ルール)+ Amazon SNS 通知が正解軸に。 |
| 「メンバーアカウントでそもそも CloudTrail を止められないようにしたい」 | AWS Organizations の組織証跡+SCP(cloudtrail:StopLogging の Deny)による予防的統制が正解に変わる。 |
| 「AWS 提供のランブックでは対応できない独自の修復処理が必要」 | カスタム SSM Automation ランブックや Lambda を修復アクションにする構成が正解軸に(コード可の前提)。 |
| 「複数アカウントの準拠状況をまとめて可視化したい」 | AWS Config のアグリゲータや AWS Security Hub が正解軸に。 |
| 「S3 バケットのパブリックアクセスを検知したら自動で閉じたい」 | 同じ型(Config ルール+自動修復アクション)が正解。検知+自動修復の定番パターンとして横展開できる。 |
リファレンス
この問題を解くために必要な知識を扱う公式ドキュメントです。| 知識項目 | 公式ドキュメント |
|---|---|
| CloudTrail が有効かどうかを評価する AWS Config マネージドルール | cloudtrail-enabled - AWS Config |
カスタムコードを記述せずにこれらの要件を満たすために、CloudOps 管理者は何をすべきでしょうか?
- AWS アカウントを AWS Organizations に追加します。管理アカウントで CloudTrail を有効にします。
- CloudTrail の設定変更時に評価される AWS Config ルールを作成します。AWS-ConfigureCloudTrailLogging 自動修復アクションを適用します。
- CloudTrail の設定変更時に評価される AWS Config ルールを作成します。AWS Lambda 関数を呼び出して CloudTrail を有効にするようにルールを設定します。
- CloudTrail を有効にする AWS Systems Manager Automation ドキュメントを実行する、Amazon EventBridge (Amazon CloudWatch Events) の 1 時間ごとのスケジュールルールを作成します。