バッチオペレーションを使ってオブジェクトを復元する - Amazon Simple Storage Service

バッチオペレーションを使ってオブジェクトを復元する

Amazon S3 バッチオペレーションを使用すると、Amazon S3 のオブジェクトに対して大規模なバッチオペレーションを実行できます。Restore オペレーションは、マニフェストにリストされた、アーカイブされた Amazon S3 オブジェクトの復元リクエストを開始します。次のアーカイブされたオブジェクトは、リアルタイムでアクセスする前に、復元される必要があります。

  • S3 Glacier Flexible Retrieval または S3 Glacier Deep Archive ストレージクラスにアーカイブされたオブジェクト

  • Archive アクセス階層または Deep Archive アクセス階層の S3 Intelligent-Tiering ストレージクラスを介してアーカイブされたオブジェクト

S3 バッチオペレーションジョブで [復元] (S3InitiateRestoreObjectOperation) オペレーションを使用すると、マニフェストで指定されたすべてのオブジェクトの RestoreObject リクエストが生成されます。

重要

[復元] ジョブでは、オブジェクトの復元リクエストのみを開始します。S3 バッチ操作では、各オブジェクトに対するリクエストが開始されると、そのオブジェクトのジョブは完了としてレポートされます。Amazon S3 では、ジョブを更新したり、オブジェクトが復元されたときに通知したりすることはありません。ただし、S3 イベント通知を使用して、Amazon S3 でオブジェクトが利用可能になったときに通知を受けることはできます。詳細については、「Amazon S3 イベント通知」を参照してください。

[復元] ジョブを作成する場合、次の引数を使用できます。

ExpirationInDays

この引数は、S3 Glacier Flexible Retrieval または S3 Glacier Deep Archive オブジェクトが Amazon S3 で使用できる期間を指定します。S3 Glacier Flexible Retrieval オブジェクトと S3 Glacier Deep Archive オブジェクトをターゲットとする [復元] ジョブには、ExpirationInDays1 以上に設定する必要があります。

重要

S3 Intelligent-Tiering Archive Access および Deep Archive アクセス階層オブジェクトをターゲットとする [復元] オペレーションの作成時には ExpirationInDays を設定しないでください。S3 Intelligent-Tiering Archive Access 階層のオブジェクトは復元の有効期限の対象にならないため、ExpirationInDays を指定すると RestoreObject リクエストが失敗します。

GlacierJobTier

Amazon S3 では、EXPEDITEDSTANDARD、および BULK の 3 つの異なる取得階層のいずれかを使用してオブジェクトを復元できます。ただし、S3 バッチ操作機能は、STANDARD および BULK の取得階層のみをサポートします。取得階層間の相違点の詳細については、「アーカイブ取得オプションを理解する」を参照してください。

各レベルの料金の詳細については、[Amazon S3 の料金] ページの「リクエストとデータ取り出し」セクションをご参照ください。

S3 Glacier と S3 Intelligent-Tiering からの復元の違い

S3 Glacier Flexible Retrieval または S3 Glacier Deep Archive ストレージクラスからのアーカイブファイルの復元は、Archive アクセス階層または Deep Archive アクセス階層の S3 Intelligent-Tiering ストレージクラスからのファイルの復元とは異なります。

  • S3 Glacier Flexible Retrieval または S3 Glacier Deep Archive から復元すると、オブジェクトの一時コピーが作成されます。Amazon S3 は、ExpirationInDays 引数で指定した値が経過した後、このコピーを削除します。この一時コピーが削除された後にそのオブジェクトにアクセスするには、追加の復元リクエストを送信する必要があります。

  • アーカイブされた S3 Intelligent-Tiering オブジェクトを復元するときは、ExpirationInDays 引数を指定しないでください。S3 Intelligent-Tiering Archive アクセス階層または Deep Archive アクセス階層からオブジェクトを復元すると、オブジェクトは S3 Intelligent-Tiering Frequent アクセス階層に戻ります。オブジェクトは、90 日以上連続でアクセスされないと、Archive Access 階層に自動的に移行します。オブジェクトは、180 日以上連続でアクセスされないと、Deep Archive Access 階層に自動的に移行します。

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

復元の重複

既に復元中のオブジェクトに対して S3InitiateRestoreObjectOperation ジョブを実行しようとすると、S3 バッチオペレーションは次のように処理します。

次のいずれかの条件が true の場合には、オブジェクトに対するこの復元オペレーションは成功します。

  • 進行中の復元リクエストと比較して、このジョブの ExpirationInDays 値が同じであり、また、GlacierJobTier 値が高速であること。

  • 以前の復元リクエストが完了済みであり、オブジェクトが現在利用可能であること。この場合、バッチ操作は、復元されたオブジェクトの有効期限を、進行中の復元リクエストで指定された ExpirationInDays 値と一致するように更新します。

次のいずれかの条件が true の場合には、オブジェクトに対するこの復元オペレーションは失敗します。

  • 進行中の復元リクエストが未完了であり、かつ、このジョブの復元期間 (ExpirationInDays 値によって指定) が進行中の復元リクエストで指定される復元期間とは異なること。

  • このジョブの復元階層 (GlacierJobTier 値によって指定) が進行中の復元リクエストで指定される復元階層と同じであるか、またはより低速であること。

制約事項

S3InitiateRestoreObjectOperation ジョブには次の制限があります。

  • アーカイブされたオブジェクトと同じリージョンにジョブを作成する必要があります。

  • S3 バッチオペレーションでは、EXPEDITED 取得階層はサポートされていません。

オブジェクトの復元の詳細については、「アーカイブされたオブジェクトの復元」をご参照ください。