Amazon EBSスナップショットは、変更されたブロックをベースラインからキャプチャするため、スナップショットは多くの場合、ソースボリュームよりもはるかに小さくなります。請求は実際のサイズに基づいて行われます。ただし、スナップショットの実際のサイズを確認する方法が見つかりません。 ec2-describe-snaphotsは、スナップショットが作成されたボリュームのサイズのみを提供します。
他に理由がない場合、請求を確認するためにこの情報が必要です。しかし、ボリュームを再構成して、ボリュームで何をするかによって、増分スナップショットのサイズを減らすことができるので、それも必要です。
Amazonは現在、アカウント内のすべてのスナップショットの合計使用量とコスト数以外の、スナップショットが使用するストレージについてレポートする方法を提供していません。
同じまたは関連するボリュームのスナップショットはストレージを共有できるため(スナップショット間でブロックが変更されていないため)、これにより、単一のスナップショットのサイズを定義することが困難になります。
新しいスナップショットは最後のスナップショット以降に変更されたブロックのみを保存しますが、変更されていない以前に保存されたブロックへのポインターを保持します。
単一のスナップショットを削除すると、他のスナップショットと共有されていないブロックのみが解放されます(削除するスナップショットの前または後のどちらで作成されたものでも)。
書き込まれていないEBSボリューム上のブロックは、スナップショットに含まれません。
スナップショットブロックはストレージの前に圧縮されるため、ストレージコストをさらに節約できます。
スナップショットのサイズを決定するために、この小さなスクリプトを書きました。現時点では、パラメーターを一切取りません。すべてのスナップショットを取得するだけです。
https://github.com/akirsman/Snapshots/blob/master/snapshotsSize.py