DVA-C02:AWS Certified Developer - Associate トラブルシューティングと最適化 問3
トラブルシューティングと最適化/AWS サービス・機能によるアプリの最適化読み取りが多い API で、同じレスポンスを繰り返し生成しているため遅く、コストも高くなっています。改善策として最も適切なのはどれですか。
当サイトのオリジナル問題(DVA-C02:AWS Certified Developer - Associateの出題範囲「トラブルシューティングと最適化」に対応。実際の試験問題ではありません)
- Aバックエンドのインスタンスを常に最大サイズにする
- Bすべてのリクエストを毎回バックエンドで再計算する
- CAmazon API Gateway のキャッシュ(またはアプリ層の Amazon ElastiCache)を有効にし、同一リクエストのレスポンスをキャッシュして遅延とバックエンド負荷を下げる
- DAPI を停止して負荷をなくす
正解:C
解説
同じレスポンスを繰り返し生成している読み取り中心の API では、キャッシュの導入が有効です。Amazon API Gateway のキャッシュを有効にすると、同一リクエストのレスポンスを一定時間キャッシュしてバックエンドの呼び出しを減らせます。アプリ層で Amazon ElastiCache を使って計算結果やクエリ結果をキャッシュする方法も、遅延とバックエンド負荷の低減に有効です。
選択肢ごとの解説
- A誤り。インスタンスを常に最大化するのはコスト効率が悪く、繰り返し生成の無駄を根本的に減らしません。
- B誤り。毎回再計算を続けるのは、遅延とコストの問題をそのまま残します。
- C正しい。API Gateway のキャッシュやアプリ層の ElastiCache で同一リクエストのレスポンスをキャッシュすれば、遅延とバックエンド負荷を下げられます。
- D誤り。API を停止するのは解決ではなくサービスの放棄です。