KuriKumaChan’s diary

Kuri ちゃんと Kuma ちゃんの飼い主の独り言

QNAP と クラウドバックアップ (3) - 新しい "S3 Glacier Deep Archive " を試す(雑な整理編)

前回まで 2回にわたって 2016年からバックアップを行なってきた AWS の Glacier というストレージサービスに関して(今更ですが)リストア実施やそのコストの確認を行なってきましたが、ちらっとご紹介したように 2019年から AWS は Glacier の機能拡張を行うとともに位置付けも新たにした "Amazon S3 Glacier" と "S3 Glacier Deep Archive" の提供を開始していました。
またそれとは別のお話ですが、私が昨年 NAS を TS-453Be に交換したのちにクラウドバックアップが正しく取れていなかったこともわかったので、もともとの Glacier より安い "S3 Glacier Deep Archive" というものを勉強してこれに NAS のバックアップをとりなおそう、というのが今回のお話です。

blog0.kurikumachan.com

blog0.kurikumachan.com

【前提のお話】アマゾンと Amazon と Amazon Web Service (AWS)

クラウドバックアップのご紹介で "AWS" についてたびたび触れていますが、あまり馴染みのない方のために補足しておいたほう良いかと思いましたので、少し AWS とそのサービスをちらっとご紹介しておこうと思います。特に役立つことはないと思いますが、知っていて損はないことを書いておこうと思います。

AWS は本家 Amazon.com の一事業

まず普段われわれが日頃お世話になっているネットショッピングのアマゾンは US の Amazon 社 (Amazon.com, Inc.)の子会社です。会社名自体に ”.com" が入っているところから全て商品サービスがネットで提供されていることが分かりますよね。この Amazon.com はネットショッピングだけではなく、各種コンピュータサービスも提供しています。それが AWS (Amazon Web Service) 事業です。ですので、AWS (Amazon Web Service, アマゾン ウェブ サービス)、 Amazon、Amazon.co.jp および Amazon.co.jp ロゴは、Amazon.com, Inc.またはその関連会社の商標です。

ちなみに Amazon.com の決算発表 (2020 Q4) を見ると、売上のページ (TTM; Trailing 12 months) に全体に占める AWS の割合などが掲載されています。2020年の第4四半期では全体の売り上げの中で 12%を占めているようです。

f:id:KuriKumaChan:20210427134742p:plain
四半期ごとの売り上げ推移で、Amazon 全体の中で Webサービス事業 (AWS) は 12% を占めています。ちなみに日本の物販事業は international に含まれています。

クラウドコンピューティング

私たちがスマホアプリなど多くのネットを使ったサービスを利用していますが、昔だったらサーバーとなるコンピュータやデータを格納するハードディスク装置といったものを自社で購入して運用するのが当たり前だったのですが、そういったハードウェアを自分で購入しなくてもネットを通じて使えるようにするのがクラウドコンピューティングで、AWS はその先駆けであり現在も最先端をリードしている会社です。スマホアプリの多くのものが AWS の各種サービスを使っていますので、私たちも知らず知らずのうちに AWS にお世話になっているはずです。

AWS も Amazon.com のアカウントで

少し話は変わりますが、ネットショッピングの本家 US アマゾン (Amazon.com) も AWS も同じアカウントが使われます。別の言い方をすると、AWS を利用するには、日本で普通に我々が使っている Amazon.co.jp のアカウントではなく、Amazon.com のアカウントを作成しておく必要があります。もちろんこのアカウントで AWS だけではなく US アマゾンのネットショッピングも利用可能です。最近は日本への配送もしてくれる商品も増えている印象ですので、AWS 利用だけではなく US アマゾンのネットショッピングのためにも Amazon.com のアカウントを作っておくと便利だと思います。

もともと Glacier とはどんなサービスだったのか?

昔の話はあまり役立つものではないのですが、経緯も少し分かったほうが良いと思いますのでチラッとだけお話ししておきます。
AWS ではクラウドコンピューティングでのストレージサービスとして、初期段階から S3 と呼ばれるサービスを提供しています。これはパソコンなどの一般のコンピュータの HDD(正確にはファイルシステム)に相当するもので、オブジェクトストレージという形態で提供されています。クラウドで動くサーバーも実際には HDD を使用していますが、クラウドで動くアプリには物理的なデバイスを直接意識しなくても良いようになっており、HDD の容量とか故障とかを意識せず(ファイルシステムを意識せず)、バケットという器にデータをオブジェクトとして操作する仕組みを S3 で提供しています(詳細は割愛しますが、興味のある方はネットや書籍で勉強されると良いかと思います)。
S3 ではバケットを用途に応じていくつかの「ストレージクラス」として分類しています。例えば高速レスポンスの「汎用」に比べて「低頻度アクセス」はレスポンスでは劣るもののコストは安いなど。
そのうちそういった S3 のストレージクラスに比べても大容量だけれども滅多にアクセスしない長期保存を目的として、データ保存用の Glacier が後から登場しました。当時 Glacier は(私の認識では)S3 とは別のサービスとしてインターフェースも独自の API で提供されていました。保存したデータの内容を覗いてみるインターフェースもなく、バックアップとリストアに徹した物だったと理解しています。ただし、私のような一般の NAS ユーザーがそのバックアップに使うにあたっては自分で API を意識する必要はなく、QNAP などの NAS メーカーが Glacier にデータをバックアップしたりリストアするアプリを提供してくれているので、それを使えば良いようにはなっていました。

新しくなった Amazon S3 Glacier、Amazon S3 Glacier Deep Archive とは?

私の勉強不足ではありますが、とりあえず QNAP のバックアップさえ安価に長期保存できれば良いという一般ユーザーの視点で雑なまとめを書き散らかしますが、詳細をチェックしたい方は AWS の記事をご紹介しておきますので参考にしてください。また実際に S3 Glacier Deep Archive をテストした記事もいくつかありましたのでこれも下の方にリンクを載せておきます。

Amazon S3 Glacierのよくある質問

aws.amazon.com

新しい Amazon S3 ストレージクラス – Glacier Deep Archive

aws.amazon.com

NAS ユーザーにとっての S3 Glacier と S3 Glacier Deep Archive を私の雑な整理でまとめてみると、おおよそ以下のことがわかっていれば良いと思います。

  1. S3 の新しいストレージクラスとして S3 Glacier と S3 Glacier Deep Archive ができた

  2. さらに安くなった!(一番大切!)

  3. Glacier が S3 の一員になった ➡️ 使い勝手が以前とは変わるかも

S3 の新しいストレージクラスとして S3 Glacier と S3 Glacier Deep Archive ができた

上記の AWS の記事などはこの新しい二つのストレージクラスについて説明されています。 でも今ひとつはっきりしないことは既存の Glacier はどう位置付けられるの?ということです。既存の Glacier は S3 Glacier となったのか? 既存の Glacier はそのまま存続し新たに二つの S3 ストレージクラスができたのか?
どうやら後者の方ではないかと思います。

さらに安くなった!

上記の続きでもありますが、AWS が宣伝している「1 テラバイトあたり月額 1 USD から利用できる」は S3 の新しいストレージクラスのうち "S3 Glacier Deep Archive " に言及しているようです。実際に料金体系は "Amazon S3 Glacier 料金 (Glacier API のみ)" と "Amazon S3 の料金" の二つの体系があり、「「1 テラバイトあたり月額 1 USD から」は後者の "S3 Glacier Deep Archive" でさらに「米国東部(オハイオ)」リージョンを利用した場合の "0.00099USD/GB" を示していると考えられます。ちなみに同じ "S3 Glacier Deep Archive" でも「米国西部(北カリフォルニア)」や「アジアパシフィック(東京)」では "0.002USD/GB" となっています。Glacier API の場合ではアジアパシフィック(東京)」では "0.005USD/GB" となっていますので、同じ東京リージョンを使うのであればすぐさま "S3 Glacier Deep Archive" にいうした方がお得なようです。 (as of 2021/04/30)

0.00099USD/GB (S3 API/オハイオ) < 0.002USD/GB (S3/API/北カリフォルニア、東京) < 0.005USD/GB (Glacier API/東京)

料金 - Amazon S3 Glacier | AWS

f:id:KuriKumaChan:20210430160845p:plain
Glacier API の料金表

料金 - Amazon S3 |AWS

f:id:KuriKumaChan:20210430160659p:plain
S3 Glacier および S3 Glacier Deep Archive の Amazon S3 ストレージクラス料金表

「安くなった」というお話の中心は上記の通りですが、補足しますと上記の料金は

  • ストレージ

    S3 バケットにオブジェクトを保存するための料金

という部分にかかるコストで、他にもコストはかかります。さらに複雑なのですが、保存しているデータを取り出すにもコストが発生します。

  • リクエストとデータ取り出し

    S3 バケットとオブジェクトに対して行われたリクエストに対してお支払いいただきます。

のちのテスト際にも見直そうと思いますが、S3 Glacier 、S3 Glacier Deep Archive それぞれにもいくつかのオプションがあってコストは変わるようです。

*  S3 Glacier : 迅速, 標準,大容量

*  S3 Glacier Deep Archive  : 標準, 大容量
  • データ転送

    Amazon S3 に出入りするすべての帯域幅に対してお支払いいただきます。

これは取り出したデータをインターネットを通じてダウンロード(リストア)するのに必要になります。

Glacier が S3 の一員になった ➡️ 使い勝手が以前とは変わるかも

一旦コストの話から離れて、S3 の新しい二つのストレージクラスとなった Glacier は何か使い勝手が変わるのでしょうか。
はっきり分かっているのは、今までの Glacier API に加えて S3 インターフェイスが新たに使えるようになった、ということですが、それは同じ保存データに対してどちらのインターフェースでも使えるということではなく、既存の Glacier API でバックアップされたものは Glacier API でしかリストアできず、逆に新しいストレージクラスは S3 API からしかバックアップ/リストアできないのだと考えられます。
では上記の料金体系を踏まえて、既存の Glacier API で作成したバックアップは削除して、S3 ストレージクラスの Glacier でバックアップし直すことを考えると何か良いことがあるのでしょうか?
これは実際にテストしてみなければ分かりませんが、QNAP のバックアップアプリの HBS3 での取り扱いは何か変わるでしょうし(S3 Deep Archive のストレージクラスを明示的に指定できなければ困る)、S3 のファミリー入りしたのであれば既存 Glacier にはできなかった保存データの中身(ファイル名など)をブラウザ経由でチェックすることもできると考えられます。これはちょっとしたことですが、今まで vault と呼ばれる器の名称とその説明書きでしか内容を判断できなかったものが直接どのようなファイルがバックアップされているか確認できるということはバックアップの確認もしやすくなるのではないかと期待できます。
他にもパソコン上のデータでも直接ブラウザから S3 にアップロード(バックアップ)することもできるという記事も見かけますので、NAS 経由ではなくパソコン上のデータのバックアップにも用途が広がりそうです。

note.com

qiita.com

dev.classmethod.jp


ということで、今まで Glacier にバックアップしてあったものをそのまま置いておくよりも S3 のストレージクラスとなった Glacier を用いた方が長期的にはコストが安くなるのは間違い無いでしょう。私の場合たまたま現在の TS-453Be のディレクトリ構造と異なるバックアップが Glacier に残っているので、TS-453Be から S3 Deep Archive のストレージクラスに新規にバックアップをとって古い Glacier のバックアップは削除しようと思います。