還原已封存的物件 - Amazon Simple Storage Service

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

還原已封存的物件

下列儲存類別或層級的 Amazon S3 物件都會加以封存,且無法即時存取:

  • S3 Glacier Flexible Retrieval 儲存體類別

  • S3 Glacier Deep Archive 儲存體類別

  • S3 Intelligent-Tiering Archive Access 層

  • S3 Intelligent-Tiering Deep Archive Access 層

在 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 Archive Access 和 Deep Archive Access 層中的物件,您必須啟動還原請求,然後等待物件移至 Frequent Access 層。當您從 Archive Access 層或 Deep Archive Access 層還原物件時,物件會移回不經常存取層。如需有關使用這些儲存類別的資訊,請參閱 存取模式會變更或不明的自動最佳化資料的儲存體方案

如需封存物件的一般資訊,請參閱 使用封存的物件

注意
  • 當您從 S3 Glacier 彈性擷取或 S3 Glacier 深層存檔儲存類別還原存檔物件時,您需要為存檔物件和暫時還原的副本付費。

  • 從 S3 智慧型分層還原物件時,標準擷取或大量擷取無需支付擷取費用。

  • 對已還原之封存物件呼叫的後續還原要求會以GET請求的方式計費。如需定價的資訊,請參閱 Amazon S3 定價

還原已封存的物件

您可以使用 Amazon S3 主控台、Amazon S3 REST API、 AWS 開發套件、 AWS Command Line Interface (AWS CLI) 或 S3 Batch 操作來還原存檔物件。

使用 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. 在左側導覽窗格中,選擇 Buckets (儲存貯體)。

  3. Buckets (儲存貯體) 清單中,選擇儲存貯體的名稱,其中包含您要還原的物件。

  4. Objects (物件) 清單中,選取要還原的一或多個物件,選擇 Actions (動作),然後選擇 Initiate restore (啟動還原)

  5. 如果要從 S3 Glacier Flexible Retrieval 或 S3 Glacier Deep Archive 還原,請在已還原副本可用天數方塊中輸入您希望封存資料可供存取的天數。

  6. 擷取方案中,執行下列任一項操作:

    • 選擇大量擷取標準擷取,然後選擇啟動還原

    • 選擇 Expedited retrieval (快速擷取) (僅適用於 S3 Glacier Flexible Retrieval 或 S3 Intelligent-Tiering Archive Access)。如果您要還原 S3 Glacier Flexible Retrieval 中的物件,可以選擇是否購買佈建的容量以進行「快速」擷取。如果您想要購買佈建的容量,請繼續執行下一個步驟。如果不要購買,請選擇啟動還原

    注意

    來自 S3 Intelligent-Tiering Archive Access 和 Deep Archive Access 的物件會自動還原到 Frequent Access 層。

  7. (選用) 如果您要還原 S3 Glacier Flexible Retrieval 中的物件,且您選擇了快速擷取,則可以選擇是否購買佈建的容量。佈建的容量僅適用於 S3 Glacier Flexible Retrieval 中的物件。如果您已有佈建的容量,請選擇啟動還原,以開始進行佈建的擷取。

    如果您有佈建的容量,您所有的快速擷取都會透過佈建的容量提供服務。如需詳細資訊,請參閱 佈建的容量

    • 如果您沒有佈建的容量,也不希望購買,請選擇啟動還原

    • 如果您沒有佈建的容量,但想要購買佈建的容量單位 (PCU),請選擇購買 PCU。在購買 PCU 對話方塊中,選擇您要購買的 PCU 數量,確認購買,然後選擇購買 PCU。當您收到已成功購買訊息時,請選擇啟動還原以開始進行佈建的擷取。

從 S3 Glacier Flexible Retrieval 或 S3 Glacier Deep Archive 還原物件

下列範例使用 restore-object 命令還原儲存貯體 DOC-EXAMPLE-BUCKET 中的物件 dir1/example.obj,為期 25 天。

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 還原至 Frequent Access 層。

aws s3api restore-object --bucket DOC-EXAMPLE-BUCKET --key dir1/example.obj --restore-request '{}'
注意

與 S3 Glacier Flexible Retrieval 和 S3 Glacier Deep Archive 儲存類別不同,S3 Intelligent-Tiering 物件的還原要求不接受 Days 值。

監控還原狀態

若要監控 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 開發套件還原 S3 Glacier 彈性擷取或 S3 Glacier 深度存檔中的存檔物件的範例,請參閱搭RestoreObject配 AWS SDK 或命令列工具使用

若要使用單一請求還原多個封存的物件,您可以使用 S3 批次操作。您可以為 S3 批次操作提供一份要進行操作的物件清單。S3 批次操作會呼叫相應的 API 操作來執行指定操作。單一批次作業任務可在包含數 EB 資料的數十億個物件上執行指定的操作。

若要建立批次操作任務,您必須擁有清單檔案,且當中只包含您要還原的物件。您可以使用 S3 庫存建立清單檔案,也可以提供包含必要資訊的 CSV 檔案。如需詳細資訊,請參閱 指定資訊清單

在建立和執行 S3 批次操作任務之前,您必須將許可授予 Amazon S3,以便代表您執行 S3 批次操作。如要了解必要的許可,請參閱 授予 Amazon S3 批次操作的許可

注意

批次操作任務可以在 S3 Glacier Flexible Retrieval 和 S3 Glacier Deep Archive 儲存類別物件,或者 S3 Intelligent-Tiering Archive Access 和 Deep Archive Access 儲存層物件上進行。批次操作無法在同一任務中同時對兩種類型的封存物件進行操作。若要還原這兩種類型的物件,您必須建立單獨批次操作任務。

如需使用批次操作來還原封存物件的詳細資訊,請參閱 使用批次操作還原物件

若要建立 S3 啟動還原物件批次操作任務
  1. 登入 AWS Management Console 並開啟 Amazon S3 主控台,網址為 https://console.aws.amazon.com/s3/

  2. 在左側導覽窗格中,選擇 Batch Operations (批次操作)。

  3. 選擇建立作業

  4. 針對 AWS 區域,​選擇要在其中建立任務的區域。

  5. 資訊清單格式下,選擇要使用的清單檔案類型。

    • 如果您選擇 S3 庫存報告,請在 CSV 格式的庫存報告中輸入 Amazon S3 所產生 manifest.json 物件的路徑。如果您要使用的清單檔案版本並非最新版,請輸入 manifest.json 物件的版本 ID。

    • 如果您選擇 CSV,請輸入 CSV 格式資訊清單物件的路徑。資訊清單物件必須遵循主控台中所描述的格式。如果您要使用的版本並非最新版,可以選擇包含清單檔案物件的版本 ID。

  6. 選擇下一步

  7. 作業區段中,選擇還原

  8. 還原區段中,針對還原來源選擇 Glacier Flexible Retrieval 或 Glacier Deep Archive 或 Intelligent-Tiering Archive Access 層或 Deep Archive Access 層

    如果您選擇 Glacier Flexible Retrieval 或 Glacier Deep Archive,請輸入代表已還原副本可用天數的數字。

    針對擷取方案選擇您要使用的層級。

  9. 選擇下一步

  10. 設定其他選項頁面上,填寫下列區段:

    • 其他選項區段中,提供任務的說明,並指定任務的優先順序編號。數字越大表示優先順序越高。如需詳細資訊,請參閱 指派任務優先順序

    • 完成報告區段中,選取「批次操作」是否應建立完成報告。如需完成報告的詳細資訊,請參閱 完成報告

    • 許可區段中,您必須對 Amazon S3 授予許可,以便代表您執行批次操作。如要了解必要的許可,請參閱 授予 Amazon S3 批次操作的許可

    • (選用) 在任務標籤區段中,新增鍵值對形式的標籤。如需詳細資訊,請參閱 使用標籤控制存取和標記任務

    完成時,選擇下一步

  11. 請確認 Review (檢閱) 頁面上的設定。如需變更,請選擇 Previous (上一步)。否則選擇建立任務

如需批次操作的詳細資訊,請參閱 使用批次操作還原物件 和 建立 S3 批次操作任務

檢查還原狀態和到期日

您可以使用 Amazon S3 主控台、Amazon S3 事件通知或 Amazon S3 REST API 來檢查還原請求的 AWS CLI狀態或到期日。

注意

從 S3 Glacier 彈性擷取和 S3 Glacier Deep Archive 儲存類別還原的物件只會存放您指定的天數。下列程序會傳回這些複本的到期日。

從 S3 智慧型分層封存存取和深度封存存取儲存層還原的物件沒有到期日期,而是會移回頻繁存取層。

在 Amazon S3 主控台中查看物件的還原狀態和到期日期
  1. 前往 https://console.aws.amazon.com/s3/ 開啟的 Amazon Simple Storage Service (Amazon S3) 主控台。

  2. 在左側導覽窗格中,選擇 Buckets (儲存貯體)。

  3. 儲存貯體清單中,選擇包含您要還原之物件的儲存貯體名稱。

  4. 物件清單中,選取您要還原的物件。物件的詳細資訊頁面隨即出現。

    • 如果還原未完成,您會在頁面頂端看見一個區段,指出還原進行中

    • 如果還原已完成,您會在頁面頂端看見一個區段,指出還原完成。如果您要從 S3 Glacier Flexible Retrieval 或 S3 Glacier Deep Archive 還原,此區段也會顯示還原過期日期。Amazon S3 會在此日期移除封存物件的還原複本。

使用具有 Amazon S3 事件通知功能的s3:ObjectRestore:Completed動作,即可收到物件還原完成的通知。如需啟用事件通知的詳細資訊,請參閱使用 Amazon SQS、Amazon SNS 和 AWS Lambda啟用通知。如需各種ObjectRestore事件類型的詳細資訊,請參閱SQS、SNS 和 Lambda 支援的事件類型

檢查物件的還原狀態和到期日 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. 開啟位於 https://console.aws.amazon.com/s3/ 的 Amazon S3 主控台。

  2. 在左側導覽窗格中,選擇 Buckets (儲存貯體)。

  3. Buckets (儲存貯體) 清單中,選擇儲存貯體的名稱,其中包含您要還原的物件。

  4. 物件清單中,選取您要還原的物件。物件的詳細資訊頁面隨即出現。在物件的詳細資訊頁面上,選擇升級擷取層級。如需有關檢查物件還原狀態的資訊,請參閱 檢查還原狀態和到期日

  5. 選擇您想要升級的目標層級,然後選擇啟動還原