アーカイブされたオブジェクトの復元 - Amazon Simple Storage Service

アーカイブされたオブジェクトの復元

次のストレージクラスまたは階層の Amazon S3 オブジェクトはアーカイブされ、リアルタイムでアクセスできなくなります。

  • S3 Glacier Flexible Retrieval ストレージクラス

  • S3 Glacier Deep Archive ストレージクラス

  • S3 Intelligent-Tiering Archive アクセス階層

  • S3 Intelligent-Tiering Deep Archive アクセス階層

S3 Glacier Flexible Retrieval ストレージクラスまたは S3 Glacier Deep Archive ストレージクラスに保存されている Amazon S3 オブジェクトは、すぐにはアクセスできません。これらのストレージクラスのオブジェクトにアクセスするには、指定された期間 (日数) の間、オブジェクトの一時コピーを S3 バケットに復元する必要があります。オブジェクトの永続的なコピーが必要な場合は、オブジェクトを復元して、Amazon S3 バケット内にそのオブジェクトのコピーを作成します。復元したオブジェクトのコピーは Amazon S3 コンソールではサポートされていません。このタイプのコピー操作には、AWS Command Line Interface (AWS CLI)、AWS SDK、または REST API を使用します。コピーを作成してストレージクラスを変更しない限り、オブジェクトは S3 Glacier Flexible Retrieval または S3 Glacier Deep Archive ストレージクラスに保存されます。これらのストレージクラスの使用方法については、「オブジェクトのアーカイブに適したストレージクラス」を参照してください。

S3 Intelligent-Tiering アーカイブアクセスおよび ディープアーカイブアクセス階層のオブジェクトにアクセスするには、復元リクエストを開始しオブジェクトが高頻度アクセス階層に移動するまで待機する必要があります。アーカイブアクセス階層または Deep Archive アクセス階層から復元すると、オブジェクトは高頻度アクセス階層に戻ります。これらのストレージクラスの使用方法については、「アクセスパターンが変化する、またはアクセスパターンが不明なデータを、自動的に最適化するためのストレージクラス」を参照してください。

オブジェクトのアーカイブについては、「アーカイブされたオブジェクトの操作」を参照してください。

注記

S3 Glacier からアーカイブされたオブジェクトを復元する場合、アーカイブしたオブジェクトと一時的に復元したコピーの両方の費用が発生します。S3 Intelligent-Tiering からオブジェクトを復元する場合、標準取り出しでも大容量取り出しでも取り出し料金はかかりません。すでに復元されているアーカイブされたオブジェクトに対して呼び出された後続の復元リクエストは、GET リクエストとして請求されます。料金については、Amazon S3 の料金を参照してください。

アーカイブされたオブジェクトの復元

アーカイブされたオブジェクトは、Amazon S3 コンソール、S3 REST API、AWS SDK、AWS Command Line Interface (AWS CLI)、または S3 バッチオペレーションを使用して復元できます。

Amazon S3 コンソールを使用してオブジェクトを復元する

次の手順を使用して、S3 Glacier Flexible Retrieval または S3 Glacier Deep Archive  ストレージクラス、または S3 Intelligent-Tiering Archive Access または Deep Archive Access ストレージ層にアーカイブされたオブジェクトを復元します。

アーカイブされたオブジェクトを復元するには
  1. AWS Management Console にサインインし、Amazon S3 コンソール https://console.aws.amazon.com/s3/ を開きます。

  2. 左側のナビゲーションペインで、[バケット] を選択します。

  3. [バケット] リストで、復元するオブジェクトが含まれるバケットの名前を選択します。

  4. [オブジェクト] リストで復元するオブジェクトを選択し、[アクション] を選択して、[復元の開始] を選択します。

  5. S3 Glacier または S3 Glacier Deep Archive から復元する場合は、[復元されたコピーを使用できる日数] ボックスに、アーカイブデータをアクセス可能にする日数を入力します。

  6. [保持期間] で次のいずれかの操作を行います。

    • [大容量取り出し] または [標準取り出し] を選択し、[復元の開始] を選択します。

    • [迅速な取り出し] (S3 Glacier Flexible Retrieval または S3 Intelligent-Tiering Archive アクセスのみに使用可能) を選択します。S3 Glacier Flexible Retrieval でオブジェクトを復元する場合、迅速取り出し用にプロビジョンドキャパシティーを購入するかどうかを選択できます。プロビジョンドキャパシティーを購入する場合は、次のステップに進んでください。購入しない場合は、[復元の開始] を選択してください。

  7. (オプション) S3 Glacier Flexible Retrieval でオブジェクトを復元し、迅速取り出しを選択した場合、プロビジョンドキャパシティーを購入するかどうかを選択できます。プロビジョンドキャパシティーは、S3 Glacier Flexible Retrieval のオブジェクトにのみ使用できます。プロビジョンドキャパシティーを持っている場合、[復元の開始] を選択してプロビジョニングされた取り出しを開始します。

    プロビジョンドキャパシティーを持っている場合、すべての迅速取り出しはプロビジョンドキャパシティーにより処理されます。詳細については、「プロビジョンドキャパシティー」を参照してください。

    • プロビジョンドキャパシティーを持っておらず、購入する予定もない場合、[復元の開始] を選択します。

    • プロビジョンドキャパシティーはないが、プロビジョンドキャパシティーユニット (PCU) を購入したい場合は、[PCU を購入] を選択してください。[PCU を購入] ダイアログボックスで、購入する PCU の数を選択し、購入を確認して、[PCU を購入] を選択します。[購入完了] メッセージが表示されたら、[復元の開始] を選択してプロビジョニングされた取り出しを開始します。

S3 Glacier Flexible Retrieval または S3 Glacier Deep Archive からオブジェクトを復元する

次の例では restore-object コマンドを使用して、25 日間でバケット DOC-EXAMPLE-BUCKET にオブジェクト dir1/example.obj を復元します。

aws s3api restore-object --bucket DOC-EXAMPLE-BUCKET --key dir1/example.obj --restore-request '{"Days":25,"GlacierJobParameters":{"Tier":"Standard"}}'

この例で使用されている JSON 構文が原因で Windows クライアントにエラーが生じる場合は、復元リクエストを以下の構文に置き換えてください。

--restore-request Days=25,GlacierJobParameters={"Tier"="Standard"}
S3 Intelligent-Tiering Archive Access と Deep Archive Access からオブジェクトを復元する

次の例では restore-object コマンドを使用して、バケット DOC-EXAMPLE-BUCKET のオブジェクト dir1/example.obj を高頻度アクセス階層に復元します。

aws s3api restore-object --bucket DOC-EXAMPLE-BUCKET --key dir1/example.obj --restore-request '{}'
復元ステータスを監視する

restore-object リクエストのステータスをモニタリングするには、次の head-object コマンドを使用します。

aws s3api head-object --bucket DOC-EXAMPLE-BUCKET --key dir1/example.obj

詳細については、AWS CLI コマンドリファレンスrestore-object を参照してください。

Amazon S3 には、アーカイブされたオブジェクトの復元を開始するための API オペレーションが用意されています。詳細については、「Amazon Simple Storage Service API リファレンス」の「RestoreObject」を参照してください。

AWS SDK を使って S3 Glacier Flexible Retrieval または S3 Glacier Deep Archive 内にオブジェクトを復元する方法の例については、「AWS SDK を使用して、オブジェクトのアーカイブされたコピーを Amazon S3 バケットに復元する」を参照してください。

1 つのリクエストで複数のアーカイブされたオブジェクトを復元するには、S3 バッチオペレーションを使用できます。S3 バッチオペレーションには、オペレーションターゲットのオブジェクトのリストを指定します。S3 バッチオペレーションは、各 API オペレーションを呼び出して、指定されたオペレーションを実行します。1 つのバッチオペレーションジョブで、エクサバイトのデータを含む数十億ものオブジェクトに対して、指定されたオペレーションを実行できます。

バッチオペレーションジョブを作成するには、復元するオブジェクトのみを含むマニフェストが必要です。S3 Inventory を使用してマニフェストを作成することも、必要な情報を含む CSV ファイルを提供することもできます。詳細については、「マニフェストの指定」を参照してください。

S3 バッチオペレーションジョブを作成して実行する前に、お客様に代わって S3 バッチオペレーションを実行するためのアクセス権限を Amazon S3 に付与する必要があります。必要なアクセス許可については、「Amazon S3 バッチ操作に対するアクセス許可の付与」を参照してください。

注記

バッチ操作ジョブは、S3 Glacier Flexible Retrieval および S3 Glacier Deep Archive ストレージクラスオブジェクト、または S3 Intelligent-Tiering Archive Access および Deep Archive Access ストレージ階層オブジェクトのいずれかで操作できます。バッチオペレーションは、同じジョブ内の両方のタイプのアーカイブオブジェクトに対して操作できません。両方のタイプのオブジェクトを復元するには、別個のバッチ操作ジョブを作成する必要があります

バッチオペレーションを使用してアーカイブオブジェクトを復元する方法の詳細については、「バッチオペレーションを使ってオブジェクトを復元する」を参照してください。

S3 Initiate Restore Object Batch Operations ジョブを作成するには
  1. AWS Management Console にサインインし、Amazon S3 コンソール https://console.aws.amazon.com/s3/ を開きます。

  2. 左のナビゲーションペインで、[バッチ操作] を選択します。

  3. [Create job (ジョブの作成)] を選択します。

  4. AWS リージョン については、ジョブを作成する [Region (リージョン)] を選択します。

  5. [マニフェストの形式] で、使用するマニフェストのタイプを選択します。

    • [S3 インベントリレポート] を選択した場合Amazon S3 が CSV 形式のインベントリレポートの一部として生成した manifest.json オブジェクトへのパスを入力します。最新のバージョンではなく特定のマニフェストバージョンを使用する場合には、オプションでマニフェストオブジェクトのバージョン ID を含めることもできます。

    • [CSV] を選択する場合は、CSV 形式のマニフェストオブジェクトへのパスを入力します。マニフェストオブジェクトは、コンソールで説明される形式に従う必要があります。最新のバージョンではなく特定のバージョンを使用する場合には、オプションでマニフェストオブジェクトのバージョン ID を含めることもできます。

  6. [Next] (次へ) をクリックします。

  7. [オペレーション] セクションで、[復元] を選択します。

  8. [復元] セクションの [ソースを復元] で、[Glacier Flexible Retrieval または Glacier Deep Archive] か [Intelligent-Tiering Archive Access 階層または Deep Archive Access 階層] のいずれかを選択します。

    [Glacier Flexible Retrieval または Glacier Deep Archive] を選択した場合、[復元したコピーが使用できる日数] に数字を入力します。

    [取得階層] の場合、使用する階層を選択します。

  9. [Next] (次へ) をクリックします。

  10. [追加オプションを設定する] ページで、以下のセクションに情報を入力します。

    • [その他のオプション] セクションに、ジョブの説明を入力し、ジョブの優先度番号を指定します。番号が大きいほど、優先度が高いことを表します。詳細については、「ジョブの優先度の割り当て」を参照してください。

    • [完了レポート] セクションで、バッチオペレーションで完了レポートを作成するかどうかを選択します。完了レポートに関する詳細については、「完了レポート」を参照してください。

    • [許可] セクションでは、ユーザーに代わってバッチオペレーションを実行するためのアクセス権限を Amazon S3 に付与する必要があります。必要なアクセス許可については、「Amazon S3 バッチ操作に対するアクセス許可の付与」を参照してください。

    • (オプション) [ジョブタグ] セクションで、キーと値のペアにタグを追加します。詳細については、「タグを使用したアクセスのコントロールとジョブのラベル付け」を参照してください。

    完了したら、[Next] (次へ) を選択します。

  11. [確認] ページで、設定を確認します。変更が必要な場合は、[戻る] を選択します。それ以外の場合は、[ジョブの作成] を選択します。

バッチオペレーションの詳細については、「バッチオペレーションを使ってオブジェクトを復元する」と「S3 バッチオペレーションジョブの作成」を参照してください。

復元ステータスおよび有効期限日の確認

Amazon S3 コンソール、AWS CLI、または REST API を使用して、復元リクエストのステータスや有効期限を確認できます。

注記

S3 Glacier Flexible Retrievalおよび S3 Glacier Deep Archive から復元されたオブジェクトは、指定した期間のみ保存されます。以下の手順で、これらのコピーの有効期限を返します。S3 Intelligent-Tiering Archive Access and Deep Archive Access 階層から復元されたオブジェクトには有効期限がなく、代わりに高頻度アクセス階層に戻ります。

Amazon S3 コンソールでオブジェクトの復元ステータスと有効期限を確認するには
  1. Amazon S3 コンソール (https://console.aws.amazon.com/s3/) を開きます。

  2. 左側のナビゲーションペインで、[Buckets] (バケット) を選択します。

  3. [バケット] リストで、復元しているオブジェクトが含まれるバケットの名前を選択します。

  4. [オブジェクト]リストで、復元するオブジェクトを選択します。オブジェクトの詳細ページが表示されます。

    • 復元が完了していない場合は、ページの上部に [復元中] セクションが表示されます。

    • 復元が完了した場合は、ページの上部に [復元中] と書かれたセクションが表示されます。S3 Glacier Flexible Retrieval または S3 Glacier Deep Archive から復元する場合、このセクションには [復元の有効期限] も表示されます。Amazon S3 は、この日にアーカイブされたオブジェクトの復元済みコピーを削除します。

オブジェクトのリストアステータスと有効期限を AWS CLI コマンドで確認します。

次の例では head-object コマンドを使用して、バケット DOC-EXAMPLE-BUCKET のオブジェクト dir1/example.obj のメタデータを表示します。復元中のオブジェクトに対してこのコマンドを実行すると、Amazon S3 は復元が進行中であるかどうか、さらには有効期限を返します (該当する場合)。

aws s3api head-object --bucket DOC-EXAMPLE-BUCKET --key dir1/example.obj

期待される出力 (復元中):

{ "Restore": "ongoing-request=\"true\"", "LastModified": "2020-06-16T21:55:22+00:00", "ContentLength": 405, "ETag": "\"b662d79adeb7c8d787ea7eafb9ef6207\"", "VersionId": "wbYaE2vtOV0iIBXrOqGAJt3fP1cHB8Wi", "ContentType": "binary/octet-stream", "ServerSideEncryption": "AES256", "Metadata": {}, "StorageClass": "GLACIER" }

期待される出力 (復元完了):

{ "Restore": "ongoing-request=\"false\", expiry-date=\"Wed, 12 Aug 2020 00:00:00 GMT\"", "LastModified": "2020-06-16T21:55:22+00:00", "ContentLength": 405, "ETag": "\"b662d79adeb7c8d787ea7eafb9ef6207\"", "VersionId": "wbYaE2vtOV0iIBXrOqGAJt3fP1cHB8Wi", "ContentType": "binary/octet-stream", "ServerSideEncryption": "AES256", "Metadata": {}, "StorageClass": "GLACIER" }

head-object の詳細については、 AWS CLI リファレンス の「head-object」を参照してください。

Amazon S3 には、オブジェクトメタデータを取得するための API オペレーションが用意されています。REST API を使用してアーカイブされたオブジェクトの復元ステータスと有効期限を確認するには、「Amazon Simple Storage Service API リファレンス」の「HeadObject」を参照してください。

進行中の復元速度のアップグレード

復元が進行中でも、復元速度をアップグレードできます。

進行中の復元をより高速の階層にアップグレードするには
  1. Amazon S3 コンソール (https://console.aws.amazon.com/s3/) を開きます。

  2. 左側のナビゲーションペインで、[Buckets] (バケット) を選択します。

  3. [バケット] リストで、復元するオブジェクトが含まれるバケットの名前を選択します。

  4. [オブジェクト]リストで、復元するオブジェクトを選択します。オブジェクトの詳細ページが表示されます。オブジェクトの詳細ページで、[取得階層をアップグレード] を選択します。オブジェクトの復元状況の確認については、[復元ステータスおよび有効期限日の確認] を参照してください。

  5. アップグレードする階層を選択し、[復元] を選択します。