【SAP-C03】クラウドに適したアーキテクチャの設計と実装 WEB問題集(01)

WEB問題集

SAPC03-ARC#1

ある EC 事業者は、注文の作成・変更・取り消しのイベントを Lambda 関数で処理し、在庫の引き当てを行っています。今はオンプレミスのメッセージブローカーから 1 つのコンシューマーが全件を順番に処理しており、セールの間は数十分の遅れが出ています。同じ注文のイベントが前後すると在庫の数が狂い、同じイベントを 2 回処理すると在庫が二重に引き当てられます。一方で、別々の注文のイベントは並行して処理しても問題ありません。ピーク時の流量は毎秒 3,000 件ほどです。

注文ごとの処理順と重複の排除を保ちながら、異なる注文を並行して処理できる構成はどれですか。

ディスカッション 0
SAPC03-ARC#2

ある小売企業は、受注システムが出す注文イベントを、請求・配送・ポイントの 3 つのシステムに配る仕組みを AWS で作り直しています。イベントは 1 日に約 2 万件で、種類は注文の確定・取り消し・返品の 3 つです。請求システムはすべての種類を、配送システムは確定と取り消しを、ポイントシステムは確定と返品を処理します。各システムには、自分に関係のない種類のイベントを届けないことが求められています。処理の順序は問われず、各システムは同じイベントを 2 回受け取っても結果が変わらない作りです。今はオンプレミスのサーバーで動く自作の配信プログラムを使っています。

最も費用対効果の高い方法でこの配信を実現する構成はどれですか。

ディスカッション 0
SAPC03-ARC#3

ある決済代行会社は、EventBridge のカスタムイベントバスで受けた支払い確定のイベントを、ルールから Lambda 関数に送って加盟店への入金指示を作っています。加盟店は約 8,000 社で、イベントは 1 日に約 50 万件あります。関数の非同期呼び出しの設定は既定のままで、失敗時の送信先は設定されていません。

監査の結果、同じイベントが 2 回処理されて入金指示が重複した事例が見つかりました。また、関数の障害が 1 日以上続いた際に、再試行を使い切ったイベントが失われていました。障害の間も EventBridge から関数への呼び出しは受け付けられており、エラーは関数の処理の中で起きていました。入金指示を作る処理は Lambda 関数のまま変えない方針です。さらに、不正検知などのコンシューマーを今後追加するときは、過去 30 日分のイベントをそのコンシューマーにだけ流し直せることが求められています。

これらの問題を解決するために実施することはどれですか。3 つ選択してください。

3 つ選択してください
ディスカッション 0
SAPC03-ARC#4

ある証券会社は、約 4,000 銘柄の価格更新を SNS FIFO トピックに発行し、取引とリスク管理の 2 つのシステムの SQS FIFO キューに配っています。銘柄の数は今後も増える見込みです。

発行側は全メッセージに同じメッセージグループ ID を付けており、市場が開くと発行がスロットリングされて価格の反映が数秒遅れます。両システムでは、銘柄ごとに更新を発行順で処理する必要がありますが、銘柄をまたいだ順序は問いません。

発行のスロットリングを解消する方法はどれですか。

ディスカッション 0
SAPC03-ARC#5

あるオンライン教育サービスは、3 つのアベイラビリティーゾーンに分散した Auto Scaling グループの EC2 インスタンスで Web アプリケーションを動かしています。

ログイン中の受講者のセッション情報は各インスタンスのメモリに置き、ALB のスティッキーセッションで同じ受講者を同じインスタンスに送っています。そのため、スケールインやインスタンスの入れ替えのたびに受講者がログアウトされ、苦情が増えています。

セッションの読み書きにはミリ秒未満の応答が求められています。1 つのアベイラビリティーゾーンが停止しても、セッションを失わずに処理を続けることも要件です。

最も費用対効果の高い方法でこれらの要件を満たす構成はどれですか。

ディスカッション 0