還原已封存的物件 - 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 Intelligent-Tiering 還原物件時,使用「標準」擷取或「大量」擷取無需支付擷取費用。對已還原物件的後續還原請求呼叫將會以 GET 請求計費。如需定價的資訊,請參閱 Amazon S3 定價

還原封存的物件

您可以使用 Amazon S3 主控台、Amazon 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,並開啟位於 https://console.aws.amazon.com/s3/ 的 Amazon 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 中的物件,可以選擇是否購買佈建的容量以進行「快速」擷取。如果您想要購買佈建的容量,請繼續執行下一個步驟。如果不要購買,請選擇啟動還原

  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 '{}'
監控還原狀態

若要監控 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 開發套件將物件的存檔副本還原回 Amazon S3 儲存貯體

若要使用單一請求還原多個封存的物件,您可以使用 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,並開啟位於 https://console.aws.amazon.com/s3/ 的 Amazon S3 主控台。

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

  3. 選擇 Create job (建立任務)。

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

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

    • 如果您選擇 S3 庫存報告,請在 CSV 格式的庫存報告中輸入 Amazon S3 所產生 manifest.json 物件的路徑。如果您要使用的清單檔案版本並非最新版,請輸入 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 批次操作的許可

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

    完成時,選擇下一步

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

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

檢查還原狀態與過期日期

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

注意

從 S3 Glacier Flexible Retrieval 和 S3 Glacier Deep Archive 還原的物件只會儲存您指定的天數。以下程序將傳回這些複本的到期日期。從 S3 Intelligent-Tiering Archive Access 和 Deep Archive Access 儲存層還原的物件沒有到期日期,而會移回 Frequent Access 層。

在 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 會在此日期移除封存物件的還原複本。

使用 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. 選擇您想要升級的目標層級,然後選擇啟動還原