性能

AWSのキャッシュ使い分け|CloudFront・ElastiCache・DAXをどこに置くか

「読み取りが遅い」「DB の負荷が高い」という問題文には、たいていキャッシュが絡みます。AWS には置き場所の違うキャッシュがいくつもあり、どこで何をキャッシュするかを選ぶのがポイントです。

キャッシュの配置の構成図
図:キャッシュの配置(タップで拡大)
▶ この構成をサンドボックスで開く 動かして・CloudFormation に書き出せます

3つのキャッシュの違い

サービス置き場所キャッシュするもの向いている場面
CloudFrontエッジ(ユーザーの近く)HTTPレスポンス(画像・動画・HTML・APIの応答)世界中のユーザーへの配信を速くしたい
ElastiCacheアプリとDBの間任意のデータ(クエリ結果・セッションなど)RDB の読み取り負荷を下げたい、セッションを共有したい
DAXDynamoDB の前DynamoDB の読み取り結果DynamoDB の読み取りをマイクロ秒にしたい
試験のコツ:「DynamoDB」「マイクロ秒」「アプリの変更を最小限に」→ DAX。DAX は DynamoDB と互換の API を持つので、接続先を変えるだけで使えます。RDS の読み取り負荷なら ElastiCache かリードレプリカです。

ElastiCache のキャッシュ戦略

Redis 系と Memcached の違い

Redis / ValkeyMemcached
データ構造豊富(リスト・ソート済みセット など)シンプルなキー・バリュー
レプリケーション / フェイルオーバーあり(Multi-AZ)なし
永続化・バックアップありなし
マルチスレッド—あり
よくあるひっかけ:「ランキング(リーダーボード)」「高可用性」「バックアップ」と来たら Redis 系。「シンプルなキャッシュをマルチスレッドで」なら Memcached です。

そのほかのキャッシュ

理解度チェック:ゲームのランキングをリアルタイムに表示したい。DB への負荷も抑えたい。何を使う?

ElastiCache(Redis / Valkey)のソート済みセット。スコアの更新と順位の取得を高速に処理できます。

まとめ

読んだら、手を動かして覚えよう

ArchiCraft は、AWS サービスをドラッグ&ドロップで組み立てて解く資格対策アプリです。SAA・SAP の問題を構成図で解いて、採点と解説で理解を固められます。