RDSのフェイルオーバー時に不安なところを、本番環境で試してみた


発端

はじめにサービス自体がでかいと聞いていたから、おれはDBインスタンスひよって1サイズ大きめで作ったんだ。
サービス開始後に落ち着いて、ログなどを見てみたら全然来ていない。
Google Analyticsも、そこまで行っていない。
ちょっともったいなくない。

やりたかったこと

インスタンスを変更して、適切なサーバにしてもったいない感をなくしたかった。
お金は十分もらっているから、そのままにしていてもいいけど、節約したかった。

環境

・サービスが2つ立ち上がっているAPサーバ1台(アプリサーバ)
・RDS1台(db.t3.small)

手順

1. 対象DBのレプリカを作る
対象DBのレプリカを、db.t3.microで作成した。(変更したいインスタンスタイプ)
リードレプリカが作成中となる。
対象DBも変更中と出て少し焦る。(★焦りポイント1)
が、全然繋がる。安心して。

2. 対象DBのレプリカが作成される
このとき、APサーバの向き先を変えないといけないと思っていた。(★焦りポイント2)
が、変えなくていい。むしろ変えちゃうと書き込めない。変えちゃダメ。絶対

3. 対象DBのレプリカをマスタに昇格させる
このとき対象DBと、対象DBのレプリカが別物になり同期しなくなる。
同期しなくなるけどいいかとダイアログが出るので、押す。おれの動悸は激しくなる(★焦りポイント3)
ダイアログで脅してくるが、怖くないよ。

4. 対象DB(マスタ昇格後)が出来上がる。
このあとに、APサーバの向き先を、対象DB(マスタ昇格後)に変更する。
なるべく速やかに変更できるようにする。もしくはメンテに入れておくのがいいね。

5. 対象DBの古い方を停止する。
両方ともマスタになっていて、古い方はもういらないので一気に削除としない。(★焦りポイント4)
もしかしたら、向き先が変わってないかもしれないとかあるかもしれないので一旦停止がいいと思う。

6. 対象DBの古い方を削除する。
対象DBを停止してから、一晩寝て起きてから、アクセス来てないのを確認し、削除がいいと思う。
ゆっくり行こうぜ。

やってみて

本番で試したら汗がじとっとして、やせる可能性がある。
ダイエットにオススメ!!