Glacier Deep Archiveにデータを保存すると、自動的にSTANDARDクラスもちょっとだけ使われて課金対象になる

August 13, 2019

はじめに

個人的なバックアップをS3 Glacier Deep Archiveに保存しています。
オハイオリージョンで300GBちょっと使用して$0.34/月と激安でそれはよいのですが、先月ふと請求明細を確認したら使用していないはずのSTANDARDクラスで$0.02ほど課金されていました。
何か間違えてやっちゃったかなと思ってスルーしたものの、やはり今月もいくらか課金対象になっている。
なんだろうと思って調べたところ豆知識を得られたので共有します。

事象の説明

こちらが先月の請求明細です。
このアカウントは基本的にDeep Archiveへのバックアップでしか使っていないのですが、赤で囲ったこれなんだ?というお題です。

補足として、不完全なマルチパートアップロードのクリーンアップ、および定期的なGlacier Deep Archive移行のライフサイクルルールをバケット全体に設定しています。ので、何か間違えても毎月STANDARDストレージが使われることはない想定でした。

原因

手がかりがないのでとりあえずマネジメントコンソールで該当バケットの画面をポチポチしていたところ、下記のメトリクスを発見しました。
DeepArchiveS3ObjectOverhead 初耳やで・・・。使用量的にも請求明細に記載の数字とほぼ合っています。

ドキュメントを確認したところ、以下の通りでした。
Amazon CloudWatch を使用したメトリクスのモニタリング - Amazon Simple Storage Service

DeepArchiveS3ObjectOverhead - DEEP_ARCHIVE にアーカイブされたオブジェクトごとに、Amazon S3 ではオブジェクトの名前とその他のメタデータに 8 KB のストレージが使用されます。
この追加ストレージに対しては、STANDARD (標準) 料金が課金されます。

GlacierS3ObjectOverhead もあるので、Glacierでも同じ仕組みのようですね。

おわりに

金額的には誤差の範囲とはいえ、毎月よく分からない明細を見るのもモヤッとするので分かってよかったです。
個人的な使い方としてiTunesのディレクトリや写真ライブラリをポイっと放り込んでいるのでファイル数が多くなってしまうのですが、可能な場合は極力tar等で固めてファイル数を減らすといいかもしれません。

@j_untanaka on Twitter

AWSs3Glacier Deep Archive