【AWS】Amazon S3 ~ S3 Glacier / S3 Glacier Deep Archive ~

■ はじめに

https://dk521123.hatenablog.com/entry/2017/03/06/212734
https://dk521123.hatenablog.com/entry/2020/07/22/195336

の続き。

 S3 のコスト削減のために、
S3 Glacier / S3 Glacier Deep Archive の導入を考えているが
調べてみると結構思った通りにコスト削減できない場合も
あるらしいので、メモ

目次

【1】S3 Glacier / S3 Glacier Deep Archive
【2】用語整理
【3】取り出しオプション
 1)時間 
 2)料金
【4】使用上の注意:トラブルケース
 Case1)デメリット「a)最低保存期間がある」について
 Case2)アップロードに失敗したらS3に残骸が残る
 補足)データ取り出しに掛かるコストについて
【5】切り替えについて

【1】S3 Glacier / S3 Glacier Deep Archive

* 低コストの Amazon S3 クラウドストレージクラス
* Glacier(グレイシア) = 氷河
 => ファイルを長期間凍結保存するためのサービス?

動画

* 以下の公式からの短い動画(3分ほど)でざっくり把握するのもありかと。

https://www.youtube.com/watch?v=J-HdLB5BJSA&feature=youtu.be

比較表 (リージョン:オレゴン

項目 S3標準 Glacier Deep Archive メモ
料金(USD/TB) $21.00 $4.00 $0.99 1/5~1/20以上の削減!?
最低保存期間 なし 90 日間 180 日間 【3】-1)も参照
データ取出し 即時 1分~12 時間以内 12 ~48時間以内 詳細は【2】
データ堅牢性 99.99...% S3標準と同じ S3標準と同じ 全てイレブンナイン

メリット

* 格安

デメリット(っというより制限)

a)最低保存期間がある
b)データの取出しに時間がかかる

用途

* 長期バックアップ

【2】用語整理

ボールト (Vault)
https://aws.amazon.com/jp/glacier/faqs/?nc=sn&loc=6

* アーカイブを グループ化できる
* cf Vault(ボルト) = 地下貯蔵室, 金庫室, 貴重品保管室

【3】取り出しオプション

https://docs.aws.amazon.com/ja_jp/AmazonS3/latest/user-guide/restore-archived-objects.html

* 待ち時間に応じて、以下の3通りの取り出し方法がある
 => 上に行くほど取り出す待ち時間は短いが、費用高
 => 時間に余裕がある場合(例:取り出すのに明日でもいい)、「バルク」でいい
~~~~~~
a)高速 - Expedited 
b)標準 - Standard 
c)バルク - Bulk
~~~~~~
cf. Expedite(エクスペダイトゥ) = ~を促進させる, ~を迅速に[効率よく]処理する

1)時間

取り出しにかかる時間・比較表 (リージョン:オレゴン
https://docs.aws.amazon.com/ja_jp/AmazonS3/latest/dev/restoring-objects.html

種別 Glacier Deep Archive
a)Expedited 通常 1〜5 分以内 なし
b)Standard 通常 3〜5 時間以内 12 時間以内
c)Bulk 通常 5〜12 時間以内 48 時間以内

2)料金

* 「【3】 - 2)データ取り出しに掛かるコスト」を参照
* GB あたりの取り出し料金以外にも、「データ取り出しリクエスト」などが掛かる
 => 以下の公式サイトを参照。

https://aws.amazon.com/jp/s3/pricing/

GB あたりの取り出し料金・比較表 (リージョン:オレゴン

種別 Glacier Deep Archive
a)Expedited (USD/GB) $0.03 なし
b)Standard (USD/GB) $0.01 0.02USD
c)Bulk (USD/GB) $0.0025 0.0025USD

【4】使用上の注意:トラブルケース

Case1)デメリット「a)最低保存期間がある」について
Case2)アップロードに失敗したらS3に残骸が残る
補足)データ取り出しに掛かるコストについて

Case1)デメリット「a)最低保存期間がある」について **

https://qiita.com/daktu32/items/2dbab869dca6a3603e5d

のように、S3 Glacierで90日未満でファイル削除した場合、
90日一気に料金を請求される。

早期削除に関しては、以下の公式サイトのQ&Aを参照のこと

https://aws.amazon.com/jp/glacier/faqs/#How_am_I_charged_for_deleting_data_that_is_less_than_3_months_old
教訓

* 削除するようなファイルには指定しない
 => 究極のコスト削減は利用しないことなので
 => 格納されたら指定するのではなくある程度、
  猶予期間を設けてもいいのかも。

Case2)アップロードに失敗したらS3に残骸が残る

https://qiita.com/damacchi/items/797ef13fd88c49ba7bb7

にあるアップロードに失敗したらS3に残骸が残り
その分もコストとして換算されてしまう。

 これは、標準S3でも同様の話だと思うが、
大きいデータをアップロードした場合、
結構、途中でセッションが切れたりして
アップロードに失敗するので注意したい。

https://docs.aws.amazon.com/ja_jp/AmazonS3/latest/dev/mpuoverview.html#mpu-stop-incomplete-mpu-lifecycle-config

より抜粋
~~~~~~~
マルチパートアップロードの完了リクエストが正常に送信されなかった場合、
Amazon S3 はパートを組み立てず、オブジェクトを作成しません。
 したがって、パートは Amazon S3 に残るため、
Amazon S3 に保存されたパートに対して支払いが発生します。

ベストプラクティスとして、ストレージコストを最小限に抑えるため、
ライフサイクルルールを設定することをお勧めします
~~~~~~~

教訓

* ライフサイクルルールを設定する

補足)データ取り出しに掛かるコストについて

http://blog.hde.co.jp/entry/2015/01/30/154101

のようにデータ取り出しにとんでもない金額を請求されるのは
過去の事例で、現在は利用しやすいサービスに改善されているもよう。

https://digital-chiebukuro.com/aws/amazon-glacier-kaizen/

教訓

* とはいえ、公式サイトのQ&Aにある「データ取り出しポリシー」
 を設定しておいたほうがいい

https://aws.amazon.com/jp/glacier/faqs/?nc=sn&loc=6

【5】切り替えについて

[1] ファイルまたはフォルダを選択
[2] [Actions]-[Change storage class]を選択
[3] 「S3 Glacier」or「S3 Glacier Deep Archive」を選択
 => 簡単!だけで、大きいファイルだと結構時間が掛かる。

参考文献

公式サイト
https://aws.amazon.com/jp/glacier/features/
https://aws.amazon.com/jp/glacier/faqs/
https://aws.amazon.com/jp/glacier/

関連記事

Amazon S3 ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2017/03/06/212734
AWS のコスト節約を考える ~ S3編 ~
https://dk521123.hatenablog.com/entry/2020/07/22/195336