【正解】A
【0からの解説】
CodePipelineがCodeCommitのソース変更を検知して自動起動する仕組みは、内部的にAmazon EventBridge(旧CloudWatch Events)ルールに依存しています。パイプラインのソースアクションでCodeCommitを指定し「変更検知=CloudWatch Events(推奨)」にすると、対象リポジトリ・対象ブランチ(ここではmain)への変更を捕捉するEventBridgeルールが作成され、そのルールがパイプラインを起動します。
「プッシュしたのにパイプラインが全く反応しない」という症状の典型原因は、このEventBridgeルールが存在しない/無効/対象ブランチの指定が誤っているケースです。実際、開発者はリポジトリへプッシュ自体はできている(=プッシュ権限はある)と読めるので、まず確認すべきは「mainブランチの変更でパイプラインを起動するEventBridgeルールが正しく作成されているか」です。これがAであり、最初のトラブルシュート観点として最適です。
【誤りの選択肢】
B:CodePipelineサービスロールにソースアクセス権がない場合、パイプラインは“起動はするが失敗する”か、ソース取得段階でエラー表示される。今回は「全く反応しない(起動すらしない)」症状なので、起動トリガー(EventBridge)の不備を疑う方が先。
C:開発者がコードをプッシュできている時点で、プッシュ権限は足りている可能性が高い。仮に権限不足ならプッシュ自体が失敗するはずで、症状(プッシュ成功・パイプライン無反応)と矛盾する。
D:CodePipelineはパイプライン起動の失敗ログをCloudWatch Logsに自動出力する構成が標準ではなく、ここを見ても「起動トリガーが無い」原因は判明しにくい。観点として遠回り。
A:自動起動はEventBridgeルールに依存するため、mainブランチ向けルールの有無/正否を確認するのが正しい第一歩。
【参考】
Start a pipeline automatically using CloudWatch Events (CodeCommit source)Use CloudWatch Events to start a pipeline (CodeCommit)