概要
繰り返し使うデータへのアクセスはキャッシュを活用すれば、アクセスが高速化になれる。
AWSの中に、キャッシュ活用のサービスは下記の三つです。
・ElastiCache
・CloudFront
・S3
ElastiCache
分散インメモリキャッシュサービス。
高性能と高コスパのメリット以外にも、分散インメモリキャッシュの構築と管理が簡単に実施できる。
ElastiCacheはMemcachedと交換性があり、Memcachedをベースにしたコード、APP、ツールなどを簡単にElasticCacheに移行可能。
・シンプルに利用する場合はMemcachedを利用するが、それ以外はRedisを利用する場合が多い。
同種類の分散インメモリキャッシュサービスに比べて、ElasticCacheは以下の特徴がある。
構築簡単
AWSコンソール若くは簡単のAPIで数分間内で構築可能。
キャッシュソフトウェアのインストールやメンテなどを考慮しなくて良い。
管理簡単(フルマネージド型)
reference:
https://aws.amazon.com/jp/elasticache/?nc=sn&loc=1
パッチ管理、エラー検査、バックアップといった管理タスクが不要。
Memcachedと交換性あり
ElastiCacheはMemcachedと交換性があり、Memcachedをベースにしたコード、APP、ツールなどを簡単にElasticCacheに移行可能。
スケーラブル
AWSのコンソールやAPIにより、アプリのニーズに応じて、キャッシュノードの増減を実施可能。
高信頼性
キャッシュノードが失敗した場合、障害復旧を自動的に行う。
高セキュリティー
他のAWSサービスと組み合わせて使用可能
例えば:EC2がElastiCacheに速やかにアクセス。
低コスト
長期契約なしに、ノードを実行する時間単位で、メモリ容量に対してお支払う。
Memocached
・一つのクラスターは20個のノードをサポート可能。
・Auto Discoveryを通じて、Memcachedの中で使えるノードを自動的に検索し、最も適切なノードを選べる。
・key-value型のストレージ、複雑なデータ型に不適用。
Redis
・一つのクラスターは一つのノードをサポートするが、一つのキャッシュノードに対して最大五つのリードレプリカを作成可能。それをredis replication groupに置けば、多種類のデータ型に適用。
(例えば,List,Mapなど)
・publish-subscribe機能。
・データを永続化できる。
・データ統計、ランクなどの機能がある。
適用のデータ種類
■よくアクセスの静的データ:
・Webページ
・製品リスト
など
■一時的なデータ:
・ショッピングカード
など
■複雑なSQL検索結果:
・ビックデータの統計結果
・ランキング情報
など
不適用のデータ種類
■アクセス頻度が低いデータ:
・キャッシュカード(CashCard)の残高
・あるユーザーの通話履歴
など・・・・
■よく変化のデータ:
・ウェブの訪問数
・ある商品の総オーダー数
など・・・・