LoginSignup
1
0

More than 1 year has passed since last update.

Amazon Aurora の色々あるバックアップ機能を検証してみた

Last updated at Posted at 2022-03-31

Auroraのバックアップの項目をドキュメントで見るとかなり多いです(もどきも含め)

image.png
https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_CommonTasks.BackupRestore.html

今回はこんなクラスター作った

image.png

バックアップとスナップショット

下にバックアップとスナップショットを書いていますがバックアップもスナップショットもRDSでは同じような扱いをしているみたいです
https://aws.amazon.com/jp/premiumsupport/knowledge-center/rds-automated-snapshot-retain-longer/
こんなふうに公式でも同じ扱いで書いています

自動バックアップ

→日次で取得されます
※クラスター削除時に自動で削除されてしまいます→保持で削除防げる
日次で取得されると
Aurora のバックアップは連続的かつ増分的であるため、バックアップ保持期間内の任意の時点にすばやく復元できます。
https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/AuroraUserGuide/Aurora.Managing.Backups.html

手動スナップショット

→上の構成(マルツAZのクラスター)で可能

image.png

image.png

とれました

クローン

あとで作成画面を見るとわかりますがクロスリージョンレプリケーションで同じリージョンにクラスター作ったときと見た目がそっくりなんですね
・データを共有している点
・別リージョンには作成できない点
で異なります

実はこのクローン作成はこのように元のデータを参照するのでスタンドアロンとして機能はしないように見えます
しかし、後述しますがソースDBを消しても参照可能なのでどういうことだと言う状態です(この記事では解決できてません)
image.png

引用:クローンが作成されても、データはコピーされません。クローンは、ソース Aurora DB クラスターと同じページのセットを参照しています。
https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/AuroraUserGuide/Aurora.Managing.Clone.html

制限

・作成時にマルチAZ不可(マルチAZのクラスターに対して作成したとしても同様)
image.png

・キャパシティタイプ 変更不可
image.png

クローン作成時にリードレプリカを作れませんが作成後にリードレプリカは作れるみたいです。しかもライターインスタンスのAZと別のAZに作成できたので結局マルチAZできるのかいと思っています。
image.png

クローン作成

image.png
作成中だけど作れたと考えましょう

お遊びでクローンからクローンを作成してみます
image.png
わあすんごい
クソ時間かかったけどできました
image.png

引用:同じ Aurora DB クラスターから複数のクローンを作成できます。また、別のクローンから複数のクローンを作成することもできます。
https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/AuroraUserGuide/Aurora.Managing.Clone.html

image.png

ポイントインタイムリカバリ

ポイントインタイムリカバリ(特定時点への復元)

このころ時間は11:16だったのでかなり最近の状態まで復元できることがわかります
image.png
というのもトランザクションログを継続的にS3にアップロードしているからみたいですね
https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/USER_PIT.MultiAZDBCluster.html

できました
image.png

他の方の記事を見ると
バックアップを復元するようにスタンドアロンの新しいDBクラスタが作成されるみたいですね(データが破損したソースと一致していないのでレプリケーションやデータの共有は行われていないことがわかります)

バックトラック

バックトラックを有効(あとから変更可能)にするとこのようにバックトラックのボタンがグレーアウトされません

image.png

バックトラック作成

作ってみます
image.png

ここに書いてあるとおりバックトラックは新しいDBクラスターにではなく今選択しているDBクラスターに対して実施されます
さらに、バックトラック中はクラスターが使えなくなってしまいます
image.png
image.png
このように利用可能とは出ていますが使えないのでしょう・・・

ポイントインタイムリカバリに関して思ったのですが例えばリーダーインスタンスを削除したとしてそれは復元されるのか?つまりクエリによるトランザクションログ以外も復元されるのかを見てみたいと思います(多分できない?)
image.png
今までクソお世話になりました
image.png
削除されたのでバックトラックしてみました
image.png

image.png
戻りませんでした。
つまり復元されるのはあくまでデータボリュームのデータ(トランザクションログなど)だけということです

リソースの削除

ここで気になるのはソースDBを最初に削除したら
・クローンはどうなる?
・クローンのクローンはどうなる?
・ポイントインタイムリカバリでリカバリされたDBはどうなる?

image.png
今までクs・・・

現状
image.png

事後
image.png

すべて残っている・・どういうことだ・・・
引用:
ソースクラスターボリュームの削除
1 つ以上のクローンが関連付けられているソースクラスターボリュームを削除しても、そのクローンには影響しません。クローンは、ソースクラスターボリュームが前に所有していたページをポイントし続けます。

だそうです・・・

最後に(ここ重要)

これらすべて紹介しましたがAZ障害やクラスター障害に対して対処できるのは以下のみです
・自動バックアップ
・手動スナップショット
・ポイントインタイムリカバリ(バックアップに対して行う)
のみです
ほかはソースDBが削除されてしまえば使い物になりません

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0