Amazon RDSとは?Slaveとは?

データベースを安全に稼働させることができるデータベースサービスがAmazon RDSです。ここではRDSの簡単な概要と機能、よく耳にするSlaveとはなんなのかということを解説していきます。

RDSとは?

Amazon RDSの正式名称はAmazon Relational Database Serviceです。RDSを使用するとクラウド上のリレーショナルデータベースのセットアップ、オペレーション、スケールが簡単になります。データベースは企業にとって大切な基盤になりますので、それが壊れてしまうと会社のシステム全体が止まってしまいます。万一のために、データベースが止まらないように設計・運用をする必要があります。

Slave(スレーブ)とは?

Slaveは、マスターのバックアップのようなものです。そして、ただのバックアップではなくマスターへの変更を即座に反映することができるバックアップなのです。さらに、災害などでマスターが属しているデータセンターに異常が発生し、マスターの機能が停止してしまった場合にもこのSlaveは働いてくれます。なぜなら、Slaveが代わりにマスターへ昇格することでデータベースを安全に稼働させ続けることができるからです。(これをフェイルオーバーと呼びます。)

フェイルオーバーとは

Slaveの説明の中にでできたフェイルオーバーですが、マスターに異常が派生した際にSlaveが代わりにマスターへ昇格することでデータベースを安全稼働させ続ける機能のことです。マスターへの昇格は通常60~120秒で完了します。また必ずDNSの書き換えが発生します。接続先のIPアドレスをキャッシュし続けると、アプリケーション側でフェイルオーバーで先のDBインスタンスへ接続できないという問題が発生しますので注意してください。フェイルオーバーが自動的に行われるには条件があります。

1:マスターのAZ機能停止

2:マスターのエラー

3:DBインスタンスのサーバータイプ変更

4:ソフトウェアのパッチ適用中

MultiAZ構成(マルチアベイラビリティゾーン構造)

RDSが強靭な高可用性や耐障害性を実現するための構造をMultiAZ構造(マルチアベイラビリティゾーン構造)といいます。マスター(プライマリ)とSlave(セカンダリ)の構成で、2つのデータセンター(Availability Zone)に渡って構築してくれます。ボタンひとつで実現できる仕組みになっていますので簡単にできます。マスターへの変更が自動的にSlaveに反映されるレプリケーションの仕組みです。

RDSのレプリケーションの違い

RDSには4つのレプリケーションがあります。同期レプリケーション、非同期レプリケーション、物理レプリケーション、論理レプリケーションです。そもそもRDSのレプリケーションとはマスターインスタンスとSlaveがが自動的に用意され、おこにデータを複製することで可用性を高めてくれます。細かな設定をせずともレプリケーションが使えるのはRDSのメリットの一つです。

・同期レプリケーション

データベースの障害時の影響を最小化するためのものが同期レプリケーションです。マスターへの変更後にSlaveを変更し、確定してから応答します。マスターとSlave間の通信だけ遅くなってしまいますが、RDSはデータセンター間を高速な回線で繋ぐことができます。

・非同期レプリケーション

Slaveへの書き込みを待たずに応答します。

・物理レプリケーション

DBエンジンがMySQL、MariaDB、PostgreSQL、Oracleのときに選べるのが物理レプリケーションです。Slaveのデータをマスターに合わせて最新の状態に維持します。トランザクションが完了する前のマスターへのページ書き込みが起こったタイミングでSlaveにも並行で書き込みを行いますので高速です。

・論理レプリケーション

DBエンジンがSQLServerの場合は論理レプリケーションです。マスターに対するSQL文などのトランザクションレベルの操作をSlaveにも行います。

RDSの料金

料金体系はAWS公式サイトに分かりやすく書いてありますのでそちらを参考に計算をできます。基本的にRDSにかかる費用はインスタンスタイプ、ストレージ容量、データ転送量の3つになります。この3つが分かっていればおおよその費用は算出することができます。ちなみにちょっとお試しで使ってみたいなという人ようにRDSの無料枠というものも使えますので気になる方はそちらから試してみてはいかがでしょうか。

さいごに

Amazon RDSの概要、機能、Slaveについて、簡単なレプリケーションの違いについてを解説させていただきました。イメージは掴めましたでしょうか。費用はどうしてもかかってしまいますので、よく考えて取り入れることが需要です。

参考文献:
https://dev.classmethod.jp/articles/amazon-rds-replication/
https://miyabi-lab.space/blog/31

コメントを残す

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