Amazon RDSとは
「Amazon Relational Database Service (以下Amazon RDS)」は、フルマネージド型のリレーショナルデータベースサービスです。
フルマネージド型のサービスのため、パッチ管理などの保守はAWSが実施してくれます。
データベースインスタンス再起動のみでスケールアップ/スケールダウンをすることもできます。
しかし、バージョンが限定される、キャパシティに上限がある、個別パッチの適用ができないなどのデメリットがあります。
また、Amazon RDSは以下のデータベースエンジンを選択できます。
- Amazon Aurora
- MySQL
- MariaDB
- PostgreSQL
- Oracle
- Microsoft SQL Server
Amazon RDSの構成
「Amazon RDS」は、「Read/Write可能なマスタデータベース」と「Readのみ可能なリードレプリカのデータベース」の2種類のデータベースを用いて動作しています。
マスタに書き込まれたデータはリードレプリカの方にデータ同期することで、データの整合性を保ちます。
リードレプリカを用いることでパフォーマンスを向上することができます。
マスタデータベースは、基本的に1台のみ存在しますが、Amazon RDSのマルチマスタークラスターを利用すると複数のマルチデータベースを構築することができます。
Auroraのリードレプリカは、複数のリージョン/アベイラビリティゾーンで最大15個まで構築できます。Amazon RDSのリードレプリカは最大5台まで構築できます。
また、複数のアベイラビリティゾーンにデータベースを構築することで高い可用性を実現できます。
以下のようなAmazon RDSの構成イメージで動作しています。
Amazon RDSのバックアップ/リストア
Amazon RDSは、障害発生時のためにバックアップ(スナップショット)とリストアを行うことができます。
取得したバックアップデータはAWSのストレージサービスであるAmazon S3に格納されます。
バックアップは手動と自動のいづれかで取得することができ、自動でバックアップを取得した場合は設定した保持期間が過ぎたら自動で削除されます。
Amazon RDSインスタンスの監視
Amazon RDSのイベントを通知する機能として、「イベントサブスクリプション」というものがあります。
「イベントサブスクリプション」を使用すると、RDSのインスタンスの停止や設定変更やスナップショットの作成など様々なイベントを通知することができます。
通知されるイベントの内容については、AWSの公式サイト(Amazon RDS のイベントカテゴリとイベントメッセージ)をご確認ください。
Amazon RDSの料金
Amazon RDSは主に以下の5個の料金が掛かります。
「Amazon Aurora」、「MySQL」、「PostgreSQL」、「Oracle」、「SQL Server」などデータベースエンジンによって、料金が変わります。
(1) データベースインスタンス
データベースのインスタンスタイプ(メモリやCPUのスペック)の利用料金が掛かります。
スペックが高いインスタンスタイプを選択してデータベースを構築すると、料金が高くなります。
また、Amazon EC2と同様にオンデマンドインスタンスとリザーブドインスタンスがあります。リザーブドインスタンスは長期間の契約を前提していますので、オンデマンドインスタンスより料金が安くなります。
(2) データベースストレージI/O
データベースのストレージの利用容量に応じた費用、及びストレージの書き込みと読み込み(I/O)のリクエスト数に応じた費用が掛かります。
(3) バックアップストレージ
自動化されたデータベースバックアップや、お客様の作成した DB クラスタースナップショットに関連付けられたストレージの容量に応じて費用が掛かります。
(4) Snapshot Export
Snapshot Exportとは、Amazon RDSのスナップショット内のデータをAmazon S3にParquet形式で自動エクスポートする機能です。
スナップショットのデータ量に応じて費用が掛かります。
(5) データ転送
Amazon RDSから他のリージョンへデータ転送(アウトバウンド通信)する場合に、データ量に応じて費用が掛かります。
Amazon RDSへの通信(インバウンド通信)や、同じアベイラビリティゾーン内での通信は料金が掛かりません。
Amazon RDSの料金については、以下のAWSの公式サイトをご確認ください。
AWSに関する記事
AWSについての関連記事は以下の通りです。
必要に応じて、ご確認ください。