無限ノック › SAA 練習問題一覧 › 問題
SAAコスト最適化されたアーキテクチャの設計

ある新興Eコマース企業は、商品カタログと注文管理にAmazon DynamoDBをProvisioned Capacityモードで使用しています。次のような問題が発生しています。 ・マーケティングキャンペーン開始直後に10倍以上のトラフィックスパイクが発生し、ProvisionedThroughputExceededエラーが頻発する ・DynamoDB Auto Scalingを設定しているが、急激なスパイクへのスケールアップに数分かかり対応が遅れる ・キャンペーン終了後はプロビジョニング容量の90%以上が未使用となり、過剰なコストが発生している ・スパイクのタイミングと規模は予測不能である コスト効率を最大化しながらスループット不足エラーを解消するには、どの対応が最も適切ですか?

A
DynamoDBをOn-Demandキャパシティモードに切り替える
✓ 正解
DynamoDB On-Demandキャパシティモードは、事前の容量設定なしに実際のリクエスト数に応じて自動的にスケールし、リクエスト単位で課金されます。突発的・予測不能なスパイクに即座に対応(直前のピークの最大2倍まで瞬時にスケール)できるため、ProvisionedThroughputExceededエラーが発生しません。また、低トラフィック時は余剰容量の費用が発生しないため、不規則なアクセスパターンに対して最もコスト効率が高い選択です。
B
Provisioned Capacityを最大スパイク時のトラフィックに対応できる固定値に引き上げる
Provisioned Capacityを最大値で固定すると、キャンペーン外の期間(全体の大部分)で90%以上のキャパシティが未使用のまま課金され続け、最もコスト非効率な選択です。
C
Amazon ElastiCache for Redisを前段に配置し、読み取りトラフィックの大部分をキャッシュで処理する
ElastiCacheは読み取りキャッシュには有効ですが、書き込みスパイクには対応できず、新たなインフラの管理コストも発生します。On-Demand切り替えほどシンプルではありません。
D
Amazon DynamoDB Accelerator(DAX)を有効化してレイテンシーを削減し、キャパシティへの負荷を軽減する
DAXはDynamoDBの読み取りを高速化するインメモリキャッシュですが、追加コストが発生する上に書き込みスパイクには効果がなく、根本的なキャパシティ不足の問題を解決しません。

解説

DynamoDB On-Demandキャパシティモードは、事前の容量設定なしに実際のリクエスト数に応じて自動的にスケールし、リクエスト単位で課金されます。突発的・予測不能なスパイクに即座に対応(直前のピークの最大2倍まで瞬時にスケール)できるため、ProvisionedThroughputExceededエラーが発生しません。また、低トラフィック時は余剰容量の費用が発生しないため、不規則なアクセスパターンに対して最もコスト効率が高い選択です。 選択肢BのProvisioned Capacityを最大値で固定すると、キャンペーン外の期間(全体の大部分)で90%以上のキャパシティが未使用のまま課金され続け、最もコスト非効率な選択です。 選択肢CのElastiCacheは読み取りキャッシュには有効ですが、書き込みスパイクには対応できず、新たなインフラの管理コストも発生します。On-Demand切り替えほどシンプルではありません。 選択肢DのDAXはDynamoDBの読み取りを高速化するインメモリキャッシュですが、追加コストが発生する上に書き込みスパイクには効果がなく、根本的なキャパシティ不足の問題を解決しません。

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

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

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