NHN Cloud Meetup 編集部
RDS(Relational Database Service)の紹介
2020.01.17
445
データを保存し、処理して照会するのに、かつてはRDB(Relational Database)が多く用いられていました。しかし次第に非定型化データ、処理性能の高速化などが求められるようになり、現在は様々な種類のNoSQLエンジンが活用されています。
しかし、定型化されたデータに対する性能、例えば利用のしやすさや、高い信頼性において、依然としてRDBは使用価値があり、まだしばらくはデータの特性と活用目的に応じて、NoSQLエンジンとRDBMS(Relational Database Management System)が共存するように思われます。
TOAST RDS(Relational Database Service)は、RDBをクラウド環境で提供し、DBMSエンジンのインストールと設定を自動で行います。TOASTコンソールから必要なオプションを入力した後、RDSを作成すると、数分でDBMSがインストールされたインスタンスが作成され、ユーザーはこれらに接続してすぐにDBMSを使用することができます。インストールと設定の自動化に加えて、自動バックアップ、バックアップを使った復元、特定時点への復元、read負荷分散用の複製機能、サービス障害状況を最小化する高可用性機能などを提供しています。
TOASTは現在、MySQLをRDSで提供しており、2020年2月には、MS-SQLサーバーを提供する予定です。
RDSとMySQL Instance製品との違い
CSP(Cloud Service Provider)が提供する製品の中に、MySQL Instance、MSSQL Instanceといったものがあります。これらの製品は、単にDBMSがインストールされたインスタンスを生成するだけの機能です。
TOASTのRDSは、インスタンスにDBMSを設置するだけでなく、複雑な復元、複製、自動バックアップ、DB監視、ユーザーアラーム、高可用性などの機能を自動化して提供します。
DBインスタンスの作成とネットワーク設定
TOASTコンソールでDBインスタンスを作成する方法は、次の図のようにインストールするDBMSのバージョン、ポート番号、アカウント情報などを入力した後、「作成」ボタンをクリックすれば完了します。
次のステップで、DBインスタンスへのリクエスト送信元となるインスタンスが属しているネットワークに、作成したDBインスタンスを接続しましょう。Floating IPを接続すると、すべての外部ネットワークから接続可能になるため、セキュリティ上、問題になる場合があります。そこで、Networkタブの作成ボタンをクリックして、ユーザーのCompute&Networkサービスから作成されたVPCとピアリング(Peering)を作成した方がよいでしょう。(VPC、ピアリングなどの詳しい内容は、こちらをご参照ください。)
自動バックアップ設定
対象のDBインスタンスを選択し、バックアップの時間帯を決定し、毎日自動でデータをバックアップしたり、特定の日数が経過後に過去のバックアップは自動で削除されるようにしたりといった設定ができます。
復元
TOASTは様々な復元機能を提供します。
・特定のバックアップから復元
対象のDBインスタンスを選択し、追加機能をクリックします。そこから特定のバックアップを選択して、簡単にDBインスタンスを復元し、作成することができます。
・特定の時点に復元
対象のDBインスタンスを選択し、追加機能をクリックします。ユーザーが任意の時点に対応するデータを持つDBインスタンスを復元して作成することができます。
複製
負荷分散のため複製DB(Replication DB)インスタンスを作成することができます。また、必要に応じてスレーブインスタンスをマスターインスタンスに昇格させることができます。
監視およびアラーム
TOASTコンソールからリアルタイムでハードウェアとDB監視ができます。
コンソールを使った監視のほか、ユーザーが指定したイベントに対してアラーム(Notification)させる機能も提供しています。例えばCPU負荷が特定のしきい値を超えた場合、登録された電子メールやSMSから、アラームを受け取ることができます。
高可用性(High Availability)とは?
予測できない障害時の場合、DBを停止してサービスの障害状況を最小限に抑える機能です。
マスター(Master)DBインスタンスと他の可用性領域(Availability Zone)に予備マスター(Candidate Master)を準備します。
マスターと予備マスターは複製関係を結んでおり、マスターDBインスタンスあるいはマスターがインストールされた可用性領域に問題が発生し、ネットワーク通信ができない場合には、予備マスターが新しいマスターとしての役割を果たすことになります。
このように予備マスターが新しいマスターの役割を実行することを、フェールオーバー(Failover)と呼びます。
ユーザーに提供されるエンドポイントは、ドメインとして提供され、フェイルオーバーが発生すると、ドメインに接続しているIPのアドレスを自動的に変更し、新しいマスターへトラフィックが流入します。
その他、高可用性機能を使用すると、マスターの再起動が必要な状況で瞬断時間を短縮できます。
DBインスタンスのポート、タイプを変更したり、データ量のサイズを増加させる場合、当該事項を先に予備マスターに反映します。予備マスターの変更が適用されると、フェールオーバーによってマスターとの役割を変更させるため、変更事項の反映にかかる瞬断を最小限に抑えることができます。
高可用性設定
DBインスタンスを作成したり、修正したりするとき、高可用性の使用可否を選択すると、自動的に設定されます。