Amazon S3 Glacier の特徴
はじめに
クラウドサービスが普及している今では、例えば AWS のサービスを利用することでたった数分でサーバを用意することができるようになりました。その中でもデータを取り扱う上で必ず必要になってくるのがストレージサービスです。今回は AWS から提供されているストレージサービスの内の一つ、Amazon S3 Glacier についてまとめます。
Amazon S3 Glacier とは
Amazon S3 Glacier は、安全性と耐久性に優れており、かつ最もコストの低い Amazon S3 クラウドストレージクラスです。最も厳格な規制要件にも対応できる包括的なセキュリティとコンプライアンスの機能と 99.999999999% の耐久性を実現するように設計された機能が提供されます。
主な特徴
Amazon S3 Glacier の主な特徴としては以下となります。
- データは「アーカイブ」に保存される
- 1つのアーカイブの最大サイズは 40 TB
- 保存可能なアーカイブ数とデータ量に制限なし
- 各アーカイブには作成時に一意のアーカイブIDが割り当てられ、作成後はアーカイブを更新できない
- アーカイブを保存するためのコンテナとして「ボールト」を使用
- ボールトはAWSアカウント一つにつき1000個まで使用可能
- Advanced Encryption Standard (AES) によりデフォルトで保管中のデータを暗号化
- データ転送では SSL による安全な転送をサポート
- データの最低保持期間は90日で、この期間内はデータの削除ができない
- S3と違って直接データをアップロード/取得という処理はできない
→S3ライフサイクル管理か、プログラム処理によるアップロード/ダウンロードが必要
基本的な使い方としては、S3のライフサイクルルールと連動させてS3データのアーカイブを自動化し、全体的なストレージコストを削減する、というように使用していきます。
データの取り出し機能
データの取り出しには、以下の3つのタイプを選択することができます。
タイプ | 説明 |
---|---|
迅速 | データに素早くアクセスできるように用意されたもので、アーカイブは大体1~5分以内に使用可能 |
標準 | デフォルトのタイプで、アーカイブは大体3~5時間で使用可能 |
大容量 | とにかく容量の多いデータの取り出しを低コストで行えるように用意されたもので、アーカイブは大体5~12時間で使用可能 |
アクセス管理
それぞれ用途に応じて方式を使い分けていきます。
- IAM ポリシー
IAM ユーザーやリソースに対して、サービスへのアクセス権を設定することができます。 - ボールドポリシー
ボールドに直接アクセスポリシーを定義することで、ボールドへのアクセス権を設定することができます。 - データ取り出しポリシー
データ取り出しに制限をかけることができます。これにより、想定外のデータ取り出しを行うことによるコストの増加を防ぐことができます。 - ボールドロックポリシー
ボールドにあるデータの変更を禁止することができます。 - 署名
認証保護のため、すべてのリクエストに署名が必要となります。
料金
Amazon S3 Glacier では、S3 のストレージと比較してデータの保存にかかる料金は非常に安価であるのが特徴です。一方、データの取り出しに関しては S3 より高めに設定してあるため、注意が必要です。
- ・容量あたりの料金
- ひと月あたり 0.005USD/GB
- ・データ取り出し料金
- 迅速:0.033USD/GB
標準:0.011USD/GB
大容量:0.00275USD/GB - ・データ取り出しリクエスト料金
- 迅速:11.00USD/リクエスト1000件
標準:0.0571USD/リクエスト1000件
大容量:0.0275USD/リクエスト1000件 - ・データ転送料金
- データ転送(イン)は無料、データ転送(アウト)は1GB/月まで無料
Glacier Deep Archive について
S3 Glacier の中で唯一異なるストレージタイプである Glacier Deep Archive について簡単に紹介します。
Glacier Deep Archive は、S3 と同じ耐久性(99.999999999%)を実現しており、基本的なデータモデルや管理はS3 Glacier と同じです。S3 Glacier と比較してさらに料金が安価(ひと月あたり 0.00099USD/GB)となっておりますが、S3 Glacier よりもさらにデータ取得に時間がかかる(標準取り出しで12時間以内、大容量取り出しで48時間以内)のが大きな特徴です。
Amazon S3 Glacier の作成手順
ここからはコンソールを利用した Amazon S3 Glacier のボールト作成手順についてまとめていきます。手順としてはとてもシンプルです。
- Glacier の管理コンソールを開きます
AWS の管理コンソールから「Glacier」と検索すれば”S3 Glacier”というものが出てくるので、それを選択します。 - [ボールトの作成]をクリックします
- リージョンに適切なものを選択した後、ボールド名を入力して次のステップへ進みます
ボールト名は1~255文字まで、アルファベット、数字、ハイフン、アンダーバー、ピリオドが使用できます。なお、選択した AWS リージョン内およびアカウント内で一意の名前である必要があります。 - イベント通知の設定を行います
S3 Glacier はデータの取り出しに数分~数時間はかかるため、処理が完了した際に通知をするよう設定することができます。通知を有効にするか無効にするか、有効にするのであればその通知を送信するSNSトピックは新規に作成するか既存のものを使用するか、の3つから選択します。 - イベント通知の詳細を設定します
イベント通知を有効にした際にはこのステップに進みます。ここでは通知を送信する SNS トピックと、通知をトリガーするジョブのタイプを設定を行います。トリガーするジョブのタイプには、アーカイブの取得ジョブの完了やボールトインベントリの取得ジョブの完了を選択できます。なお、ここでの設定は別途ボールト内で設定することは可能となります。 - 設定内容の確認を行います
これまで設定してきた内容の確認画面に移り、内容に問題が無いようであれば[送信]をクリックします。これでボールトの作成は完了です。
まとめ
今回は Amazon S3 Glacier についてまとめました。S3 Glacier の大きな特徴としては、S3 と同じ耐久性で料金が安価である点と、データ取得が迅速に行えない点になります。その為、S3 の汎用的なストレージタイプと同じようにとりあえず選んでみる、といったサービスではなく、ちゃんと性能や料金から使用する用途を考えて適切な形で利用する必要があるサービスとなります。ただし、うまく利用できれば大量のデータを低コストで保存することが可能になります。今回まとめた内容で少しでもコスト削減につながる情報があれば幸いです。