データベース ・
ElastiCache Redis 完全ガイド|インメモリ KVS の活用
ElastiCache Redis は AWS マネージドの Redis サービス。インメモリ KVS でサブミリ秒応答、データ永続化・PubSub・Streams・Sorted Set など Redis の高度機能を全て利用できる。Memcached より高機能で、現在は...
AWS マネージドの Redis。インメモリ KVS でサブミリ秒応答、データ永続化・PubSub・Streams 対応。
1. 概要(端的に)
ElastiCache Redis は AWS マネージドの Redis サービス。インメモリ KVS でサブミリ秒応答、データ永続化・PubSub・Streams・Sorted Set など Redis の高度機能を全て利用できる。Memcached より高機能で、現在は Redis 採用が圧倒的に多い。
2. 何ができるか
- インメモリ KVS:超低遅延データアクセス
- 永続化:RDB / AOF でディスク保存可
- データ構造:String / Hash / List / Set / Sorted Set / Bitmap / HyperLogLog / Stream / Geo
- PubSub:リアルタイムメッセージング
- クラスターモード:シャーディングで水平拡張
- レプリケーション:Read Replica で読み取りスケール
- Multi-AZ・自動フェイルオーバー
3. 特徴
| 観点 | 特徴 |
|---|---|
| 追加料金 | ノードタイプ × 時間 |
| 遅延 | サブミリ秒 |
| 互換 | OSS Redis 互換 |
| クラスター | 最大 500 シャード |
| 永続化 | RDB / AOF |
| TLS / 認証 | 対応 |
| 暗号化 | 保存時・転送時 |
vs Memcached
| 観点 | Redis | Memcached |
|---|---|---|
| データ構造 | 豊富 | KV のみ |
| 永続化 | ○ | × |
| レプリ | ○ | × |
| PubSub | ○ | × |
| クラスター | ○ | △ |
| 用途 | 多機能・複雑 | シンプルキャッシュ |
4. 仕組み
ElastiCache Redis は クラスターモード on/off で動作。クラスターモードでは複数シャードに分散保存される。
クラスターモード
| モード | 構成 |
|---|---|
| クラスターモード OFF | 1 シャード + 0〜5 レプリカ |
| クラスターモード ON | 最大 500 シャード × 各 0〜5 レプリカ |
高可用性
- Multi-AZ:別 AZ にレプリカ
- 自動フェイルオーバー:プライマリ障害時に切替(数秒〜数十秒)
- エンドポイント:プライマリ・リーダー(読み取り分散)
永続化
- RDB(Redis Database Backup):定期スナップショット
- AOF(Append-Only File):全コマンド記録(ElastiCache では Auto-Failover 推奨で AOF は非推奨)
Global Datastore
- 複数リージョン間の Redis レプリ
- DR・グローバルキャッシュ
5. ユースケース
ユースケース 1:セッション管理
Web アプリのセッション store。
ユースケース 2:リーダーボード
ゲームのランキング(Sorted Set 活用)。
ユースケース 3:チャット・PubSub
リアルタイム通知・メッセージング。
ユースケース 4:DB クエリキャッシュ
RDB のクエリ結果をキャッシュ。
ユースケース 5:ジオロケーション
位置情報検索(Geo データ型)。
ユースケース 6:レート制限
API のレート制限カウンター。
6. 関連用語
- ElastiCache-Memcached — シンプル代替
- DAX — DynamoDB 専用キャッシュ
- DynamoDB — 別の高速 KVS
7. 関連サイト
AWS 公式
参考
🎓 試験での出題傾向
| 試験 | 重要度 | 主な出題パターン |
|---|---|---|
| CLF | 中 | キャッシュサービスの存在 |
| SAA | 高 | キャッシュ設計、Multi-AZ、永続化 |
| DVA | 高 | アプリでの Redis 利用 |
| SOA | 中 | 運用・モニタリング |