ElastiCache for Redis 単一AZ→マルチAZ化の作業手順
作業イメージ
1シャード分だけ抜き出して考えています。同じことを繰り返せばシャードが何個になっても実質同じです。
当たり前ですが、マルチAZにするために別AZのサブネットを用意する必要があります。
手順
やることは2つだけです。
- ap-northeast-1aのNodeを削除する
- ap-northeast-1cにNodeを作成する
マネコンでもCLIでも作業可能ですが、今回は両方紹介します。
ap-northeast-1aのReplica Nodeを削除する
- マネコン (2022/01/19現在)の場合
ElastiCache for Redisのダッシュボードからシャードを選択
→削除したいノードを選択
→「アクション」から「ノードの削除」を選択
→削除
- CLIの場合
❯ aws elasticache decrease-replica-count --replication-group-id <your-id> --replicas-to-remove <your-id>-0001-003 --apply-immediately
消すのは実際結構怖いので、マネコンで確認しながらやるのが良いかなと思います。
ap-northeast-1cにReplica Nodeを作成する
- マネコン (2022/01/19現在)の場合
ElastiCache for Redisのダッシュボードからシャードを選択
→「ノードの追加」を選択
→新しいレプリカ数に「現在のレプリカ数+1」を入力、アベイラビリティゾーンの選択で新たにnodeを追加したいAZを選択
→追加
- CLIの場合
❯ aws elasticache increase-replica-count --replication-group-id <your-id> --replica-configuration \
NodeGroupId=0001,NewReplicaCount=2,PreferredAvailabilityZones=ap-northeast-1a,ap-northeast-1a,ap-northeast-1c \
--apply-immediately
これで上図と同じ状態になります。PreferredAvailabilityZones
はPrimary, Replica1, Replica2
の並びですね。以下図解。
なお、あまり無さそうなケースですが、マルチAZ→単一AZ化する場合はこの逆を行えば良いです。
MultiAZenabledについて
この記事を書く前はMultiAZenabledをtrueにさえすれば上図のように勝手にnodeが分散されると思っていましたが、このパラメータはそういう意味ではなく、 「元々nodeが複数AZに分散しているときに偏りを防ぐかどうかを決める」 ためのパラメータのよう。
なので、元々単一AZの場合はtrueにしても意味が無いですし、そもそもエラーが出るはずです。
(エラー文例:Cannot enable Multi-AZ unless there are nodes across two or more Availability Zones in Node Groups.)
偏らせようとしても防ぐための検証についてこちらの記事が詳しいです。
この設定を変更したい場合、おそらくマネコンではenabledにできないので、CLIでmodifyする必要があります。
aws elasticache modify-replication-group --replication-group-id <your-id> --no-multi-az-enabled
Author And Source
この問題について(ElastiCache for Redis 単一AZ→マルチAZ化の作業手順), 我々は、より多くの情報をここで見つけました https://qiita.com/aokiita/items/b555c5b63a4005001f01著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .