(2019/04/26) いただいたコメントに基づいて、わかりずらい表現を修正・補足しました。
AWS Glacier は、大容量データのアーカイブ先として大変重宝します。
2016年11月以前までは「ピーク復元レート」の考え方に基づき、短時間でのデータ取り出しにより高額請求されるリスクがありましたが、改訂後は大幅な値下げとなり、使いやすくなりました。詳細は、以下のサイトが大変わかりやすいです。
[Amazon Glacierで高額料金請求は「過去の話」になりました]
(https://digital-chiebukuro.com/aws/amazon-glacier-kaizen/)
「過去の話」ではなかった件
ある日のこと、Glacier の利用料がたった一日で、月額の 1/3 を占めることになりました。
あわてて明細をみると「Glacier:最小期間追加料金」の文字が。
そう、課金の前日、Glacier 上の不要なファイルを一括削除したのでした。
3ヶ月経過する前の、若いファイルも、なにもかも。
あわてて調べた結果、以下の Q&A が見つかりました。
[Q: 3 か月経過前にデータを削除した場合は、どのように請求されるのですか?]
(https://aws.amazon.com/jp/glacier/faqs/#How_am_I_charged_for_deleting_data_that_is_less_than_3_months_old)
Amazon S3 Glacier は、データを月単位や年単位で、あるいはそれ以上の長期にわたって保持するという用途のために設計されています。Amazon S3 Glacier からデータを無料で削除できるのは、削除されるアーカイブが 3 か月以上保管されていた場合です。アップロードされてから 3 か月未満でアーカイブを削除する場合は、早期削除料金をいただきます。米国東部 (バージニア北部) リージョンでは、3 か月未満で削除された場合の早期削除料金は 0.012 USD/GB を按分計算したものとなります。そのため 1 GB のデータをアップロードの 1 か月後に削除すると、早期削除料金の 0.008 USD が課金されます。1 GB のデータを 2 か月後に削除した場合は、早期削除料金は 0.004 USD となります。
「90日以前削除課金」という罠
Glacier は長期保管ニーズに応えるもの。そのため「最低保存期間=90日間」と定められています。
それより前に削除すると、「最低保存期間までの残日数」分の保管料金がその時点で課金されてしまいます。
今回の場合、とあるシステムのフルバックアップデータを日次で保管していました。
データサイズがほぼ同一のファイルが 90 日分。これらを一気に削除しました。課金額は以下の計算式で表現されます。
\sum_{d=1}^{90} m_{d} * \frac{(90 - d)}{90} * 0.012_{USD} \sim m * 0.012 * 90 / 2 = 0.54 m _{USD}
- m: 対象データのサイズ(GB)
- d: Glacier に保管してからの経過日数
- 0.012 USD : バージニア北部リージョンでの早期削除課金係数(保存初日の場合)
データサイズが 1TB とすると、1ドル 110 円換算で、約 60,000 円となります。
早期削除しても90日保管しても総額は変わらないのでは?
コメントで指摘いただいたとおり、90日放置しても総額は変わりません。一方、
「早期削除に伴い、本来 3 か月分割支払いのところ、ひと月にまとめて請求されてしまう」
という弊害が生じます。お仕事などで月額の予算上限がある方はご注意ください。
まとめ:Glacier は「取り出し行為」で課金されるという思い込み
削除する行為で課金されるとは夢にも思いませんでした。
リアルに破産するほどの額ではなかったのが不幸中の幸いですが
お仕事で確保していた予算を大幅に超えてしまい、偉い人への説明に難儀しました。
Glacier を利用する際は、張り切ってお掃除しないよう、ご注意ください。