IT初心者が今更ながら勉強する、あれやこれ

IT初心者がIT系(主にAWS)の資格勉強を中心に、様々な資格や経済に関して、いろいろ書いていくブログ。主にモチベ維持が目的。

AWS BlackBelt Online Seminer ElasticCache

やるぞ!といってサボるのが私のクオリティです…。

まぁ、ネタもなかったのが事実なんだけどね(´・ω・`)

 

というわけで、AWS BlackBelt Online Seminerを受けたので、

要点とかまとめてみました。

 

ElasticCache

www.slideshare.net

 

 

まとめ

  • ElasticCacheは分散インメモリキャッシュのサービス
  • Memcached、Redisを使用したキャッシュクラスタの構築、運用が可能
  • Redis Cluster対応によりスケールが可能に
  • 暗号化にも対応

 

要点とか

ElasticCacheとは
  • AWSが提供するデータベースサービスの一種。完全マネージド型で、セットアップ、運用、拡張が簡単にできる。

 特徴

  1. フルマネージド
  2. Memcached,Redisをサポート

 インスタンスクラス

  • 新たにr4シリーズが追加。

 適しているデータ

  1. リクエストが多い
  2. レイテンシが低いことを求められる
  3. データ量は少ない

 Memcached

  • 1.4台の一部バージョンに対応
  • CacheClusterという論理グループにCacheNodeを起動する
  • バックアップ機能(Snapshot)はない
  • スケールアウトさせる場合はコンシステントハッシュなどが必要
  • 通常アクセス用のClient LibraryとAuto Discovery用のClient Libraryがある
  • Auto Discovery用のClient LibraryはPHP,JAVA,.NETに対応
  • Auto Discoveryは冗長化のような感じ

 Redis

  • 2.8台と3.2台の一部バージョンに対応
  • 複数のClusterGroupで構成されるReplicationGroupを構成する
  • 書き込み先であるPrimaryEndpointとCacheNode単体であるNodeEndpointの2つを提供
  • Multi-AZに対応
  • バックアップ(Snapshot)対応
  • CONFIG、SLAVEIFなどの一部コマンドは利用できない
  • Amazonが一部機能を拡張済
  • 1,SwapMemoryの最適化
  • 2,書込の動的な制限
  • 3,高速なフェイルオーバー
  • Replication機能(リードレプリカ)

   ReplicationGroup内にマスター1台にレプリカを最大5台作成可能

   マスターノードが故障した場合は、レプリカのうち1台がマスターに昇格する

  • バックアップ

  S3へバックアップ 

  RDBファイルを作成し、S3にエクスポートも可能

  RDBファイルからEC2とかを作成可能

  • 監視

  CloudWatchで監視可能、監視項目は以下

  1,CPU使用率

   Memcachedはマルチコアなので100%に張り付かなければOK

   Redisはシングルコアなので、注意。

  2,Cache Hits/CacheMisses

  3,Evictions(キャッシュアウトの発生回数)

  4,SwapUsage

  5,メモリ使用量

  6,ReplicaLag(レプリケーションの遅延値)

今回アップデートされた項目
  • Redis3.2でRedisClusterのサポート開始

  データをシャード単位に分散保存し、最大15シャード6TiBのデータが保存可能

  最大2000万/secの読み込み、450万/secの書き込み性能

  注意点としてハッシュを利用するので、Redisクラスタ対応のクライアントを使用する必要がある

   故障発生時には、レプリカが自動でマスターに昇格する(15~30秒ぐらい)

  ・利点

   DNSベースでのフェイルオーバーではないので、15~30secでフェイルオーバー可能

   未利用時はフェイルオーバー時にWrite全体に影響があるのに対して影響は部分的になる

   パフォーマンスはクラスタサイズに依存。(6ノード以上利用可能)

   未利用時と比べてコストはかかる

  • オンラインリサイズ

  ・今まで

  オンラインでリサイズはできないので作り直し

  リストアする際にシャード数を指定可能

  リストア時にダウンタイムは発生する(アプリの設定しなおしが必要)

  ・これから

  ダウンタイム0でスケールイン/スケールアウトが可能

  CloudWatch→SNS→Lambdaの流れでオートスケールが可能

  • セキュリティの強化

  ・暗号化

  クライアントとRedis間の通信の暗号化(In-Transit)

  S3とディスク上のバックアップを暗号化(At-Rest)

  ・認証

  RedisのHIPAA認証

   AWS Business Associate Addendum(BAA)に対応

ユースケース
  • オブジェクトストレージのキャッシング
  • NoSQL DBのキャッシング
  • Lambdaからフィルタリングした一部データの整形
  • ビッグデータアーキテクチャにおけるデータストアとして利用
  • IoTのセンサのデータストア
  • リアルタイムリーダーボード
コスト
  • オンデマンドとリザーブドが利用可能
  • リザーブドはAZの指定不要
  • Redisのバックアップは1つは無料
  • ElasticCache間の通信は無料
  • EC2を利用して同じようなことをしたほうが安いが、運用コストを考えるとElasticCacheも十分利用価値がある

 

AWSのBlackBelt公式サイトは以下

AWS クラウドサービス活用資料集 | AWS

 

今後はこんな感じでAWSの勉強してこうと思います。