遂にRDS for SQL ServerのMulti-AZが東京リージョンで利用可能になりました

AWS運用自動化サービス「Cloud Automator」
この記事は1年以上前に書かれたものです。
内容が古い可能性がありますのでご注意ください。

遂にRDS for SQL ServerのMulti-AZが東京リージョンで利用可能になりました!

RDSMulti1

早速東京リージョンで検証を行ってみましたので、ご報告致します。

  1. 東京リージョンでRDS for SQL ServerをMulti-AZで構成してみた
  2. 東京リージョンのRDS for SQL ServerでMulti-AZをOffからOnにしてみた
  3. 今一度ヴァージニアリージョンのRDS for SQL ServerでMulti-AZをOffからOnにしてみた
  4. 東京リージョンのRDS for SQL ServerでMulti-AZをOnからOffにしてみた
  5. 東京リージョンでRDS for SQL ServerをMulti-AZで構成した後メインバージョンアップしてみた

1.東京リージョンでRDS for SQL ServerをMulti-AZで構成してみた

まずは東京リージョンでRDS for SQL ServerをMulti-AZで構成してみます。
※基本的なRDSのLaunch方法については割愛させて頂きます

まずはEngineの選択ですが、以下のバージョン以外はMulti-AZが未対応のため、今回はSE(Standard Edition)を選択します

SQL Server 2014: SQL Server Standard Edition
SQL Server 2012: SQL Server Standard and Enterprise Editions
SQL Server 2008 R2: SQL Server Standard and Enterprise Editions

選択しましたら、「Specify DB Details」に移ります。

RDSMulti2

ここでは「公式ドキュメントに記載のある通り、Multi-AZ Deployment listにてYes (Mirroring)を選択します。

When creating a new SQL Server DB instance using the AWS Management Console, you can simply select Yes (Mirroring) from the Multi-AZ Deployment list on the Specify DB Details page to add Multi-AZ with Mirroring.

他は通常通り進めてください。「Next Step」を押下して「Configure Advanced Settings」⇒「Launch DB Instance」でRDSを作成します。
なお、東京及びシドニーリージョンで対応したMulti-AZには、以下の制限事項があります。

Asia Pacific (Sydney) – Supported only for DB instances in VPCs.
Asia Pacific (Tokyo) – Supported only for DB instances in VPCs.

VPC内に存在するRDSでしかMulti-AZは対応していない、と記載があります。
これは、SQL ServerのMulti-AZには「3つのリージョンが必要」ということに関係してそうですね。

RDSMulti3

作成が完了しました。

RDSMulti4

「available」になるまでは、おおよそ30分から40分程度かかりました。
そして、赤色で囲っているところが、Multi-AZであることを示すものです。
オレンジ色で囲っているところが、プライマリのZoneと、セカンダリのZoneを表しています。

Reboot With Failoverを試してみる

Multi-AZが正常に効果を発揮していれば、「Reboot With Failover」が実施可能です。

RDSMulti5

Modify⇒Rebootから↑の通り、「Reboot With Failover」にチェックを入れてRebootを行ってみます。
実行すると、以下のログが書き込まれます。

Multi-AZ failover to standby complete – DNS propagation may take a few minutes

完了すると、以下の通りZoneが入れ替わっています。

RDSMulti6

オレンジ色の枠を見ると、プライマリのリージョンがap-northeast-1aからap-northeast-1cに、セカンダリのリージョンがap-northeast-1cからap-northeast-1aに変わっていることが確認できます。
Reboot With Failoverは無事に成功しました。Failover処理にかかった時間は数分程度です。

2.東京リージョンのRDS for SQL ServerでMulti-AZをOffからOnにしてみた

Launch時にMulti-AZを指定する方法は試みましたので、公式ドキュメント」に記載があるもう1つの方法を試してみたいと思います。

When modifying an existing SQL Server DB instance using the AWS Management Console, you can simply select Yes (Mirroring) from the Multi-AZ Deployment list on the Modify DB Instance page to add Multi-AZ with Mirroring.

RDSMulti7

上図の通り、Multi-AZが「No」のdb.Instanceが既に構築されていたとします。これに対して、「Modify」から設定変更を行います。

RDSMulti8

ここで、Multi-AZ Deployment listにてYes (Mirroring)を選択します。
その後、最下部にある「Apply Immediately」にチェックを入れて、「Continue」⇒「Modify DB Instance」を押下して反映します。

RDSMulti9

20~30分程度でMulti-AZが反映され、「available」となりました。
この方法を利用すれば、東京リージョンに構築済みである既存のSingle-AZのRDS for SQL ServerでもMulti-AZに後追いで設定変更が可能です。

3.今一度ヴァージニアリージョンのRDS for SQL ServerでMulti-AZをOffからOnにしてみた

過去、既にRDS for SQL ServerでMulti-AZ(Mirroring)対応済みであったヴァージニアリージョンでは、これが「Multi-AZ Deployment list」にて「Yes (Mirroring)」を選択するという手法で実現されていませんでした。
詳しくは以下のブログにて記載をしております。

AWS公式ドキュメントでは、以下の通り記載がありました。

RDSMulti10

このように、「Option Group」を設定変更に利用していましたが、今回のアップデートタイミングで、全リージョン共に「Multi-AZ Deployment list」にて「Yes (Mirroring)」を選択するという手法で設定変更が可能となりました。
それに合わせて、2016年6月10日現在、先に紹介しました英語版のAWS公式ドキュメントは全て「Multi-AZ Deployment list」にて「Yes (Mirroring)」を選択するという手法に記載が変更されています。未だ日本語版の公式ドキュメントには記載が残っていますが、近いうちに更新されると思われます。

前置きが長くなりましたが、ヴァージニアリージョンで仕様が変更されたことを念の為確認しました。

まずはRDSをSingle-AZでLaunchし、その後Modifyから以下の画面に進みます。

RDSMulti11

画像の通り、「Option Group」を利用せず「Multi-AZ Deployment list」で設定をします。

RDSMulti12

Modify直前ですが、上図の通り、「Multi-AZ Deployment list」で更新をします。

RDSMulti13

「Modify DB Instance」をすると、上図の通りmodifyingとなりました。

RDSMulti14

あとはavailableとなるまで待てば、完成です。
これで、既存のMulti-AZが利用可能であったヴァージニアリージョンでも「Multi-AZ Deployment list」にて変更が可能となったことが確認できました。

私は、「Option Group」を利用する仕様については、かなり解り難いと感じていたので、今回手法が統一されたことについて非常にうれしく思っています。

4.東京リージョンのRDS for SQL ServerでMulti-AZをOnからOffにしてみた

OffからOnにできるなら、OnからOffもできますよね?ということで試してみました。

RDSMulti15

こちらは、先ほどと逆で「Multi-AZ Deployment list」の「Yes(Mirroring)」を「No」としてModifyすればMulti-AZは解除されます。

RDSMulti16

上図の通り、30~40分程度でMulti-AZが解除されました。

5.東京リージョンでRDS for SQL ServerをMulti-AZで構成した後メインバージョンアップしてみた

最後は、Multi-AZにした状態でのメインバージョンアップを行った結果です。
バージョンアップについては以下の記事に注意点を記載しておりますため、合わせてご参考ください。

RDSMulti17

今回は、上図の通り「SQL Server 2012 11.00.5058.0.v1」をModifyし、

RDSMulti18

SQL Server 2014 SP1 CU2 (12.00.4422.0.v1) へバージョンアップします。

RDSMulti19

「アップグレードしたらもう戻れないですよ」等、注意事項が出ますので確認の上バージョンアップを行ってください。

RDSMulti20

実行すると「upgrading」ステータスになります。

そして、前回の記事でも記載しましたが、メインバージョンアップは思ったよりも長い時間がかかります。

RDSMulti21

今回はおおよそ2時間5分程度の時間がかかりました。
これで、Multi-AZ状態でも無事にメインバージョンアップが出来ることが確認できました。

まとめ

今回は、以下のことを東京リージョンで確認しました。何れも全て、実現可能でした。

  1. 東京リージョンでRDS for SQL ServerをMulti-AZで構成する
  2. 東京リージョンのRDS for SQL ServerでMulti-AZをOffからOnに変更する
  3. 東京リージョンのRDS for SQL ServerでMulti-AZをOnからOffに変更する
  4. 東京リージョンでRDS for SQL ServerをMulti-AZで構成した後メインバージョンアップを行う

今まで東京リージョンのRDS for SQL ServerではMulti-AZが無いという理由で、利用を見送られていた方には是非とも使ってみて頂きたいと思います!
RDSは特に「Restore To Point In Time」の機能が秀逸で、今まで物理サーバやEC2にて、トランザクションログや完全バックアップの管理をされていた方からすると、RDSをプロビジョンして使うだけでそれらの煩雑な設定なしに、データを(ほぼ)直前まで戻せるという恩恵に授かれます。
それに加え、今回Multi-AZが備わったことにより、Zone障害もクリアすることが可能となりました。
よって繰り返しになりますが、Multi-AZが理由で利用を見送られていた方には是非とも使ってみて頂きたいです。

以上です。それではまたお会いしましょう。

AWS運用自動化サービス「Cloud Automator」