新しいS3ストレージクラスをJPCYBERから使ってみる(Glacier Instant Retrieval)

# はじめに
先週開催されたAWS re:Invent2021でS3に新しいストレージクラスが発表されました。

https://aws.amazon.com/jp/about-aws/whats-new/2021/11/amazon-s3-glacier-instant-retrieval-storage-class/

ストレージクラスとしては、元々存在していたGlacierクラスを更に使いやすくしたもので、発表に伴ってGlacierクラスが以下のように若干変わっています。

* S3 Glacier Flexible Retrieval(旧Glacier)
* S3 Glacier Instant Retrieval
* S3 Glacier Deep Archive

これまでのGlacierでは取り出しに数分、数時間かかっていましたが、発表されたS3 Glacier Instant Retrievalを利用することでミリ秒単位の取り出しが可能になりました。

11/30のアップデートで追加された新ストレージクラスですが、早くもその2日後にS3マウントツールであるJPCYBERから対応したというリリースが出ましたので、今回はその機能を試していきたいと思います。
※説明の都合上、S3上のオブジェクトでもフォルダ・ファイルと呼称します

https://www.jpcyber.com/release/20211202-version-7.1

JPCYBERって何ぞや？って人は[過去記事](https://qiita.com/handy-dd18/items/c962fa9ac8201429720c)をご覧ください。

# 準備
試すにあたってS3やJPCYBERを準備していきますが、せっかくなので他のGlacierも一緒に設定して比較してみることにします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/440403/70933ce0-764d-c284-a094-8fe0f54c809e.png)

JPCYBERは事前に最新バージョンをインストールしておきました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/440403/896b662a-55cb-ab56-a1e4-122e17a6be8f.png)

# 作業内容
## S3マウント
以下の手順でまずは「S3 Glacier Flexible Retrieval」の対象フォルダをマウントします。
尚、過去バージョンではS3バケット単位でのマウントしかサポートしていませんでしたが、現在はサブフォルダ単位でのマウントも対応されています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/440403/0d941084-fc30-9a9c-7be6-6787bd8af6ed.png)

同様の手順で「S3 Glacier Instant Retrieval」と「S3 Glacier Deep Archive」の対象フォルダもマウントします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/440403/4d5641f8-0dda-2518-eddb-05117ad7c016.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/440403/4f3787fb-78cf-4936-a057-5f141d23433a.png)

あとはマウントしたS3に対して、エクスプローラー経由でファイルをアップロードするだけです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/440403/fa970325-cef7-9eef-4e74-baa5aa18da31.png)

## ファイルアップロード
アップロード用のサンプルファイルは適当に作成して、デスクトップに配置しておきます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/440403/f45904ef-2689-f642-843a-17e305d65863.png)

全てのフォルダに作成したサンプルファイルを格納します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/440403/bbc9d071-427a-a0b2-e537-48a7966dedca.png)

## アップロードファイル確認
アップロードができたので、想定通りのストレージクラスでS3にアップロードされているかS3コンソールから確認してみます。

### S3 Glacier Flexible Retrieval
まずは「S3 Glacier Flexible Retrieval(旧Glacier)」からです。

コンソールから確認するとストレージクラスの項目に「Glacier Flexible Retrieval(旧Glacier)」と表示されていました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/440403/561913f5-9879-f320-dc3b-0627c206b77e.png)

こちらのクラスは旧Glacierと同様のものなので、当然ファイルの中身を確認するには復元が必要です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/440403/b2566d8b-7cfc-f4c7-acff-73570ab9dd5e.png)

復元には必要な時間に応じて数分～数時間までの復元方法の選択が可能です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/440403/36f37523-a54f-9aac-2a5f-dc127118ce5d.png)

### S3 Glacier Instant Retrieval
次に今回追加になったストレージクラスです。
コンソールから確認すると「Glacier Instant Retrieval」と表示されていることがわかります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/440403/b69eb8f8-eb22-44be-1412-fe74ea268223.png)

リリース情報にはミリ秒での取り出しが必要と記載があったので、てっきりGlacierと同じく復元操作が必要なものかと思っていましたが、確認してみると復元は必要ないようです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/440403/7f035424-ee30-f425-dc60-f97674e652cf.png)

ファイルを開くでブラウザからファイルの中身を確認することもできたので、このあたりの操作はS3 Standardとほぼ変わりませんでした。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/440403/37a03ded-359f-30a2-2d55-c0b2c75c3463.png)

S3 Standardと同じ操作で取り出しが可能なアーカイブ用ストレージクラスという位置づけになりそうですが、当然頻繁に取り出ししているとS3 Standardよりもリクエスト料金は高くなってしまうため、用途に合わせて最適なストレージクラスを選択する必要がありそうです。

ただ、JPCYBERやCloudBerryDrive等のマウントツールを普段から使っている人からすると、低頻度で利用されるファイルを復元操作なしでコスパ良く管理できるのはかなりのメリットだと思いました。

### S3 Glacier Deep Archive
最後に「S3 Glacier Deep Archive」です。

こちらも想定通り、アップロードしたファイルが「Glacier Deep Archive」のクラスになっていました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/440403/91a1dfd1-ab20-652d-7307-811c4d7ca75b.png)

このクラスも旧Glacierと同様にファイルの中身を見るには復元取り出しが必要になります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/440403/e199fd05-bad5-c0eb-6351-aa900b484849.png)

「Glacier Deep Archive」は「S3 Glacier Flexible Retrieval」よりも長期の保管を想定されているため、取り出しにも最低で12時間かかります。
その代わりコストはGlacierの中でも最低になるように設定されています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/440403/059c17ed-70d4-0b99-1256-7bd3f7b1360f.png)

## ファイルを開く
最後にアップロードしたファイルをエクスプローラーから開けるか確認してみます。

### S3 Glacier Flexible Retrieval
失敗しました。復元していないので当然ですね。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/440403/3d050b08-4dee-0861-960b-e32ece5acdfd.png)

### S3 Glacier Instant Retrieval
成功しました。S3 Standardと同じように利用可能なはずなので想定通りです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/440403/f3e37539-deb3-89e3-d6de-5a712807ae65.png)

### S3 Glacier Deep Archive
失敗しました。これも復元が必要なので想定通りの結果でした。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/440403/99c1d457-362f-888c-b630-7b1a7c785e9e.png)

# おわりに
JPCYBERのこの機能を利用すると何がよいかと言うと、簡単に「Glacier Instant Retrieval」クラスとして直接アップロードできる、ということがあげられます。

S3コンソールやCLI等でもストレージクラス指定で直アップロードすること自体は可能ですが、GUIで複数のデータをまとめてアップロードするのであればこちらの方が早くて手軽です。

興味のある方は是非使用してみてはいかがでしょうか。