大久保です。
APNアドバンストコンサルティングパートナー昇格記念「AWSサービスしりとりリレー」の2日目です。
2日目のお題は「e」から始まるサービス「ElastiCache」です。
ElastiCacheは初見だとイメージが掴みにくいように感じたので、このブログが助力になればと思います。
目次
ElastiCacheを知ろう
ElastiCacheとは
ElastiCacheで何ができるか?調べてみると、できることが色々出てきます。理由の一つとしては、Redisが多機能だからです。
引用:【AWS Tech 再演】AWS の NoSQL 入門 〜Amazon ElastiCache, Amazon DynamoDB〜|AWS Summit Tokyo 2017
できることが多いと、ElastiCacheをどのような場面で導入すればよいか、逆にイメージしづらいかもしれません。よって、2つのエンジンに共通する機能に絞ってみていこうと思います。
キャッシュ
キャッシュサーバとは、ネットワーク上であるサーバが外部に提供しているデータの複製を保存し、そのサーバに代わって応答するサーバのこと。また、そのような機能を実現するシステムやソフトウェア。
<中略>
具体的にどのようなサーバのどんなデータの配信を肩代わりするかはシステムの種類やデータ形式、プロトコル(通信規約)によって様々であり、対象や方式を冠して「○○キャッシュサーバ」のように呼ぶのが一般的である。
2つのエンジンはKVSという特徴を持っており、キャッシュに使われることが多いです。では、どのようなデータをキャッシュすることに向いているのでしょうか。KVSというだけなら、DynamoDBもKVSです。
引用:【AWS Tech 再演】AWS の NoSQL 入門 〜Amazon ElastiCache, Amazon DynamoDB〜|AWS Summit Tokyo 2017
ここでレイテンシの問題をクリアする要素は、二つのVKSエンジンに共通する「インメモリデータベース」という特性です。データをディスクに保存するのではなく、メモリに保存することで高速で管理できます。
セッションストア
他に、キャッシュに保存するデータとして有用であるのが、session情報です。下図のように各application毎にsession情報を保存していた場合、applicationのスケールが難しくなします。
引用:https://aws.amazon.com/jp/elasticache/redis/
そこで、ElastiCacheにsession情報を保存、session storeとして使用します。applicationからsession情報を分離することで、session情報の管理が柔軟になります。
マネージドサービス
単に、RedisやMemcachedを使いたいのであれば、EC2にインストールして構築することができます。「ElastiCache」を利用をする利点は何でしょうか。これはElastiCacheに限った話ではありませんが、運用をAWSへ任せることができる点です。
引用:【AWS Tech 再演】AWS の NoSQL 入門 〜Amazon ElastiCache, Amazon DynamoDB〜|AWS Summit Tokyo 2017
ElastiCacheで、各ノード(ElastiCacheの最小単位)を管理することでオーバーヘッドは小さくなり、レプリケーションや自動フェイルオーバーの設定も容易になります。マネージドでできることは年々増えていっていますので、そこは是非チェックしていただきたいです。
まとめ
・キャッシュに向いておりセッションストアとして活用できる
・インメモリデータべ-スの特性を活かしてレイテンシの低減を実現できる
・紹介していないRedisの拡張機能がまだまだある
・ElastiCacheでの管理はどんどん楽になっている
今回はElastiCacheのほんのさわりを紹介しました。
魅力的な機能が多いサービスですので、是非実際に。触っていただきたいです
AWSサービスしりとりリレー2日日は「 ElastiCache]した。AWSしりとり3日目は、またも「e」から始まるサービスになります。ぜひお楽しみに!
プロフィール
業界未経験の転職組
LINK
クラウドベリージャム:プロフィールページ