RDS: Relational Database Service は、AWSがマネージドサービスで提供するリレーショナルデータベースサービスです。
リレーショナルデータベース(RDB)とは?
RDBとは関係性データベースとも呼ばれ、行と列の2つの軸で表されるデータベースのことです。イメージとしては、高機能なExcelと考えると分かりやすいです。このリンクが参考になります。
マネージドサービスとは?
マネージドサービスとは、通信サービスやITサービスなどのうち、サービスの利用に必要な機器やソフトウェアの導入や管理、運用などの業務も一体的に請け負うサービスのこと。このリンクが参考になります。
つまりRDSを使うことにより、サーバーやOS、パッチ当てなどをAWS側でサービスに含めて提供してくれるので、ユーザー側で管理する必要がなくなるということです。
これにより、構築にかかる負荷を少なくすることができ、ユーザー側は、ビジネスとして価値を生む「コア」となる部分に注力することができるようになります。クラウドって感じです。素晴らしいですね。
AWSで提供されるマネージドサービスの例
- Amazon RDS
- Amazon RedShift
- Amazon ElastiCache
- Amazon S3
- Amazon Route 53
- Amazon CloudFront
- Amazon SQS
- Amazon SES
RDSの基本
RBSは、AWSが提供するリレーショナルデータベース(RDB)のサービスです。
AWSのRDSで対応しているデータベースは、以下のものがあります。
- Amazon Aurora:Amazonが提供しているリレーショナルデータベースです。
- Postgre SQL:オープンソース型の人気が高いリレーショナルデータベースです。
- MySQL:MySQLもオープンソース型のリレーショナルデータベースです。
- Mariaデータベース:MySQLをもとに作られたデータベースです。操作性や使用方法はMySQLによく似ています。
- Oracle:世界で最初に採用されたRDBMSで、最も広く利用されています。
- SQL Server:マイクロソフト社が提供しているRDBです。
RDSの特徴
AWSのマルチAZを使うことで、マスター・スレーブ構成が簡単に作れますので、DBの可用性を上げることができます。
マスター側のデータが書き変われば、自動でスレーブ側に同期もしてくれます。
通常、DBサーバーはフロントエンドとなるウェブサーバーを経由してアクセスすることになりますが、ウェブサーバーからDBサーバーにアクセスするときは、IPアドレスではなく、「エンドポイント」と呼ばれるアドレスのようなもので接続をします。
AWS内のDNSでこのエンドポイントと実際にDBサーバーが使っているIPアドレスのマッピングをしていますので、マスター側機器の障害時にスレーブ側機器に切り替わっても、マッピングも更新されますので、エンドポイントは変わりません。
AWS内のDNSでこのエンドポイントと実際にDBサーバーが使っているIPアドレスのマッピングをしていますので、マスター側機器の障害時にスレーブ側機器に切り替わっても、マッピングも更新されますので、エンドポイントは変わりません。
リードレプリカ
DBへのトランザクションが増えて負荷が上がると、システム全体のパフォーマンスが低下してしまいます。
また、DBの特徴として参照のトランザクションがほとんどとなります。このため、参照専用のDBを用意できます。これがリードレプリカです。
DBのレコード内容を変更や削除したい場合、マスターとなる機器側を変更すれば、リードレプリカ側の機器にも情報が同期されます。
バックアップの自動取得
- スケジューリングを行い、自動的にバックアップとしてのスナップショットを取得することができます。もちろんマニュアルでのバックアップも可能です。
- スナップショットを元に、新しいDBを構築することも可能となりますので、ある時点のデータに戻したいとなった時ににも使えます。
- EC2上に自分でDBサーバーを立てた場合、Cronなどを使ってバックアップのスケジューリングをする必要があるが、RDSはマネージドサービスなので、その機能も提供されます。
パッチ当ての自動実施
- OSレベルでのパッチ当てが必要となった場合、スケジューリングをしてメンテナンスウィンドウを設けて、自動で実施することが可能です。
パラメーター設定
- RDSの制約として、SSHを使ってDBサーバーに接続することはできず、SQLコマンドを使って接続する必要があります。
- その代わりに、パラメーターグループという機能があり、管理コンソールから設定が可能となります。
- この設定変更も、スケジューリングを行い、メンテナンスウィンドウを設けて実施することができます。
この教材を使って勉強してます。
「AWS認定資格試験テキスト AWS認定ソリューションアーキテクト-アソシエイト」