Q64 — AWS SAA-C03 第6章

第 64/65 問 | ← 第6章

Q429. ある企業は、監視デバイスのファleetからリアルタイムデータを受信するAPIを保有しています。このAPIは受信したデータを後続の分析のためにAmazon RDS DBインスタンスに保存します。監視デバイスからAPIへ送信されるデータ量は変動します。トラフィックが集中する期間には、APIが頻繁にタイムアウトエラーを返すようになります。ログの調査結果によると、データベースがAPIから発生する書き込みトラフィックのボリュームを処理できないことが判明しました。ソリューションアーキテクトは、データベースへの接続数を最小限に抑えつつ、高トラフィック時にもデータが失われないよう対応する必要があります。これらの要件を満たすソリューションはどれですか?

正解: C. APIを変更して、受信データをAmazon Simple Queue Service (Amazon SQS) キューに書き込むようにする。Amazon SQSが起動するAWS Lambda関数を使用して、キューからデータを読み取り、データベースに書き込む。

解説

正解は選択肢Cです。Amazon SQSは、一時的なバッファとして機能し、急増する書き込みトラフィックを吸収できます。これにより、APIとデータベース間の直接的な結合が緩和され、データベースへの接続数を削減できます。また、SQSはメッセージの永続性を保証し、Lambda関数による非同期処理によって、一時的なデータベースの負荷や障害時にもデータの喪失を防ぎます。一方、選択肢Aは単なるスケールアップであり、接続数の削減やデータ損失防止には寄与しません。選択肢BはMulti-AZ構成は可用性向上には有効ですが、書き込みはプライマリDBインスタンスのみで実行され、レプリカへの書き込みは不可能です(書き込み負荷分散にはなりません)。選択肢DのAmazon SNSはプッシュ型の通知サービスであり、メッセージの永続性や再試行機構がSQSほど堅牢ではなく、またSNSからLambdaへの呼び出しはファンアウト用途が主で、順次・信頼性の高い処理にはSQSが適しています。