AMIバックアップ(EBSスナップショット)の料金

こんにちは、hacknoteのohnoです。

自分はEC2インスタンスのバックアップにAMIを取得しているのですが、その際の料金に関して疑問に思ったので、調べてまとめてみました。

はじめに

スナップショットからEBSを作成してインスタンスにガシャコンつけるのが面倒なので、AMIごとバックアップ取りたい人は多いはず。

AMI自体に料金はかかりませんので、正確にはスナップショットの料金計算になります。

EBS AMIの維持費

今回は料金に関して注意しなければならない点を考慮したうえで、例として100GBの3世代のAMIバックアップを取った場合、月額料金がいくらになるのかを計算します。

料金計算の注意点

いくつかEBSのスナップショットに関して料金に特殊なことがあります。

まず、AMIに関して、実際に取得する場合のスナップショットの料金は実使用領域を圧縮した分のみとなりますので、実際にはEBSで指定したサイズよりもかなり少なくなります。

Amazon EBS の価格

スナップショットストレージの基盤になるのは、データを Amazon S3 で保存するのに使用された領域の大きさです。Amazon EBS では空のブロックが保存されないため、スナップショットのサイズはボリュームサイズよりもかなり少なくなるはずです。ボリュームの最初のスナップショットについては、データ全体のコピーが Amazon S3 に保存されます。増分スナップショットごとに、Amazon EBS ボリュームの変更部分のみが保存されます。

また、計算がさらに面倒ですが、スナップショットを世代ごとに取得した場合には差分のみの転送になるので料金は更に抑えられていると思われます。

Amazon EBS スナップショットの利用料金はどのように計算されていますか?

Amazon EBS スナップショットは段階的に保存されます。新しいスナップショットを作成するときは、最後のスナップショットが保存された後で変更されたブロックだけを保存するため、料金は変更されたブロックの分だけのご請求となります。 たとえば、100 GB のデータを保存するボリュームがあるが、最後のスナップショット以降に 5 GB しか変更していないとします。この場合、5 GB の追加スナップショットストレージのみについて請求されます。

実際どの量保管されているかは確認手段が無いわけではないのですが、めんどくさいです。

実サイズの確認方法

上記をふまえて計算してみましょう。

料金計算

前述のことから、料金は固定でいくらーというわけではなく、使用領域と変更分で価格が変わることがわかると思います。

100GBの3世代のAMIバックアップを取った場合ですが、まずはMAXの料金を考えてみます。

100GB × 3世代 × 0.05$ = 15$

約1600円ですが、これは3世代で100GBすべて変更があった場合のみですので、現実的に天井はもう少し下になります。

次は、100GBが毎日10GBの変更があった場合の料金はいくらになるかを計算してみます。

100GB × 0.05$ + 10GB × 3世代 × 0.05$ = 6.5$

100GBフルで使っていて、かつ圧縮率が低い場合の計算ですが、6.5$程度です。

snapshot取得・復元ロジックを整理し、課金も正しく理解する

まとめ

計算は面倒ですが、EBSの容量から料金を単純に計算してしまうと「高くね!?」と驚いてしまうかと思います。

実際には圧縮&差分の金額になるので、結構お手軽にすむので、高いからやーめたと考える前に試算してみてはどうでしょうか。