インフラ構成は異なるのですが、リレーショナルデータベースサービスとして考える場合は同じ括りにして良いと考えています。
RDSがリリースされたおかげでデータベース設計だけでなく運用保守もグッと楽になりました。
RDSを使うかどうか
99%使用したほうが良いと思います。
RDSをあえて使用しないパターンとしては「個人利用の為、EC2上にデータベースをインストールしてコストを下げたい」「RDSでは使用できない設定や機能を使用する場合」などになると思います。
個人的にはAuroraを選択することが一番良いと思われます。
Auroraの構成
Auroraは「クラスター」という単位で管理されます。
クラスターの下に実際のインスタンスがぶら下がる形になります。
インスタンスには「プライマリ(書き込み担当)」「レプリカ(読み取り担当)」の2種類が存在します。
ストレージは全てのインスタンスが共有のストレージを使用します。
そのため、RDSのように「レプリケーション速度」を考慮することなく使用することができます。
20200929 AWS Black Belt Online Seminar Amazon Aurora MySQL Compatible Edition ユースケース毎のスケーリング手法 from Amazon Web Services Japan
ストレージ
Auroraのストレージは自動拡張/自動縮小します。
その為、サイジング不要となりますが使い過ぎに注意が必要となります。
Auroraのストレージ自体は3つのAZに分散配置されますのでAZ障害にも強い構成となっています。
エンドポイント
インスタンスに「書き込み」「読み込み」の役割が分かれているように、アプリケーションからアクセスする場合のエンドポイントが分かれます。
何も考えなければ「クラスターエンドポイント」を使用すればよいですが、パフォーマンスを最大限にしたい場合は「データの書き込みはクラスターエンドポイント」「データの読み込みはリーダーエンドポイント」と使い分ける必要があります。
コメント