【Aurora】バックアップが種類が多くて分からない。

【Aurora】分かりづらいバックアップを復習してみた。 Aurora
スポンサーリンク

今回は、Auroraのバックアップについて解説していきます。Auroraのバックアップ機能は豊富な分、理解することも大変。。

図解を入れながら解説していきますので、理解のお手伝いができたら!

スポンサーリンク

バックアップ

公式サイト:https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/AuroraUserGuide/Aurora.Managing.Backups.html

自動で行われる継続的かつ増分バックアップ。(この機能は無効にすることができません。)

バックアップの特徴

取得したバックアップデータを利用して、任意の時点(最短で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

クローン

クローン元のクラスターボリュームを参照する新規のクラスターのことです。スナップショットから復元する場合と比較して、高速に作成することができます。

クローン元と同じボリュームは参照だけ行うので、クローン元のデータに影響を与えません。(データを更新する場合は、同じボリューム内の別のページに変更を行います。)

クローンをざっくり解説
注意点

クローンに負荷が集中すると、クローン元のDBクラスターに対してパフォーマンスに影響を与える場合があります。(負荷が高くなるであろうと想定できる場合は、素直にスナップショットから復元した方がよいです。)

気になるバックアップのコストは?

バックアップストレージのコストを計算する上で重要な項目は3つ。

  1. BackupRetentionPeriodStorageUsed(自動バックアップによって保存されるバックアップのサイズ)
  2. SnapshotStorageUsed(手動スナップショットで保存されるバックアップのサイズ)
  3. 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。

AuroraAWS
スポンサーリンク
シェアする
katsuyaをフォローする
Study Infra

コメント

タイトルとURLをコピーしました