背景・目的
Auroraの耐障害性をあらためて調べます。
まとめ
下記に特徴をまとめます。
| 特徴 | 説明 |
|---|---|
| 概要 | ・Aurora は、クラスターボリュームを自動的にバックアップする ・復元データを保持する ・Aurora のバックアップは連続的かつ増分的である ・バックアップ保持期間内の任意の時点にすばやく復元可能 ・バックアップデータが書き込まれるときに、データベースサービスのパフォーマンスに影響が出たり、中断が発生することはない ・バックアップ保持期間は1〜35日を指定できる |
| バックアップ保持期間を超えたバックアップを保持する場合 | ・クラスタボリューム内に、データのスナップショットを作成できる ・バックアップ保持期間全体にわたって増分復元データを保持する ・スナップショットから新しい DB クラスターを作成可能 |
| データの回復 | 新しいクラスタを作成する。 下記から、回復可能 ・保持するバックアップデータ ・DB クラスターのスナップショット |
| レプリケーション | Aurora DB クラスター内の独立したエンドポイント 読み取りオペレーションのスケーリングと可用性の向上に最適 |
| レプリカの最大数 | 1つのAWSリージョン内で、AZ全体に最大15個まで作成可能 |
| フェイルオーバーの概要 |
概要
下記を基に整理します。
バックアップと復元
Aurora は、クラスターボリュームを自動的にバックアップし、バックアップ保持期間中、復元データを保持します。Aurora のバックアップは連続的かつ増分的であるため、バックアップ保持期間内の任意の時点にすばやく復元できます。バックアップデータが書き込まれるときに、データベースサービスのパフォーマンスに影響が出たり、中断が発生したりすることはありません。DB クラスターを作成または変更するときに、バックアップ保持期間 (1 ~ 35 日) を指定できます。
- Aurora は、クラスターボリュームを自動的にバックアップする
- 復元データを保持する
- Aurora のバックアップは連続的かつ増分的である
- バックアップ保持期間内の任意の時点にすばやく復元可能
- バックアップデータが書き込まれるときに、データベースサービスのパフォーマンスに影響が出たり、中断が発生することはない
- バックアップ保持期間は1〜35日を指定できる
バックアップ保持期間を超えたバックアップを保持する場合は、クラスターボリュームの中にデータのスナップショットを作成できます。Aurora は、バックアップ保持期間全体にわたって増分復元データを保持します。そのため、バックアップ保持期間を超えて保持するデータのスナップショットを作成するだけで済みます。スナップショットから新しい DB クラスターを作成できます。
- バックアップ保持期間を超えたバックアップを保持する場合は、クラスタボリューム内に、データのスナップショットを作成できる
- バックアップ保持期間全体にわたって増分復元データを保持する
- スナップショットから新しい DB クラスターを作成可能
Aurora が保持するバックアップデータから、または保存した DB クラスターのスナップショットから、新しい Aurora DB クラスターを作成することで、データを回復できます。DB クラスターの新しいコピーは、バックアップデータから作成し、バックアップ保持期間内の任意の時点にすばやく復元できます。バックアップ保持期間中の Aurora バックアップが継続的かつ増分的であることは、復元時間を短縮するためにデータのスナップショットを頻繁に作成する必要がないことを意味します。
- データの回復は、下記から新しいクラスタを作成する
- 保持するバックアップデータ
- DB クラスターのスナップショット
- バックアップ保持期間中の Aurora バックアップが継続的かつ増分的であるため、データのスナップショットを頻繁に作成する必要がない
レプリケーション
Aurora レプリカは、Aurora DB クラスター内の独立したエンドポイントであり、読み取りオペレーションのスケーリングと可用性の向上に最適です。最大 15 個の Aurora レプリカを、1 つの AWS リージョンの中で DB クラスターが処理するアベイラビリティーゾーン全体に分散できます。DB クラスターボリュームは DB クラスターのデータの複数のコピーで構成されます。ただし、クラスターボリュームのデータは、DB クラスターのプライマリ DB インスタンスおよび Aurora レプリカに対する単一の論理的なボリュームとして表されます。プライマリインスタンスが失敗した場合、Aurora レプリカはプライマリ DB インスタンスに昇格されます。
また、Aurora は、Aurora MySQL および Aurora PostgreSQL 特有のレプリケーションオプションもサポートしています。
- Aurora レプリカは、Aurora DB クラスター内の独立したエンドポイント
- 読み取りオペレーションのスケーリングと可用性の向上に最適
- レプリカは、1つのAWSリージョン内で、AZ全体に最大15個まで作成できる
- DBクラスタボリュームは、DBクラスタのデータの複数コピーでコスえいされる
- クラスターボリュームのデータは、DB クラスターのプライマリ DB インスタンスおよび Aurora レプリカに対する単一の論理的なボリュームとして表される
- プライマリインスタンスが失敗した場合、Auroraレプリカは、プライマリDBインスタンスに昇格する
フェイルオーバー
Aurora は、単一の AWS リージョン内の複数のアベイラビリティーゾーンにまたがる DB クラスターにデータのコピーを保存します。これは、DB クラスターの DB インスタンスが複数のアベイラビリティーゾーンにまたがっているかどうかにかかわらず保存されます。アベイラビリティーゾーンにまたがって Aurora レプリカを作成すると、それらは Aurora によって、自動的にプロビジョニングおよび維持されます。プライマリ DB インスタンスは複数のアベイラビリティーゾーンにまたがって、Aurora レプリカに同期してレプリケートされます。これにより、データの冗長性を提供し、I/O のフリーズを防ぎ、システムバックアップの間のレイテンシーの急上昇を最小限に抑えることができます。高可用性を備えた DB クラスターを実行すると、計画されたシステムメンテナンス中の可用性が向上し、障害とアベイラビリティーゾーンの中断からデータベースを保護できます。
- Aurora は、単一の AWS リージョン内の複数のアベイラビリティーゾーン(AZ)にまたがって、DB クラスターの データのコピーを保存する
- DB クラスターの DB インスタンスが複数 AZ に配置されているかどうかに関係なく適用される
- AZにまたがって Aurora レプリカを作成した場合、それらは Aurora によって自動的にプロビジョニングおよび維持される
- プライマリ DB インスタンスは、複数の AZ にまたがって Aurora レプリカに同期してレプリケートされる
- この仕組みにより、以下を実現できる
- データの冗長性の提供
- I/O のフリーズ防止
- システムバックアップ中のレイテンシー急上昇の最小化
- 高可用性を備えた DB クラスターを実行することで、以下の耐性が向上する
- 計画されたシステムメンテナンス中の可用性
- 障害やアベイラビリティーゾーンの中断からの保護
考察
自動バックアップとスナップショットの使い分けとしては、短期の復旧・切り戻しは自動バックアップ(PITR)から戻す。または、長期保持・監査・環境コピーはスナップショットから戻すと理解しました。
参考