はじめに
Amazon S3 Glacier ストレージクラスは、データアーカイブ専用に設計されており、クラウドで最高のパフォーマンス、最高の検索の柔軟性、最低のコストのアーカイブストレージを提供します。 コストを抑えつつ、さまざまな取り出しニーズに対応するために、これらのストレージクラスは、ミリ秒から数時間までの柔軟な取り出しオプションをサポートしています。 このチュートリアルの目的は、Amazon S3 Glacier ストレージクラスにアーカイブデータセットを保存し始めることがいかに簡単であるかを紹介することです。
さまざまなアクセスパターンやストレージ期間に最適化された 3 種類のアーカイブストレージクラスから選択できます。すぐにアクセスする必要のあるアーカイブデータであれば、ミリ秒レベルの取り出し時間で最低コストのストレージを提供するアーカイブストレージクラスである Amazon S3 Glacier Instant Retrieval ストレージクラスを選択できます。すぐにアクセスする必要はないものの、大量のデータを無料で取得できる柔軟性が必要なアーカイブデータであれば、Amazon S3 Glacier Flexible Retrieval (以前の S3 Glacier) を選択すれば、数分での検索、または 5〜12 時間での無料での一括検索が可能です。長寿命のアーカイブストレージをさらに節約するには、Amazon S3 Glacier Deep Archive を選択します。これは、12 時間以内にデータを取り出しできる、クラウドで最も低コストのストレージです。
AWS でアーカイブすることで、非常に安価なクラウドストレージを利用でき、データをデジタルで長期的に保存および保持でき、包括的なセキュリティとコンプライアンス機能を活用することができます。 Amazon S3 Glacier ストレージクラスは、お客様の長期エンタープライズアーカイブデータ、メディアアーカイブ、バックアップデータ、データレイクアーカイブに使用されています。
S3 コンソールと S3 API を使用して、Amazon S3 にデータを簡単にアーカイブできます。S3 コンソールと S3 API を使用すると、Amazon S3 サービスが提供するすべての特徴と機能性にアクセスできます。 このチュートリアルに従って、S3 コンソールを使用して、Amazon S3 Glacier ストレージクラスにアーカイブデータセットを保存することを開始します。
学習内容
- Amazon S3 バケットを作成する方法
- Amazon S3 Glacier ストレージクラスにオブジェクトをアップロードする方法
- Amazon S3 Glacier Flexible Retrieval または Amazon S3 Glacier Deep Archive ストレージクラスに保存されたオブジェクトを復元する方法
-
ステップ 1: Amazon S3 バケットを作成する
- 1.1 - Amazon S3 コンソールにサインインする
- まだ AWS アカウントを作成していない場合は、アカウントを作成します。新しい AWS アカウントを作成し、有効化する方法の詳細については、このサポートページにアクセスします。
- アカウント情報を使用して、AWS マネジメントコンソールにログインします。
- AWS コンソールのサービス検索バーから、「S3」と入力します。サービス検索結果セクションで、[S3] を選択します。S3 Glacier のオプションが表示される場合があります。このオプションは、Amazon S3 と統合する前の Glacier サービス用です。S3 Glacier の新規ユーザーはすべて、S3 コンソールを使用することをお勧めします。
- 1.2 - S3 バケットを作成する
- 左レールの S3 メニューから [バケット] を選択し、[バケットの作成] ボタンを選択します。
- 1.3 -
- バケットには、グローバルで一意のわかりやすい名称を入力してください。バケットを作成する AWS リージョンを選択します。このワークロードでは、デフォルトの [Block Public Access] (パブリックアクセスをブロック) の設定が適切ですので、このセクションはそのままにしておきます。
- 1.4 -
- 次に、バケットのバージョニングを有効にして、ユーザーによる偶発的または悪意のある削除や上書きからデータを保護します。バケットのバージョニングについての詳細は、こちらをご覧ください。次に、アーカイブデータに関連するコストを経時的に追跡するために、いくつかのタグを追加します。S3 バケットのコスト配分タグ付けの詳細については、こちらを参照してください。
- 次に、バケットのバージョニングを有効にして、ユーザーによる偶発的または悪意のある削除や上書きからデータを保護します。バケットのバージョニングについての詳細は、こちらをご覧ください。次に、アーカイブデータに関連するコストを経時的に追跡するために、いくつかのタグを追加します。S3 バケットのコスト配分タグ付けの詳細については、こちらを参照してください。
- 1.5 -
- 次に、バケットのデフォルトの「保管時」の暗号化を有効にするオプションがあります。ここでの設定は、アップロード処理で保管時の暗号化の詳細を定義していないバケットにアップロードされたオブジェクトに適用されます。この例では、S3 サービスマネージドキー (SSE-S3) を活用したサーバーサイド暗号化を有効にします。ワークロードの要件が SSE-S3 で満たされない場合、AWS Key Management Service (KMS) を活用することもできます。Amazon S3 および AWS KMS の詳細については、こちらを参照してください。
- 次に、バケットのデフォルトの「保管時」の暗号化を有効にするオプションがあります。ここでの設定は、アップロード処理で保管時の暗号化の詳細を定義していないバケットにアップロードされたオブジェクトに適用されます。この例では、S3 サービスマネージドキー (SSE-S3) を活用したサーバーサイド暗号化を有効にします。ワークロードの要件が SSE-S3 で満たされない場合、AWS Key Management Service (KMS) を活用することもできます。Amazon S3 および AWS KMS の詳細については、こちらを参照してください。
- 1.6 -
- ここで、[Advanced settings] (詳細設定) セクションで S3 オブジェクトロック を有効にするオプションがあります。S3 オブジェクトロックを使用すると、write-once-read-many (WORM) モデルを使用してオブジェクトを保存することができます。S3 オブジェクトロックは、一定期間、または無期限にオブジェクトの削除や上書きを防止するのに役立ちます。S3 オブジェクトロックは、WORM ストレージを必要とする規制要件を満たすのに役立てたり、または単にオブジェクトの変更と削除に対する保護の別のレイヤーを追加するために使用することができます。このワークロードでは、S3 オブジェクトロックを有効にして、アーカイブされた重要なデータが権限のないユーザーによって早期に削除されないようにすることが適切です。
- [有効化] オプションを選択し、チェックボックスをチェックして、S3 オブジェクトロックの設定を有効にすることを確認します。その後、[バケットの作成] ボタンを選択します。
- 1.7 - S3 オブジェクトロックを設定する
- 次に、S3 コンソールにバケット作成が成功したことを示すバナーが表示されます。S3 コンソールはまた、S3 オブジェクトロック機能を有効にするために追加の設定が必要であることを通知するプロンプトを表示します。プロンプトに表示された [bucket details] (バケットの詳細) リンクを選択します。これを選択すると、新しく作成したバケットの [プロパティ] タブが表示されます。
- <注: このエクササイズでは、S3 オブジェクトロックの設定に [Governance] (ガバナンス) モードを使用します。これにより、このチュートリアルが完了した後、admin ユーザーを使用してテストオブジェクトを永久に削除することができます。>
- S3 オブジェクトロックの詳細については、ブログの特集「Amazon S3 オブジェクトロックでデータを保護する」をお読みください。
- 次に、S3 コンソールにバケット作成が成功したことを示すバナーが表示されます。S3 コンソールはまた、S3 オブジェクトロック機能を有効にするために追加の設定が必要であることを通知するプロンプトを表示します。プロンプトに表示された [bucket details] (バケットの詳細) リンクを選択します。これを選択すると、新しく作成したバケットの [プロパティ] タブが表示されます。
- 1.8 -
- バケットの [プロパティ] タブで、[オブジェクトロック] セクションに移動し、[編集] ボタンを選択します。ここでは、バケットにアップロードされたオブジェクトのデフォルト値を設定することができます。この例では、このバケットにアップロードされたすべてのオブジェクトについて、5 年間の保持を有効にしたいと思います。[Default retention] (デフォルト保持) オプションで [有効化] を選択し、[Default retention] (デフォルト保持) モード で [Governance] (ガバナンス) オプションを選択してガバナンスモードを選択し、デフォルトの保持期間として「5」を入力します。最後に、単位を [年] にし、[変更を保存] ボタンを選択します。
- バケットの [プロパティ] タブで、[オブジェクトロック] セクションに移動し、[編集] ボタンを選択します。ここでは、バケットにアップロードされたオブジェクトのデフォルト値を設定することができます。この例では、このバケットにアップロードされたすべてのオブジェクトについて、5 年間の保持を有効にしたいと思います。[Default retention] (デフォルト保持) オプションで [有効化] を選択し、[Default retention] (デフォルト保持) モード で [Governance] (ガバナンス) オプションを選択してガバナンスモードを選択し、デフォルトの保持期間として「5」を入力します。最後に、単位を [年] にし、[変更を保存] ボタンを選択します。
- 1.1 - Amazon S3 コンソールにサインインする
-
ステップ 2: Amazon S3 バケットにデータをアップロードするバケットの作成と設定が完了したので、Amazon S3 Glacier ストレージクラスへアーカイブデータをアップロードする準備が整いました。
- 2.1 - オブジェクトのアップロード
- AWS マネジメントコンソールセッションからログアウトした場合、ログインし直します。S3 コンソールに移動し、[バケット] メニューオプションを選択します。利用可能なバケットのリストから、先ほど作成したバケットのバケット名を選択します。
- AWS マネジメントコンソールセッションからログアウトした場合、ログインし直します。S3 コンソールに移動し、[バケット] メニューオプションを選択します。利用可能なバケットのリストから、先ほど作成したバケットのバケット名を選択します。
- 2.2 -
- 次に、[オブジェクト] タブを選択します。次に、[オブジェクト] セクション内から、[アップロード] ボタンを選択します。
- 次に、[オブジェクト] タブを選択します。次に、[オブジェクト] セクション内から、[アップロード] ボタンを選択します。
- 2.3 -
- 次に、[ファイルの追加] ボタンを選択します。ローカルファイルシステムを移動して、アップロードするアーカイブファイルを探します。適切なファイルを選択し、[開く] を選択します。ファイルは、[ファイルとフォルダ] セクションに表示されます。
- 次に、[ファイルの追加] ボタンを選択します。ローカルファイルシステムを移動して、アップロードするアーカイブファイルを探します。適切なファイルを選択し、[開く] を選択します。ファイルは、[ファイルとフォルダ] セクションに表示されます。
- 2.4 -
- [プロパティ] セクションで、アーカイブをアップロードする S3 ストレージクラスを選択します。この例のデータセットは 5 年間保持する必要があり、データが頻繁にアクセスされる可能性が低いため、[Glacier Deep Archive] を選択します。(注、ワークロードがミリ秒単位のアクセスやアーカイブされたデータへの単一の API コールアクセスを必要とする場合、代わりに S3 Glacier Instant Retrieval ストレージクラスをここで選択する必要があります。Amazon S3 Glacier ストレージクラスのオプションの詳細については、こちらで見ることができます。) 残りのオプションはデフォルト設定のまま、[アップロード] ボタンを選択します。
- <注: 多くの S3 ストレージクラスに保存されたオブジェクトは、それらに関連する最小オブジェクト持続時間を持っています。この場合、テストファイルを Glacier Deep Archive にアップロードすると、早期に削除されたとしても 180 日間の課金が発生します。 S3 Glacier Deep Archive に 1 GB を 180 日間、取り出し付きで保存すると、~0.03 USD です。 S3 の料金についてはこちらをお読みください。>
- 2.5 -
- ファイルのアップロードステータスの詳細を提供するバナーが表示されます。
- ファイルのアップロードステータスの詳細を提供するバナーが表示されます。
- 2.6 -
- ファイルのアップロード操作が完了すると、操作の概要が表示され、正常に完了したか、または失敗したかが示されます。この場合、ファイルは正常にアップロードされました。[閉じる] ボタンを選択します。
- 2.1 - オブジェクトのアップロード
-
ステップ 3: データを復元するS3 Glacier Deep Archive へのデータアップロードが成功したので、データを復元する手順を説明します。(注、S3 Glacier Flexible Retrieval と S3 Glacier Deep Archive のストレージクラスに保存されているデータには、アクセスする前にデータを復元するプロセスが必要です。S3 Glacier Instant Retrieval ストレージクラスに保存されたデータには、アクセスする前にこの復元要求は必要ありません。S3 Glacier Instant Retrieval の詳細については、 こちらを参照してください。)
- 3.1 - オブジェクトの復元を開始する
- AWS マネジメントコンソールセッションからログアウトした場合、ログインし直します。S3 コンソールに移動し、[バケット] メニューオプションを選択します。利用可能なバケットのリストから、このエクササイズのために作成したバケットのバケット名を選択します。[オブジェクト] メニューから、先ほどアップロードしたテストファイルの名前を選択します。
- AWS マネジメントコンソールセッションからログアウトした場合、ログインし直します。S3 コンソールに移動し、[バケット] メニューオプションを選択します。利用可能なバケットのリストから、このエクササイズのために作成したバケットのバケット名を選択します。[オブジェクト] メニューから、先ほどアップロードしたテストファイルの名前を選択します。
- 3.2 -
- テストファイルの名前を選択すると、オブジェクトが S3 Glacier Deep Archive ストレージクラスに保存されており、データにアクセスしたい場合は復元する必要があることを示すバナーが表示されます。情報バナーの [Initiate restore button] (復元開始ボタン) を単に選択することで、復元処理を開始することができます。あるいは、[Object actions] (オブジェクトのアクション) メニューから [Initiate restore] (復元開始) を選択することもできます。
- <注: 復元処理では、アーカイブされたデータのコピーが作成され、そのコピーが S3 Standard ストレージクラスに保存されます。復元開始プロセスでは、データを利用できるようにする日数を設定します。この期間中、アーカイブストレージクラスとアクティブストレージクラスの両方で、データに対して適用されるストレージ料金が発生します。>
- 3.3 -
- [Initiate restore] (復元開始) ページで、復元されたコピーを利用できるようにする日数を定義します。次に、標準検索または一括検索のいずれかを選択することになります。Amazon S3 Glacier Flexible Retrieval ストレージクラスに保存されたデータには、さらに迅速な検索を選択するオプションが追加されます。復元オプションの詳細については、こちらを参照してください。このエクササイズでは、[Standard retrieval] (標準検索) オプションを選択します。次に、[Initiate restore] (復元開始) ボタンを選択して続行します。
- [Initiate restore] (復元開始) ページで、復元されたコピーを利用できるようにする日数を定義します。次に、標準検索または一括検索のいずれかを選択することになります。Amazon S3 Glacier Flexible Retrieval ストレージクラスに保存されたデータには、さらに迅速な検索を選択するオプションが追加されます。復元オプションの詳細については、こちらを参照してください。このエクササイズでは、[Standard retrieval] (標準検索) オプションを選択します。次に、[Initiate restore] (復元開始) ボタンを選択して続行します。
- 3.4 -
- 復元要求が成功したかどうか、またはエラーが発生したかどうかを示す概要ページが表示されます。この場合、復元要求が成功しました。[閉じる] ボタンを選択して続行します。
- S3 Glacier Deep Archive からのこの標準の復元では、一時オブジェクトが Amazon S3 Standard-IA ストレージクラスに復元されるまで、約 12 時間待機する必要があります。S3 イベント通知は、オブジェクトの復元イベントが完了したときにアラートを出すことをサポートします。S3 イベント通知の詳細については、こちらの Amazon S3 ドキュメントを参照してください。
- 復元要求が成功したかどうか、またはエラーが発生したかどうかを示す概要ページが表示されます。この場合、復元要求が成功しました。[閉じる] ボタンを選択して続行します。
- 3.5 - 復元が完了したことを確認する
- これで、オブジェクトが復元されたことを確認できます。復元操作の完了を約 12 時間待った後、先に進み、S3 コンソールにログインし直します。左レールメニューから [バケット] を選択し、バケット名を選択して内容を表示します。[オブジェクト] セクションから、復元しようとしたオブジェクトのファイル名を選択し、現在のステータスを確認します。
- ここでは、このオブジェクトの [復元ステータス] が [完了] と表示されていることがわかります。復元プロセスで定義した日数に基づいて、[復元] の [有効期限] も表示されています。アーカイブされたオブジェクトが無事に復元されました。このオブジェクトは、[復元の有効期限] セクションで指定した時間まで利用可能です。これで、このファイルに対して S3 セレクトクエリを実行したり、オブジェクトをアカウント内の別のバケットや別のアカウントにコピーしたり、データをローカルマシンにダウンロードしたりといったアクションを実行できるようになりました。
- これで、オブジェクトが復元されたことを確認できます。復元操作の完了を約 12 時間待った後、先に進み、S3 コンソールにログインし直します。左レールメニューから [バケット] を選択し、バケット名を選択して内容を表示します。[オブジェクト] セクションから、復元しようとしたオブジェクトのファイル名を選択し、現在のステータスを確認します。
- 3.1 - オブジェクトの復元を開始する
-
ステップ 4: クリーンアップ以下のステップでは、このチュートリアルで作成したリソースをクリーンアップします。 意図しない料金が発生しないように、使用しなくなったリソースは削除することがベストプラクティスです。
- 4.1 - テストオブジェクトを削除する
- AWS マネジメントコンソールセッションからログアウトした場合、ログインし直します。S3 コンソールに移動し、[バケット] メニューオプションを選択します。最初に、テストバケットからテストオブジェクトを削除する必要があります。このチュートリアルのために作業しているバケットの名前を選択します。テストオブジェクト名の左側にあるチェックボックスにチェックマークを入れ、[削除] ボタンを選択します。[Delete objects] (オブジェクトの削除) ページで、削除するオブジェクトが正しく選択されていることを確認し、[Permanently delete objects] (オブジェクトの完全削除) 確認ボックスに「permanently delete」(完全に削除する) とタイプします。そして、[Delete object] (オブジェクトの削除) ボタンを選択して、次に進みます。次に、削除が成功したかどうかを示すバナーが表示されます。
- AWS マネジメントコンソールセッションからログアウトした場合、ログインし直します。S3 コンソールに移動し、[バケット] メニューオプションを選択します。最初に、テストバケットからテストオブジェクトを削除する必要があります。このチュートリアルのために作業しているバケットの名前を選択します。テストオブジェクト名の左側にあるチェックボックスにチェックマークを入れ、[削除] ボタンを選択します。[Delete objects] (オブジェクトの削除) ページで、削除するオブジェクトが正しく選択されていることを確認し、[Permanently delete objects] (オブジェクトの完全削除) 確認ボックスに「permanently delete」(完全に削除する) とタイプします。そして、[Delete object] (オブジェクトの削除) ボタンを選択して、次に進みます。次に、削除が成功したかどうかを示すバナーが表示されます。
- 4.2 - テストバケットを削除する
- 最後に、作成したテストバケットを削除する必要があります。アカウント内のバケット一覧に戻ります。このチュートリアルのために作成したバケットの左側にあるラジオボタンを選択し、[削除] ボタンを選択します。警告メッセージを確認します。このバケットの削除を続ける場合は、[バケットの削除] 確認ボックスにバケット名をタイプし、[バケットの削除] を選択します。
- 最後に、作成したテストバケットを削除する必要があります。アカウント内のバケット一覧に戻ります。このチュートリアルのために作成したバケットの左側にあるラジオボタンを選択し、[削除] ボタンを選択します。警告メッセージを確認します。このバケットの削除を続ける場合は、[バケットの削除] 確認ボックスにバケット名をタイプし、[バケットの削除] を選択します。
- 4.1 - テストオブジェクトを削除する
おめでとうございます。
Amazon S3 バケットを作成する方法、Amazon S3 Glacier および S3 Glacier Deep Archive ストレージクラスへのオブジェクトのアップロード、およびオブジェクトを簡単に取得できるように復元する方法を学びました。