【OCI】Archive Strorageを利用してファイルをアップロード、ダウンロードしてみた

###はじめに
今回はOracle Cloud Infrastructure(以下OCI)のストレージサービスの1つであるArchive Storageを紹介します。
Archive Storageは大容量のデータを高耐久・低価格で保存できるとても使いやすいサービスでAWSでいうと
S3 Glacierに該当するものです。

想定される利用シーンですが、例えば法令で長期保存が義務付けられているデータやシステムログ、
またはメールデータの保存等が考えられます。
特別な理由がない限り滅多に取り出さない、保存することがメインの目的の場合に使うといいですね。

###Archive Storage利用のための事前知識
とても安く安全なストレージサービスですが、ほかのストレージサービスにはない
制約や利用ルールがあるので事前に把握しておきましょう。

①【最小保持期間がある】
Archive Storageには90日間という最小保持期間が設けられています。
最小保持期間が経過する前に保存されているデータを削除すると、削除のペナルティが課されます。
削除のペナルティは、データを90日間保存するためのコストを比例配分したものです。

②【保存されたデータを即座に取り出せない】
Archive Storageからデータ(object)をダウンロードするには、先にデータをリストアする必要があります。
またリストアにはAchive Storage Restore Requestを実施してからデータの最初のバイトが取得されるまでに
最大で約1時間かかり、リストア全体の所要時間はデータサイズによって異なります。

③【その他】
・データ(object)がリストアされると、データをダウンロード可能な時間が設定されます。
デフォルト状態でのダウンロード可能時間は24時間ですが、1時間から240時間の間で設定を
変えることもできます。割り当てられた時間が過ぎるとデータはArchive Storageに戻ります。
・リストアされたデータはダウンロード可能時間が過ぎてArchive Storageに戻るまでの間は
Object Storageに保存されている状態になります。そのためその間の請求はArchive Storageではなく
Object Storageの利用料金が請求されることになります。

###Archive Storageを利用してみる

①【Archive Storageを作成する】
ダッシュボードから「オブジェクト・ストレージ」を選択
![archive-0_1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/411653/53da2771-724e-2a94-462c-13522314f6fb.png)
「バケットの作成」をクリック
![archive-1_1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/411653/3ef8c460-5a77-77e8-27aa-7ce9e1a1a713.png)
「バケット名」を入力、ストレージ層は「アーカイブ」を選択を選択して「作成」をクリック
![archive-2_1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/411653/6cca04de-48dc-f951-fbff-0539bdb467e9.png)
バケット作成終了です
![archive-3_1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/411653/f412ac6e-a9b0-eb0b-5a0c-2c02afbc1a68.png)

②【データをアップロードしてみる】
バケット名をクリック
![archive-3_2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/411653/a92316d9-9478-6f26-da47-186c8c6d95fd.png)
バケットの詳細画面で「アップロード」をクリック
![archive-4_1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/411653/0461f486-d901-07e2-64c2-98508f32b149.png)
「ファイルを選択」をクリックするとファイルエクスプローラーが開くのでアップロードするファイルを選択
![archive-5_1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/411653/e495eda6-53bd-e9e5-eb3b-c31625ec97ad.png)
ファイルの選択が終わると選択したファイル名と容量等が表示されます。
「アップロード」をクリックするとアップロードを開始します。
今回のテストでは6種類(mov,pdf,png,pptx,txt,xlsx)のサンプルファイルを用意しました。
![archive-6_1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/411653/35c5b45e-8a54-88f9-986b-7992ee2595b2.png)
アップロードが終わると「終了済」と表示されます。
![archive-7_1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/411653/172f7235-2326-5a99-2efd-7a34f401357c.png)
アップロードしたファイルがオブジェクトとして表示されます。ステータスが「アーカイブ済」になっていれば
大丈夫です。
これでアップロードは終了です。
ちなみにアップロードにかかる時間は計測したわけではありませんがGoogle DriveやBOXのような
他社ファイル共有サービスを使う場合とほとんど変わらない印象でした。
![archive-8_1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/411653/72301e08-c2aa-304d-7dd9-5870e383d50d.png)

③【データをダウンロードしてみる】
まず各ファイル名の右にある縦三点リーダーをクリックすると操作項目が表示されますが
ダウンロードがグレーアウト表示になっていて操作できないことがわかります。
そうです、まだアーカイブされている状態なので先に「リストア」する必要がありますね。
![archive-9_1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/411653/611a512c-97ae-de42-0338-2d312fefc28c.png)
リストアするファイル名の左にあるチェックボックスにチェックした後「他のアクション」で
「リストア」を選択します。
![archive-12_1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/411653/8de3e308-6da4-1ca3-6618-d2e422c40537.png)
別の窓が開きますので、ダウンロード可能な時間を変更したい場合は1時間～240時間の範囲で入力し
「オブジェクトのリストア」をクリック(入力がない場合はデフォルトの24時間に設定されます)
![archive-13_1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/411653/9503188e-fde7-cbef-6a66-18f01c6f4a1d.png)
リストアを開始します。
最初のバイトが取得されるまでに最大で約1時間、またデータサイズによってさらに時間がかかる
とのことなのでリストア完了までゆっくり待ちます。
![archive-15_1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/411653/6998d877-b63d-aa8c-1ffd-c0de12858fc0.png)
リストアが終わるとステータスが「リストア済」に変わります。
今回はリストア開始から1時間後に確認したら全てのファイルが「リストア済」になっていました。
![archive-16_1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/411653/c04ccdeb-50e5-f21f-4be8-0542c8d12167.png)
「ダウンロード」が選択できるようになりました。
試しにサンプルファイルの中で最も容量の大きい動画ファイル(mov)をダウンロードしてみます。
「ダウンロード」をクリック
![archive-17_1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/411653/be40d47b-f59b-94ec-9ef0-ae2cefc06796.png)
ダウンロードの進捗が表示されます。
ダウンロードが完了するとファイルををどのように処理するか(プログラムで開く or ファイルを保存する)を
聞かれるので希望する処理を選択します。
これでダウンロードは完了です。

ご参考にダウンロードを試した動画ファイルの容量は384.98MiBで、
ダウンロード完了まで約57.65sかかりました。
転送速度に直すと7.08MB/s(56.66Mbps)程度になりますね。

またテスト環境ですが、ストレージはOCIの東京リージョンに作成しており
ダウンロードを試したのは東京23区内にある自宅からでした(インターネット回線はNURO光を使用)。
![archive-19_1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/411653/4ab60d50-e80d-5fff-acba-6fd4a4205fc8.png)

###おわりに
いかがだったでしょうか。
今回はバケットの作成、アップロードとダウンロードを全てWebコンソール上で実施してみましたが
直感的に使えてマニュアルなしでも簡単に使うことができました。
ダウンロード前のリストアに少々時間がかかりますが、ダウンロードするタイミングが事前にわかっていれば
手間と思うほどの操作ではないと思います。

ほとんど使わない大容量のデータを保存するために高価なストレージを購入、運用するのはとてもコストが
もったいないと思います。
アーカイブ用のテープストレージもありますが、保管場所の確保やリストア時の手間と時間を考えると
全体の運用コストは決して安くないはずです。
そういう時にOCIのArchive Storageは有効な選択肢の1つになると思います。

###参考資料
(Oracle Cloud Infrastructure Archive Storage)
https://www.oracle.com/jp/cloud/storage/archive-storage.html
(アーカイブ・ストレージの概要)
https://docs.oracle.com/ja-jp/iaas/Content/Archive/Concepts/archivestorageoverview.htm#Overview_of_Archive_Storage
(Archive Storageに関するよくある質問)
https://www.oracle.com/jp/cloud/storage/archive-storage-faq.html
(Oracle Storage Cloud Pricing)
https://www.oracle.com/jp/cloud/storage/pricing.html