今回は、Auroraのバックアップについて解説していきます。Auroraのバックアップ機能は豊富な分、理解することも大変。。
図解を入れながら解説していきますので、理解のお手伝いができたら!
※本ページはプロモーションが含まれています。
バックアップ
自動で行われる継続的かつ増分バックアップ。(この機能は無効にすることができません。)
取得したバックアップデータを利用して、任意の時点(最短で5分前から)にリストアすることが可能です。(いわゆる「ポイントインタイムリカバリ」。)
このバックアップによるDBパフォーマンスへの提供はありません。(https://pages.awscloud.com/rs/112-TZM-766/images/B3-05.pdf)
バックアップの保持期間
保持期間は、1〜35日。これ以上保存したい場合は、手動でスナップショットを取得しておく必要があります。(0日にはできません。)
バックアップウィンドウとは?
バックアップを取得する30分の枠のこと。
ここで取得されるバックアップは、バックアップウィンドウで指定した時間帯の断面になります。(上で解説しているバックアップとは別物。)
Auroraでは、上述した自動バックアップがあるので、正直、ここで取得したバックアップを利用する場面は殆どないかなーと思います。
ここからは豆知識。
- バックアップウィンドウは、Web管理コンソールからAuroraクラスターを作成する場合は指定できません。AWS CLIやTerraformなどで作成する場合のみ指定することができます。
- 保持期間を超えて保存したい場合は、コピーする必要があります。
- バックアップによるDBへのパフォーマンス影響はありません。
スナップショット
取得時点の全量のストレージボリュームをバックアップします。自動で取得されるバックアップとは違い、保持期間の制約がありません(無制限)。
使う場面としては、自動バックアップの保持期間以上のデータを残しておきたい時になるかと。
スナップショット取得によるDBへのパフォーマンス影響はありません。
Tips
wait db-cluster-snapshot-available CLI コマンドを使用して、スナップショットが使用可能になるまで 30 秒ごとに API をポーリングすることもできます。
$ aws wait db-cluster-snapshot-available
クローン
クローン元のクラスターボリュームを参照する新規のクラスターのことです。スナップショットから復元する場合と比較して、高速に作成することができます。
クローン元と同じボリュームは参照だけ行うので、クローン元のデータに影響を与えません。(データを更新する場合は、同じボリューム内の別のページに変更を行います。)
気になるバックアップのコストは?
バックアップストレージのコストを計算する上で重要な項目は3つ。
- BackupRetentionPeriodStorageUsed(自動バックアップによって保存されるバックアップのサイズ)
- SnapshotStorageUsed(手動スナップショットで保存されるバックアップのサイズ)
- TotalBackupStorageBilled(請求されるバックアップのサイズの合計)
3が実際に料金が発生するストレージのサイズです。その算出方法は以下の通り。
TotalBackupStorageBilled=(BackupRetentionPeriodStorageUsed+SnapshotStorageUsed)ー 使用されているストレージボリューム(※1)
※1:データベースストレージの合計100%までは無料。
例:
- 使用しているデータベースストレージは30GB
- バックアップ保時期間が1日
- スナップショットが1つ
「BackupRetentionPeriodStorageUsed」は30GB。(=30GB * 1日)
「SnapshotStorageUsed」は30GB。(=30GB*1個)
従って、「TotalBackupStorageBilled」は以下の通り。
(30GB + 30GB) – 30GB = 30GB
最終的に料金が発生するバックアップストレージサイズは30GB。
コメント