DOPSDLC の自動化
ある企業のCodePipeline(V2タイプ)では、複数の開発者が短い間隔でCodeCommitへプッシュするため、パイプラインが連続して起動し、古いコミットのビルドが完了するまで新しいコミットのビルドが待機するという非効率が発生しています。要件は「常に最新のコミットのみをデプロイ対象とし、古いバージョンのキューを蓄積しない」ことです。この要件を満たす最適なパイプライン設定を選択してください。
Aパイプラインの実行モードをQUEUED(キュー)に設定し、最大同時実行数を1に制限して実行を順次処理する
(QUEUEDモード): 順次実行でキューが蓄積し古いコミットも処理されます。
Bパイプラインの実行モードをSUPERSEDED(上書き)に設定し、新しい実行が開始された際に待機中の古い実行を自動的にキャンセルさせる
✓ 正解
CodePipeline V2はQUEUED・SUPERSEDED・PARALLELの3つの実行モードをサポートします。SUPERSEDEDモードでは、新しい実行が起動されると待機中の古い実行が自動的にキャンセルされ、常に最新コミットのみが処理対象となります。
Cパイプラインの実行モードをPARALLEL(並列)に設定し、全実行を同時処理して最初に完了した実行の成果物をデプロイする
(PARALLELモード): 複数の本番デプロイが同時進行し競合が発生するリスクがあります。
DEventBridgeルールでCodeCommitのプッシュイベントを受信するLambda関数を実装し、5分間のデバウンス処理(一定時間内の重複イベントを間引く処理)でパイプラインの起動を間引く
(EventBridgeデバウンス): 追加のLambda実装が必要で、CodePipelineのネイティブ機能を活用するSUPERSEDEDモードが最適です。
解説
CodePipeline V2はQUEUED・SUPERSEDED・PARALLELの3つの実行モードをサポートします。SUPERSEDEDモードでは、新しい実行が起動されると待機中の古い実行が自動的にキャンセルされ、常に最新コミットのみが処理対象となります。
選択肢A(QUEUEDモード): 順次実行でキューが蓄積し古いコミットも処理されます。
選択肢C(PARALLELモード): 複数の本番デプロイが同時進行し競合が発生するリスクがあります。
選択肢D(EventBridgeデバウンス): 追加のLambda実装が必要で、CodePipelineのネイティブ機能を活用するSUPERSEDEDモードが最適です。
ドメイン別正答率・予想スコアでリアルタイムに実力把握
無限ノックでDOPを徹底対策。全問AI生成のオリジナル問題。
無料で演習を始める →