シングルAZのRDSメンテナンスをマルチAZに切り替えて実施した

とらくらのインフラエンジニア、ばっしーです。
お客様のWebサーバに利用しているデータベースは、RDSの一台に以下の様に「必須」のメンテナンス通知が出ていました。

RDSのデータベースは裏でインスタンスが起動しているので、そのOSの必須アップデートがあり、その期限が1/31というわけです。
この状態のまま保留し続けていて1/31 12:00UTCを迎えてしまうと、突然アップデートのためにDBサーバがフェイルオーバーしてしまいます。シングルAZの状態でフェイルオーバーを行うと、新しいインスタンスが起動してくるまで数分間のダウンタイムが発生してしまうそうです。
そのため、期限を迎える前にタイミング良いところで最小のダウンタイムでマルチAZへ切替えた上で、メンテナンスしてあげる必要があります。そうすればダウンタイムは数秒間のみで済みます。

ではやっていきましょう。

今回の前提条件です。

DBエンジン:MySQL Community
DBインスタンス:db.r5.large
DB容量:200GB

手順は以下の目次の通りです。
全体を通しての実施時間は一番最後にまとめますが、およそ50分程度でした。

シングルAZからマルチAZへ切り換える

初めに、マルチAZへ切り替えます。

目的のDBを選択し、[アクション]-[変更]で、以下の「可用性と耐久性」で「マルチAZ配置」を選択することで、マルチAZのインスタンスへ変更することが可能です。

次のページでは、必ず「すぐに適用」を選択した上で、「DBインスタンスを変更」ボタンを押すことが重要です。選択し忘れると、次のメンテナンス時間に適用されてしまうことになるので、気を付けてください。

この変更のため、少し待つ必要があります。ステータスが「変更中」となっている間はまだ完了していません。

今回の変更で「利用可能」状態に戻るのに、9分間かかりました。

メンテナンスを今すぐ適用する

マルチAZへの変更が完了したら、早速目的のメンテナンスを実行していきます。

目的のメンテナンスを選択した上で、「今すぐ適用」ボタンをポチッと押します。

確認ダイアログが出るので、再度「今すぐ適用」ボタンを押します。

自動的にフェイルオーバーが実施される

ここまで来たら、後は待つだけです。待っていればマルチAZに変更して準備されたスタンバイ機を巻き込んで、勝手に以下の手順が実行されます。

  • スタンバイ機にメンテナンスを実施
  • スタンバイ機のメンテナンスが完了
  • フェイルオーバー実施(AZが変わる)★
  • 元メイン機、現スタンバイ機にメンテナンスを実施
  • 元メイン機、現スタンバイ機のメンテナンスが完了

この★印の時点で、フェイルオーバーされるので、数秒間のDB接続断が発生すると思われます。

この時点では、まだAZは「ap-northeast-1a」ですが・・・

12分ほど経過すると「ap-northeast-1d」に変更されました! ここでフェイルオーバーしたようです。

その後、このようなメッセージに変わり…

「変更中」となった後で…

はい!「利用可能」になりました。ここまでメンテナンス開始から25分間かかりました。

マルチAZからシングルAZへ戻す

無事にマルチAZでのメンテナンスが完了しましたので、ここでシングルAZに戻します。

再度、目的のメンテナンスを選択した上で、「今すぐ適用」ボタンをポチッと押し、「スタンバイインスタンスを作成しないでください」を選択します。

こちらも絶対に忘れずに、「すぐに適用」を選択して、「DBインスタンスを変更」を押します。

そうすると、ステータスが「変更中」に変化します。ここでスタンバイ機が消滅するのですが、サービスへの影響はありません。

この時点では、マルチAZが「あり」ですね。

数分間待つとステータスが「利用可能」にもどり、マルチAZが「なし」に変わりました。

この「マルチAZ」から「シングルAZ」への変更は、今回は8分間かかりました。

まとめ

最後に、かかった時間をまとめてみます。

シングルAZからマルチAZへ切り換え:9分間
メンテナンスを今すぐ適用する:25分間
マルチAZからシングルAZへ戻す:8分間

待ち時間全部で、およそ46分間です。

画面を確認しながら作業を進めていくと、スムーズにいって50分~約1時間というところですね。

今回は他の方の事例も調査した上で、お客様に「約1時間」と伝えていたので、ちょうどいい時間で収まりました。

インスタンスタイプの大きさや、データベースの容量がもっと大きい場合には、もう少し時間がかかる可能性もあるので、お気を付けください。

 

クラウド(AWS)を利用してみたいけど迷っている会社様は、是非お声がけください。

お問合せは下記まで。

テクニカルエージェント - お問合せ

投稿者プロフィール

ばっしー
ばっしー
<インフラエンジニア>
■ オンプレミスからクラウドまで幅広いインテグレーションを手掛けてきたエンジニア。実は機械設計やWebディレクターも務めたことがある。
■ IoTの工作やAliexpressで中華ガジェットを買うのが大好き。

コメントを残す

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