ニクニクドットミー

カッコいいおっさんを目指すエンジニアの厳かなブログ

【AWS】ElastiCache Redisのパラメータグループの変更で再起動が掛かるのか不安だったので、検証してみた。

Redis ElastiCache Redisを使用していて、AOFを後から追加したい!ってなった場合、パラメータグループを操作する必要があります。 この時に、Redisに再起動が掛かるのか不安になりましたので、検証しました。

もし仮に再起動が掛かると、AOFファイルからデータ復旧しようとするので、いま格納されているデータが消えてしまいます。 なので、検証方法を以下の手順で試してみます。

  1. AOF無しのElasitCacheRedisを作成
  2. 幾つかデータを格納する
  3. AOF有りのパラメータグループを作成
  4. AOF有りのパラメータグループを設定
  5. データが入っているか確認

結論

先に結論から行くと再起動しません。よかったね。 バックアップウィンドを追加しても再起動しませんでした。 EC2上にRedisを構築したときは、AOFを途中から有りにする場合は、手順を間違うとAOFからデータ吸いだしてしまい、 データが消えてしまいます。 この辺りはAWSが良しなにしてくれているみたいです。

AOF無しのElasitCacheRedisを作成

m1.smallでRedis 2.8で構築。 パラメータグループはdefault.redis2.8を設定。

幾つかデータを格納する

まずEC2にRedisをインストールする。 こちらの記事を参考にしてサクっと入れました。あざす! AWS EC2にredisをインストールする

データを格納 $ redis-cli -h .apne1.cache.amazonaws.com .apne1.cache.amazonaws.com:6379> set mykey myvalue OK .apne1.cache.amazonaws.com:6379> get mykey "myvalue" .apne1.cache.amazonaws.com:6379> set myhoge myhoge OK ***********.apne1.cache.amazonaws.com:6379> get myhoge "myhoge" ※当たり前ですがこの状態でリブートかけると、↑で入れたデータはきれいさっぱり消えました。

AOF有りのパラメータグループを作成

Create Cache Parameter Groupから新しいグループを作成。 appendonlyの項目をyesに変更。これでおkです。

AOF有りのパラメータグループを設定

さきほど作成したパラメータグループをmodifyして、設定。 この時にstatusがmodifyになり、チェックボックスがグルグルになります。

データが入っているか確認

$ redis-cli -h .apne1.cache.amazonaws.com .apne1.cache.amazonaws.com:6379> get mykey "myvalue" ***********.apne1.cache.amazonaws.com:6379> get myhoge "myhoge" おk!ちゃんとデータが入ってますね。 この状態で再起動しても、ちゃんとデータは残っていますので、安心。 ちなみにCache EventにはUpdated to use a CacheParameterGroup 【パラメータグループ名】となっていました。

こう思った

途中でパラメータグループを変更することが無かったので、気になって検証しました。 これで再起動して、AOFから復旧されたらたまったもんじゃないので^^; 最近では、Multi-AZ対応も入ったようなので、ますます便利になってきました。以前はスレーブも無かったので、EC2にRedisを入れて、それをスレーブとしてました。ちょっと懐かしいです。