Amazon RDS~リードレプリカ編パート②~

Pocket

こんにちは!Rookieです。

Amazon RDS編のレシピも今回で6回目となりました。
なお以前のレシピは、下記を参照ください。

Amazon RDS編~DBインスタンスを立ちあげてみよう!~

Amazon RDS編~EC2インスタンスからDBインスタンスへの接続~

Amazon RDS編~Multi-AZでできること~

Amazon RDS編~ログ管理について~

Amazon RDS~リードレプリカ編パート①~

さて今回もパート①のレシピに引き続き、Amazon RDS~リードレプリカ編パート②~と題してお話をしていきます。

今回のパート②では、パート①で作成したリードレプリカをマスターに昇格させてみたいと思いますが、その前にAmazon RDSに関する情報をご紹介します!
先日、AWSの方でAmazon RDS for SQL Serverが、SSLのサポートを開始したと発表がありました。

20130408_06_01

これにより、保存されたデータだけでなく、転送中のデータも保護することができるようになり、以下のようなことが可能になります。

・SQL Server SSLはアプリケーションサーバとRDSデータベースインスタンス間を行き来するデータの保護
・SQL Serverの暗号化機能を使った、保存済データの保護
・Amazon RDS for SQL ServerのVirtual Private Cloud (VPC)内起動による、ネットワーク分離

今回のSSLサポート開始により、Amazon RDSのセキュリティ性もますます高まってきたと感じます。

さて、ここから本題に入ります。

パート①ではリードレプリカの作成までをおこないましたが、今回はその作成したリードレプリカをマスターへ昇格させてみたいと思います。
このAmazon RDS リードレプリカの昇格機能には、

①インデックスの作成・再作成等のDDL操作の高速化
②大きなデータベースを複数のマスターに分けるシャーディング
③MultiAZとバックアップ時へのリカバリ以外の方法を提供

という3点のメリットがあります。
また、今回の昇格機能を実行することで下記のことが起こります。

・旧マスターからのレプリケーションの停止
・昇格機能を実行したリードレプリカは”スタンドアロン”のデータベースインスタンスになる

では実際にリードレプリカのマスターへの昇格作業をおこなってみましょう!

1. AWS管理コンソールにログインしてサービスで「RDS」を選択、下記画面を開き左メニューの「DB Instances」をクリックします。
20130408_06_02
2. DBインスタンス一覧から対象のリードレプリカを右クリックして、「Promote Read Replica」を選択します。
20130408_06_03
3. 以下の項目の設定をします。
・ Enable Automated Backups:自動バックアップ有効または無効
・ Backup Retention Period :バックアップ保持期間
20130408_06_04
4. ※リードレプリカの昇格前に下記の注意画面が表示されます。
ここで表示されるのは、「ソースとなっているマスター側のトランザクションを全て終了させましょう!」という注意になります。
リードレプリカは、マスターから非同期にレプリケーションをしているので、マスターのメモリ上にあるデータやトランザクションを完了させないとレプリカへの反映が完了しません。
できるだけ最新状態にしてから昇格させるべきですので、事前におこなっておきましょう!
 20130408_06_05
5. DBインスタンス一覧の昇格作業をおこなったリードレプリカのステータスが「available」になっていることを確認します。
  また、その元々リードレプリカだった新マスターの詳細を画面下部の「Description」で見てみると、
「Read Replica Source」の項目が「None」となっており、独立したデータベースとなっていることが確認できるかと思います。
20130408_06_06
これで、リードレプリカの昇格作業は完了です!

いかがでしたでしょうか?
今回紹介したリードレプリカの昇格機能を活用すれば、データベース運用の幅もさらに広がるかと思いますので是非、確認してみてください!

次回もAmazon RDS編です。
次回は、「Amazon RDS編~Amazon VPCでRDSを起動してみよう!~」と題して、Amazon VPCでRDSを起動してみたいと思いますのでお楽しみに!