Q31 — AWS SAA-C03 第17章

第 31/89 問 | ← 第17章

Q1331. ある企業が、Amazon DynamoDBをデータベース層として使用するサーバーレスアプリケーションを展開しました。このアプリケーションはユーザー数の大幅な増加を経験しています。同社は、データベースの応答時間をミリ秒からマイクロ秒レベルに向上させ、データベースへのリクエストをキャッシュしたいと考えています。これらの要件を満たすとともに、運用上のオーバーヘッドを最小限に抑えるソリューションはどれですか?

正解: A. DynamoDB Accelerator (DAX) を使用する。

解説

正解:A(DynamoDB Accelerator (DAX) を使用する) このソリューションが、最小限の運用オーバーヘッドで要件を満たす理由: 企業は、DynamoDB の読み取り応答時間をミリ秒からマイクロ秒レベルに短縮し、頻繁なリクエストをキャッシュしたいという要望を持っています。 主な要件: ・DynamoDB 読み取りに対する超低遅延(マイクロ秒単位) ・データベースへの直接アクセスを減らすためのキャッシュ層 ・運用上のオーバーヘッドが極力少ない(手動によるスケーリング、パッチ適用、複雑な設定不要) 選択肢 A(DAX)が最適な理由: ・DynamoDB Accelerator(DAX)は、DynamoDB 専用に設計された、完全マネージド型のインメモリキャッシュです。 ・頻繁にアクセスされるデータをキャッシュすることで、読み取り遅延をミリ秒からマイクロ秒レベルまで削減します。 ・運用オーバーヘッドがゼロ:AWS がスケーリング、パッチ適用、フェイルオーバーをすべて自動管理します。 ・シームレスな統合:既存の DynamoDB API と互換性があり、読み取り操作についてはアプリケーションコードの変更が不要です。 ・コスト効率が良い:DAX クラスタノードのみに対して課金され、別途キャッシュインフラを構築する必要がありません。 他の選択肢が不適切な理由: B. Amazon Redshift への移行: Redshift はOLAP(分析ワークロード)向けのデータウェアハウスであり、低遅延を要求するOLTP(トランザクション処理)ワークロードには最適ではありません。また、手動でのチューニング、VACUUM、スケーリングなど、運用負荷が非常に高くなります。さらに、これはキャッシュソリューションではなく、DynamoDB の応答時間改善には寄与しません。 C. Amazon RDS への移行: RDS(MySQL、PostgreSQL など)はリレーショナルデータベースであり、DynamoDB のような NoSQL データベースとは異なります。移行にはアプリケーションの大幅な再設計とコード変更が必要です。また、マイクロ秒単位の応答を実現するには、追加で ElastiCache の導入などが必要となり、本質的に DynamoDB 向けの最適化ではありません。 D. Amazon ElastiCache(Redis OSS)の利用: ElastiCache(Redis/Memcached)は汎用キャッシュソリューションですが、DynamoDB との連携にはアプリケーション側での手動統合が必要です。キャッシュの無効化や書き込み戦略(write-through/write-behind)など、アプリケーションロジックの追加実装が求められ、運用負荷が高くなります。一方、DAX は DynamoDB 専用に最適化されており、設定や統合の手間が圧倒的に少ないのです。 DynamoDB Accelerator(DAX)の動作概要: DAX はアプリケーションと DynamoDB の間に配置され、頻繁に読み取られる項目をキャッシュします。キャッシュ内にデータがあれば、読み取りリクエストは DAX からマイクロ秒単位で応答されます。キャッシュ未ヒットの場合は、通常通り DynamoDB へリクエストが送られ(ミリ秒単位の応答)、書き込み操作は DynamoDB に先に反映された後、DAX 内の該当データが無効化されます(最終的に整合性が保たれます)。 アーキテクチャ図(概念): アプリケーション層 → DynamoDB Accelerator(DAX)(インメモリキャッシュクラスタ) → Amazon DynamoDB テーブル 要点まとめ: ・DAX は、最小限の工数で DynamoDB のマイクロ秒単位読み取りを実現する唯一のソリューションです。 ・Redshift や RDS への移行は、このユースケースには不適切であり、過剰な工数とリスクを伴います。 ・ElastiCache も有効な代替手段ではありますが、DAX ほどシームレスではなく、より多くの設定・保守作業が必要です。 このソリューションにより、マイクロ秒単位の読み取り性能を、運用上の負担ゼロで実現できます。