Auroraとは
MySQL 及び PostgreSQL と互換性がある完全マネージド型のリレーショナルデータベースエンジン
- 高性能のストレージサブシステムを含み、それを利用するようカスタマイズされている
- 既存のアプリケーションの殆どを変更することなく、MySQLのスループットの5倍、PostgreSQLのスループットの3 倍を実現する
- 3つのAZに2つずつ、計6つのデータコピーを持つ
- Auroraノードに障害が発生すると、別のAZで起動中のReaderノードが自動的にWriterノードに昇格し、クラスターエンドポイントの指すAuroraノードが新しいWriteノードに変更されることで復旧が行われる
Amazon Aurora DB クラスター
以下2種類のDBインスタンスのうちの1つ以上と、これらのDBインスタンスのデータを管理する1つのクラスターボリュームで構成される
1. プライマリDBインスタンス: 読み書きオペレーションをサポートし、クラスターボリュームに対するすべてのデータ変更を実行する
2. Auroraレプリカ:プライマリDBインスタンスと同じストレージボリュームに接続し、読み取りオペレーションのみをサポートする
クラスターボリューム:複数のAZにまたがる仮想データベースストレージボリューム
↓ Aurora DBクラスター内のクラスターボリューム、プライマリDBインスタンス、及びAuroraレプリカの関係を示す図
- 最大サイズ128TiBまで拡張可能
Aurora レプリカ
Aurora DBクラスター内の独立したエンドポイント
- 最大15個のAuroraレプリカを、1つのリージョンの中でDBクラスターが処理するAZ全体に分散可能
- フェイルオーバーターゲットとして使用することで、プライマリインスタンスが失敗した場合にAuroraレプリカがプライマリインスタンスに昇格し、即座に復旧が可能
エンドポイントのタイプ
1. クラスターエンドポイント (ライターエンドポイント)
DBクラスターの現在のプライマリDBインスタンスに接続するエンドポイント
- 書き込みオペレーションを実行できる唯一のエンドポイント
- Aurora DBクラスターごとに1つのクラスターエンドポイントと1つのプライマリDBインスタンスがある
2. リーダーエンドポイント
DBクラスターへの読み取りオペレーションで使用するエンドポイント
- Aurora DBクラスターごとに1つのリーダーエンドポイントがある
- Auroraレプリカが作成されていない場合はプライマリインスタンスに接続
- クラスターに1つ以上のAuroraレプリカが含まれている場合、リードレプリカ間で各接続リクエストを負荷分散する
3. インスタンスエンドポイント
Auroraクラスター内の特定のDBインスタンスに接続するエンドポイント
- DBクラスターの各DBインスタンスに独自のインスタンスエンドポイントがある
- クラスターエンドポイントやリーダーエンドポイントの使用が適切でないシナリオ向けに、DBクラスターへの接続の直接制御を提供する
バックアップと復元
バックアップ
クラスターボリュームを自動的にバックアップし、バックアップ保持期間分の復元データを保持可能
- 自動バックアップを無効にすることは出来ない
- バックアップ保持期間は1~35日を指定 (デフォルトは1日)
- バックアップ保持期間を超えたバックアップを保持する場合は、クラスターボリュームの中にデータのスナップショットを作成する
- スナップショットから新しいDBクラスターを作成可能
復元
Auroraが保持するバックアップデータ、または保存したDBクラスターのスナップショットから新しいAurora DBクラスターを作成することで、データを回復可能