[AWS] ElastiCache redis basic

特徴

  • Amazon EC2、Amazon CloudWatch、AWS CloudTrail、Amazon SNS など他の AWS のサービスとの連携。
  • node の障害を自動検出、復旧。

replication

  • cluster の read replica。(ElastiCache API、AWS CLI では replication groups と呼ばれる)
  • 単一 shard & 複数 node (Cluster 無効)、もしくは複数 shard & 複数 node (cluster 有効)の構成となる。

有効/無効の差異
https://docs.aws.amazon.com/ja_jp/AmazonElastiCache/latest/UserGuide/Replication.Redis-RedisCluster.html

redis snapshot の取得

  • 2.8.22 以降の redis では、同期、保存中に swap を利用せず多くのメモリを消費することができる。

maxmemory

  • instance type 毎に固定で値が決まっている。
  • maxmemory パラメータは変更できない。

maxmemory-policy

  • memory 最大使用量に達した際に、適用される削除ポリシー
  • https://redis.io/topics/lru-cache
  • 設定された maxmemory を超えると、パラメータグループで設定された maxmemory-policy に従い、容量を確保する。

policy は下記の通り。
* noeviction: error を返す。error を返すだけなので、client がさらに増えたら maxmemory を超える可能性がある。
* allkeys-lru: 直近利用された (LRU) key を削除する。
* volatile-lru: expire が設定され、直近利用された (LRU) key のみを削除する。
* allkeys-random: ランダムに key を削除。
* volatile-random: expire が設定された key のみ、ランダムに key を削除。
* volatile-ttl: expire が設定され、TTL が短い key を削除する。

AOF (Redis Append Only Files)

scale up

  • 自動。

scale down

  • 手動でやる必要がある。

monitoring

CPU 使用率

cloudwatch では、Redis はシングルスレッドであるため、メトリクスのCPU 使用率に CPU のコア数を乗算する必要がある。

AWS CLI

[code lang=text]
$ aws elasticache describe-cache-clusters –profile xxx
// endpoint 取得
$ aws elasticache describe-cache-clusters –cache-cluster-id mycluster –show-cache-node-info

$ aws elasticache describe-replication-groups –replication-group-id myreplgroup
[/code]

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です