無限ノック › DOP 練習問題一覧 › 問題
DOPインシデントとイベントへの対応

あるイベント駆動型アーキテクチャを採用したSaaSプラットフォームが、Amazon EventBridgeカスタムバスを通じて注文処理・在庫管理・決済サービスにイベントを配信しています。ある夜間のインシデントで決済サービスが40分間ダウンし、その間のすべての決済関連イベントが消失しました。DevOpsチームは以下の要件を満たすイベント再処理の仕組みを実装したいと考えています: ①イベントの保存を自動化する(追加のS3バケット・データベースの管理を最小限に抑える) ②インシデント後に特定の時間範囲のイベントを選択して再送信できる ③再送信先を決済サービスのターゲットのみに限定できる。この要件を最も効率的に満たすアプローチはどれですか?

A
EventBridgeルールのターゲットにKinesis Data Streamsを追加してすべてのイベントを保存し、インシデント後にコンシューマーアプリケーションのシャードイテレーター(shard iterator:Kinesisストリームのデータ読み取り開始位置を示すポインタ)を特定の時刻に設定して再処理する
Kinesis Data Streams は順序付きストリーム保存には有効ですが、シャードイテレーターによる時刻指定再処理は複雑で、特定ターゲットへの限定送信はEventBridgeとの追加実装が必要です。
B
EventBridgeアーカイブ(Event Archive)機能を有効化してカスタムバスを通過するイベントを自動的にアーカイブし、インシデント復旧後にEventBridge Replayで特定の時間範囲を指定してイベントを再送信する
✓ 正解
Amazon EventBridge Archiveは、イベントバスを通過するイベントをフィルター付きで自動的にアーカイブするマネージドな機能です。追加のS3バケットやデータベース管理は不要で、保持期間は無期限に設定することも可能です。EventBridge Replayを使用すると、アーカイブから特定の時間範囲(例:インシデント発生の40分間)を選択してイベントを再送信でき、再送信先バスに決済サービスのみをターゲットとするルールを定義することで再送信先を限定できます。
C
EventBridgeルールのターゲットとしてSQSキューを追加し、メッセージ保持期間(最大14日)内にコンシューマーを再起動してメッセージを再処理する
SQS は個別メッセージのリトライには有効ですが、特定時間範囲を指定した一括再送信機能はなく、保持期間も最大14日の制限があります。
D
すべてのEventBridgeイベントをLambda関数でDynamoDBに書き込み、インシデント復旧後にDynamoDBテーブルをスキャンして未処理のイベントをEventBridgeに再送信するバッチ処理Lambda関数を実行する
DynamoDB + Lambda の自前実装は機能的には実現可能ですが、追加インフラ(DynamoDBテーブル・Lambda関数)の管理が必要となり、追加インフラを最小限にするという要件に反します。

解説

Amazon EventBridge Archiveは、イベントバスを通過するイベントをフィルター付きで自動的にアーカイブするマネージドな機能です。追加のS3バケットやデータベース管理は不要で、保持期間は無期限に設定することも可能です。EventBridge Replayを使用すると、アーカイブから特定の時間範囲(例:インシデント発生の40分間)を選択してイベントを再送信でき、再送信先バスに決済サービスのみをターゲットとするルールを定義することで再送信先を限定できます。 選択肢Aの Kinesis Data Streams は順序付きストリーム保存には有効ですが、シャードイテレーターによる時刻指定再処理は複雑で、特定ターゲットへの限定送信はEventBridgeとの追加実装が必要です。 選択肢Cの SQS は個別メッセージのリトライには有効ですが、特定時間範囲を指定した一括再送信機能はなく、保持期間も最大14日の制限があります。 選択肢Dの DynamoDB + Lambda の自前実装は機能的には実現可能ですが、追加インフラ(DynamoDBテーブル・Lambda関数)の管理が必要となり、追加インフラを最小限にするという要件に反します。

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

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

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