スナップショット 増分バックアップ 料金を計算してみた
こんにちは、システム統括課インフラチームブログ担当です。
突然ですが、皆さんはサーバのバックアップを取っていますか?
弊社ではAWSのEC2インスタンスを多数運用しており、それぞれ Data Lifecycle Manager を用いて日次でスナップショットを取得しています。
また、一定のサイクルでスナップショットをローテーションすることにより、バックアップが延々と溜まり続けて不要な料金が発生しないように気を付けています。
AWSのスナップショットは増分バックアップとなっており、利用料金の計算方法が少し複雑になっています。
先日とあるサーバのスナップショット料金が著しく増加していたという問題が発覚し、改めて料金の計算方法を調査する機会があったので、備忘録として今回記事にさせていただきます。
計算方法
「初回フルスナップショットと増分にだけ料金が発生する」
こちらが料金計算の肝となってきます。
以下に料金の試算例を記載します。
【条件】
- EBSボリュームのサイズ:100GiB
- ボリューム内の実際のデータサイズ:10GiB
- 保管するスナップショット数:30個
- スナップショット毎の増分サイズ:1GiB
この条件で1日1回、日次でスナップショットを取得した場合、
1日目:10 GiB (初回フルスナップショット)
2日目:10 GiB + 1 GiB(増分スナップショット)
3日目:10 GiB + 1 GiB * 2 (増分スナップショット)
・・・
と保持容量が増加していき、
30 日目に10 GiB + 1 GiB * 29
つまり、39 GiBとなります。※下図参照
以上より、合算した月の総容量 (735 GiB) から 月の平均容量を概算すると、735 GiB / 30日 = 24.5 GiB となり、この平均容量にスナップショットの単価を乗算することで以下のように月の利用料金を試算することができます。
24.5 GiB * 0.05USD = 1.225USD
注意点
Amazon EBS では空のブロックが保存されないため、スナップショットのサイズはボリュームサイズよりもかなり少なくなるはずです。
ボリュームの最初のスナップショットについては、データ全体のコピーが Amazon S3 に保存されます。増分スナップショットごとに、Amazon EBS ボリュームの変更部分のみが保存されます。
引用:https://aws.amazon.com/jp/ebs/pricing/
公式ドキュメントにも上記の記載があるとおり、スナップショットサイズは実際のボリュームサイズとは一致しない場合があります。記載の計算結果はあくまでも概算値となりますことをご了承ください。
参考資料
Amazon EBS の料金
https://aws.amazon.com/jp/ebs/pricing/
Amazon EBS スナップショット
https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/EBSSnapshots.html
あとがき
増分バックアップの仕組みを理解することにより、増分や差分が発生するサーバにおいても、ある程度精度の高い料金の試算ができるようになるかと思います。
それでは、よいAWSライフを!