【正解】A
【0からの解説】
「最も効率的(MOST efficient)」という言葉がポイントです。AWS Config には `cloudtrail-enabled`(および `multi-region-cloudtrail-enabled` など)のマネージドルールがあり、CloudTrail が無効化された状態を「非準拠」として検知できます。さらに AWS Config の自動修復(remediation)には、SSM のマネージドオートメーションドキュメント `AWS-EnableCloudTrail` を割り当てられ、非準拠を検知すると自動で CloudTrail を再有効化します。コードを書く必要がなく、検知から修復までをマネージド機能だけで完結できるため、最も効率的な実装です。よって A が正解です。
【誤りの選択肢】
B:EventBridge + 自前の Lambda 関数で StartLogging を呼ぶ方法でも実現は可能ですが、Lambda コードの開発・保守が必要で、A のマネージド修復よりも手間がかかり「最も効率的」ではありません。なお StartLogging はロギングを「開始」するイベントなので、トリガーにすべきは無効化=StopLogging です。
C:CloudWatch アラームはメトリクスのしきい値超過に対して発火するもので、「StopLogging という API イベント」を直接トリガーにはできません(それは EventBridge/CloudTrail の役割)。仕組みとして誤りです。
D:Trusted Advisor は推奨事項を提示するだけで、CloudTrail を自動的に再有効化する仕組みを持ちません。監視だけでは「再びオンに戻す」要件を満たしません。
【参考】
AWS Config マネージドルール: cloudtrail-enabledAWS Config による自動修復