SAA-C03 中級 SAA

キャッシュ戦略設計 ElastiCache・DAX・CloudFrontの使い分け

本記事はSAA(Solutions Architect Associate)を目指す方向けに、アプリケーションの応答速度とバックエンド負荷を左右するキャッシュ戦略を解説します。試験では、どの層でどのキャッシュサービスを使うべきかを要件から見極める力が問われます。

覚え方のフレームは3つの観点です。対象(何をキャッシュするか)・配置(どのレイヤーに置くか)・整合性(データの鮮度をどう保つか)。この3点でサービスの役割を整理すると迷いません。

対象 ElastiCacheでアプリケーション層をキャッシュ

ElastiCacheはRedisまたはMemcachedのマネージド型インメモリキャッシュで、セッション情報やDBクエリ結果など任意のデータをアプリケーション層でキャッシュします。セッション共有や高可用性(レプリケーション・自動フェイルオーバー)が必要な要件ではRedis、単純なキーバリューを複数スレッドで高速に処理したいだけの要件ではMemcachedを選びます。

配置 DAXでDynamoDBを専用に高速化

DynamoDB Accelerator(DAX)はDynamoDB専用のインメモリキャッシュで、アプリケーションコードをほぼ変更せずマイクロ秒単位の読み込みを実現します。読み取りが集中するテーブルへのアクセスをアプリ側の実装なしに高速化したい要件ではDAXを選び、汎用的なキャッシュが必要な場合はElastiCacheと使い分けます。

整合性 CloudFrontでエッジにキャッシュ

CloudFrontは静的コンテンツやAPIレスポンスを世界中のエッジロケーションにキャッシュし、オリジンへのリクエストそのものを減らします。更新頻度が低く世界中から参照されるコンテンツを配信したい要件ではTTLを長めに設定し、更新直後に反映したい要件ではキャッシュ無効化やファイル名変更で対応します。

サービスキャッシュ対象選ぶ要件
ElastiCacheアプリ層の任意のデータセッション共有・高可用性が必要
DAXDynamoDBの読み込み結果DynamoDB専用で実装変更を避けたい
CloudFront静的コンテンツ・APIレスポンス利用者に近いエッジで配信したい
試験ポイント ElastiCacheとDAXはいずれもオリジンの近くでキャッシュしますが、CloudFrontは利用者に最も近いエッジでキャッシュする点が異なります。同じキャッシュというキーワードでも、改善したいのがバックエンド負荷なのかネットワーク経路なのかを問題文から読み取ることが重要です。

チェックリスト

  • ElastiCacheのRedisとMemcachedを可用性要件で使い分けられる
  • DAXがDynamoDB専用キャッシュである理由を説明できる
  • CloudFrontのキャッシュ更新方法(TTL・無効化・ファイル名変更)を説明できる
  • 3つのキャッシュ層の役割の違いを説明できる

まとめ

キャッシュ戦略は「対象・配置・整合性」の3観点で捉え、ElastiCacheでアプリ層、DAXでDynamoDB専用、CloudFrontでエッジを固めるのが定石です。この記事の理解度はクイズで確認し、最新の試験範囲はAWS認定 公式ページで確認しましょう。

📚

SAA(ソリューションアーキテクト アソシエイト) におすすめの教材

徹底攻略 AWS認定 ソリューションアーキテクト − アソシエイト教科書 第3版[SAA-C03]対応 表紙
書籍

徹底攻略 AWS認定 ソリューションアーキテクト − アソシエイト教科書 第3版[SAA-C03]対応

体系的にサービスと出題範囲を学べる定番テキスト

★★★★☆

Amazonで見る
AWS認定ソリューションアーキテクト−アソシエイト問題集 表紙
問題集

AWS認定ソリューションアーキテクト−アソシエイト問題集

本番形式の演習で総仕上げに最適

★★★★☆

Amazonで見る
Udemyコース
Udemy・講座

これだけでOK! AWS認定SAA(SAA-C03)試験突破講座

動画で体系的に学べる対策コース

Udemy

Udemyで見る
Udemy模擬試験
Udemy・模試

AWS認定SAA 本番模試(6回分/390問)

本番形式の演習で総仕上げ

Udemy

Udemyで見る

本セクションにはAmazonアソシエイト・Udemyアフィリエイトのリンクが含まれます。