Amazon Auroraとは
従来のMySQLのデータベースと比較して、最大5倍の処理能力を達成できる分散型のリレーショナルデータベースサービス。Amazonが独自に開発。
- MySQL と PostgreSQL の完全な互換性を持ちます。PostgreSQLは大規模データの処理や高度なインデックス構築、パーティショニングに強みがあります。データベースの成長に伴ってよりスケーラブルなソリューションが求められる場合には有利です。
- デフォルトで自動バックアップを実行します。
- Auroraには、クラスタエンドポイント、読み取りエンドポイント(リーダーエンドポイント)、インスタンスエンドポイント、カスタムエンドポイントの4種類の接続方法があります。
Aurora Serverless
Aurora サーバーレスは、アイドル状態のときにコンピューティングコストが発生しません。
不規則なピークが発生する時に使います。
Aurora Serverlessにはv1とv2の2つのバージョンがあります。v2には、v1にはなかったマルチAZ機能が利用可能となっています。
Auroraレプリカ
プライマリDBが配置されているアベイラビリティゾーン(それを構成するデータセンター)に障害が発生した場合は、レプリカの1つをプライマリDBに昇格させることで、ダウンタイムを最小限にしてデータベース処理を継続させることができます。
Auroraレプリカを増設して、リードエンドポイントに対してレポーティング機能を接続すれば、レポーティング処理をレプリカ経由で実行することができるため、プライマリDBのパフォーマンスに影響を与えることなく、レポーティングを実施できるようになります。
※ここでいうレポーティングとは、データの分析ダッシュボードのような意味であり、データベースのメトリクスやアラームのことではありません。
Amazon Aurora Global Database
グローバルデータベースの大きな利点は以下の2点です。
- データベースアクセスを世界中から高速に行える(レイテンシの向上)
- リージョン単位で発生した大規模な障害の災害対策(DR)になる
各リージョンのライターエンドポイントを利用してデータベースにアクセスすることはできません。
Auroraグローバルデータベースでは、一般的にディザスタリカバリの指標として使用されるRPO(目標復旧時点)を 1秒、RTO(目標復旧時間)を1分未満と定めています。
RDS Proxy
Auroraクラスタデータベースへの多くの接続とリクエストにより接続拒否が発生しているときは、RDS Proxyを用いることによってSQLリクエストを調整することができる。
Auroraデータベースのデータを複製する方法
リードレプリカを作成する
データのリアルタイムな同期が必要な場合はリードレプリカを使用するのが適切です。
スナップショットを取得して復元する
Auroraデータベースからスナップショットを取得し、それを新しいAuroraクラスターに復元することでデータを複製することができます。これにより、元のデータベースの状態がそのまま複製されます。ただし、スナップショットの取得や復元には時間がかかる場合があります。
データベースレプリケーションを使用する
AWS Database Migration Service(DMS)を使用して、Auroraデータベースのデータを他のAuroraデータベースに複製することもできます。これにより、異なるリージョンにデータを複製するなど、複雑なデータ複製シナリオを実現できます。
DMSはEC2インスタンス上のMySQLデータベースをAurora MySQLに移行する場合などにも用いられます。
Amazon Aurora PostgreSQL
pgvector 拡張機能をサポートしていて、埋め込みデータの保存、管理を効率的にできる。