Amazon Auroraのスナップショットはフルコピーになるため、別リージョンにバックアップを作成するときは注意しましょう
クラウド事業本部サービス開発室の佐藤です。
最近、AWS Backupを使ってAmazon Auroraのバックアップを別リージョンにコピーする際に、予想外のコスト増加がありました。バックアップにおけるAuroraとRDSの違いを理解していなかったのと、記事として言及されているものもなさそうだったので共有したいと思います。
まとめ
まずまとめです。
- Auroraの自動バックアップ(PITR)については増分で保存される
- AuroraのAWS Backup経由のバックアップはスナップショット扱いとなり、フルコピーとなる
- AWS Backupを経由して別リージョンにコピーする場合は、AuroraとRDSで仕様が異なるため、バックアップのコスト計算は注意が必要
- RDSとAuroraのドキュメントは厳密に別れているため、混同しないように注意しましょう
背景
AWS Backupを利用して、AuroraのバックアップをDR(Disaster Recovery)構成のために東京リージョンから別のリージョンにコピーしていました。マネジメントコンソール上では、同じ世代数、同じ容量でバックアップが取られているように見えていましたが、BackupUsageの料金を確認すると、東京リージョンの3倍以上の料金が発生していることがわかりました。
原因と結論
当初RDSのドキュメントを確認し以下の記述があったため、差分スナップショットとしてコピーされると思っていたんですが、別のリージョンのBackupUsageのみフルバックアップで計算されていそうということでAWSサポートに問い合わせてみました。
別の AWS リージョン にスナップショットをコピーする場合、次の条件に合致すればコピーは増分となります。スナップショットが以前、コピー先のリージョンにコピーされたことがある。最近のスナップショットコピーがコピー先のリージョンにまだ存在する。送信先リージョンのスナップショットのコピーがすべて、暗号化されていないか、あるいは同じ KMS キーを使って暗号化されていた。
サポートからの回答もあり、結論としてはRDSでは差分スナップショットをサポートしていますが、Auroraはサポートしていないということがわかりました。そのため、AWS Backup経由のバックアップはスナップショット扱いとなり、別リージョンには常にフルコピーが転送されていて、料金が3倍以上になっていたということがわかりました。実はRDSとAuroraのユーザーガイドは厳密に別れていて、今回の件ではAuroraのドキュメントを確認するべきでした。
Aurora は、差分スナップショットをサポートしていません。Aurora DB クラスタースナップショットのコピーは常にフルコピーとして保存されます。フルスナップショットコピーには、DB クラスターを復元するために必要なデータやメタデータすべてが含まれます。
Auroraの自動バックアップ(PITR:ポイントインタイムリカバリ)については、以下のドキュメントにある通り増分で保存されるため、自動バックアップとスナップショットバックアップを混同しないように注意しましょう。