無限ノック › DOP 練習問題一覧 › 問題
DOPSDLC の自動化

DevOpsエンジニアがAWS CloudFormationを使用してAWS CodeConnections(接続プロバイダー:GitHub)とAWS CodePipelineをデプロイしました。パイプラインのソースアクションにはGitHubリポジトリを指定し、CloudFormationスタックのデプロイは成功しています。しかしGitHubリポジトリへプッシュしてもパイプラインが自動起動しません。最も可能性の高い原因はどれですか?

A
GitHubリポジトリのSettings画面でWebhookのURLとシークレットを手動で登録していないため
CodeConnectionsはWebhookをGitHub側に自動登録するため、手動作成は不要です。
B
CloudFormationで作成されたCodeConnections接続は「PENDING(保留中)」状態のままであり、AWSコンソールの「開発者用ツール > 接続」画面から1回だけ手動でOAuth認証を完了させ「AVAILABLE」状態にする必要があるため
✓ 正解
AWS CodeConnectionsはCloudFormation・API・CLIで作成すると必ずPENDING状態になります。OAuthのアカウント認可はブラウザを介したユーザー操作が必要なため、自動化ツールでは完了できません。AWSコンソールで「接続を完了する」をクリックしてGitHubアカウントを認可することで初めてAVAILABLE状態になり、パイプラインの自動トリガーが機能します。
C
CodePipelineのIAMサービスロールに codestar-connections:UseConnection 権限が付与されていないため
(IAM権限不足)の場合は、パイプライン実行時にアクセス拒否エラーが発生しますが、PENDING状態が最も一般的な原因であり、権限が正しくてもPENDINGでは起動しません。
D
EventBridgeルールを手動で作成し、GitHubのプッシュイベントをCodePipelineのStartPipelineExecution APIへルーティングする必要があるため
CodeConnectionsをソースとするCodePipelineでは、WebhookとEventBridgeルールが自動的に作成されるため、手動作成は不要です。

解説

AWS CodeConnectionsはCloudFormation・API・CLIで作成すると必ずPENDING状態になります。OAuthのアカウント認可はブラウザを介したユーザー操作が必要なため、自動化ツールでは完了できません。AWSコンソールで「接続を完了する」をクリックしてGitHubアカウントを認可することで初めてAVAILABLE状態になり、パイプラインの自動トリガーが機能します。 選択肢A(Webhook の手動登録)は不要です。CodeConnectionsはWebhookをGitHub側に自動登録するため、手動作成は必要ありません。 選択肢C(IAM権限不足)の場合はパイプライン実行時にアクセス拒否エラーが発生しますが、今回はそもそもパイプラインがトリガーされていないため原因として該当しません。なお、IAMアクション名「codestar-connections:UseConnection」はサービス改称後も後方互換性のため維持されています。 選択肢D(EventBridgeルールの手動作成)は不要です。CodeConnectionsを使用したソースアクションでは、GitHubへのWebhookとEventBridgeルールはCodePipelineが自動的に作成します。

ドメイン別正答率・予想スコアでリアルタイムに実力把握

無限ノックでDOPを徹底対策。全問AI生成のオリジナル問題。

無料で演習を始める →
← DOP の問題一覧に戻る