DOPSDLC の自動化
CodePipelineのソースステージでS3バケットの変更を検知する最も効率的な方法はどれですか?
ACodePipelineがS3バケットを定期的にポーリングする(旧方式)
CodePipelineポーリング方式(旧方式)は一定間隔でS3をチェックするため、変更検知に最大ポーリング間隔分の遅延が生じ、ポーリングAPI呼び出しのコストも発生します。
BS3バケットのEventBridgeイベントを使用してパイプラインを自動トリガーする
✓ 正解
EventBridgeによるS3イベントトリガーはS3オブジェクト変更を即座に検知でき、API呼び出しコストも低いです。AWSの新規パイプライン作成時のデフォルトもEventBridgeベースであり、ベストプラクティスとして推奨されています。
CLambda関数でS3の変更を監視してCodePipelineをAPIで起動する
Lambda関数でS3変更監視してCodePipelineをAPI起動する方式は技術的に動作しますが、CodePipelineが標準提供するEventBridgeトリガーを使用する方がシンプルで保守性が高く、カスタム実装は不要です。
DCloudWatchルールで1分ごとにS3バケットをチェックする
CloudWatchルールによる定期S3チェックはポーリング方式の一種であり、イベントドリブンなEventBridge方式より検知遅延が大きく、API呼び出しコストも割高です。
解説
EventBridgeを使用してS3オブジェクト変更イベントでパイプラインを起動する方式(イベントベース)は、ポーリング方式に比べて変更検知の遅延が少なくAPIコストも低いです。AWSではS3をソースとするCodePipelineのベストプラクティスとしてEventBridge統合が推奨されており、現在の新規パイプライン作成時のデフォルトもEventBridgeベースです。
Aのポーリング方式(旧方式)は一定間隔でS3を確認するため変更検知に遅延が生じ、APIコールのコストも発生します。
CのLambda関数で監視する方式は技術的に動作しますが、CodePipelineが標準提供するEventBridgeトリガーを利用する方がシンプルで保守性が高く、カスタム実装は不要です。
DのCloudWatchルールによる定期チェックもポーリング方式の一種であり、イベントドリブンな方式より非効率です。
ドメイン別正答率・予想スコアでリアルタイムに実力把握
無限ノックでDOPを徹底対策。全問AI生成のオリジナル問題。
無料で演習を始める →