kasei_sanのブログ

かせいさんのIT系のおぼえがきです。胡乱の方はnoteとtwitterへ

Amazon Auroraのバックアップ関係のおぼえがき

Aurora PostgreSQL前提です

定期バックアップ

  • クラスタボリュームをバックアップウィンドウで指定された時間に定期的にバックアップする
    • バックアップ先はS3。このS3は特殊なやつで、直接アクセスは不可能
    • バックアップウィンドウのデフォルトは、東京リージョンでは 13:00~21:00 UTC (CLIを使って変更可能
  • バックアップの保持期間は、1日〜35日分で設定可能
    • 保持期間を0日にはできない。代わりに1日分は無料
  • 復元時は、新しいクラスタとして復元する
    • なので、エンドポイントが変わってしまう
  • クラスタを削除すると、破棄されてしまう
  • バックアップは、前日との差分が記録される「増分バックアップ」
    • バックアップのサイズはボリュームではなく、1日の更新量に左右される
      • バックアップのサイズ = 最初の日のボリュームサイズ + 更新した量
    • ただし、1日のバックアップの最大料金は、ボリュームサイズまで
    • 増分バックアップの仕組みを利用した、ポイントインタイムリカバリ(PITR) により、バックアップの期間内であれば、任意の日時の状態に復元可能
    • おそらくトランザクションログを保存している様子
  • 料金は、毎月 USD 0.023/GB

スナップショット

  • 手動で取得するクラスタボリュームのスナップショット
  • バックアップと同じく、特殊なS3に保存される
  • バックアップと異なり、自動的には破棄されない & クラスタを終了しても破棄されない
  • サイズは、スナップショットを取得した時のボリュームサイズ
  • バックアップ保持期間の間はスナップショットは無料
    • バックアップ保持期間が7日であれば、7日間は無料
  • 料金は、毎月 USD 0.023/GB

バックアップとスナップショットに関わるCloudWatchメトリクスの値

  • VolumeBytesUsed : クラスタボリュームサイズ
  • SnapshotStorageUsed : スナップショットのストレージ使用量
  • BackupRetentionPeriodStorageUsed : バックアップのストレージ使用量
  • TotalBackupStorageBilled : バックアップとスナップショットの内、課金対象のボリューム使用量
    • バックアップやスナップショットが取られたときに計測されるが合計値ではないので、自前で「1日」「合計」にする必要がある

参考

docs.aws.amazon.com