還原 Amazon EBS 磁碟區或 EC2 執行個體 - AWS 規定指引

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

還原 Amazon EBS 磁碟區或 EC2 執行個體

如果您只需要還原連接到 EC2 執行個體的單一磁碟區,則可以分別還原該磁碟區、分離現有磁碟區,然後將還原的磁碟區附加到 EC2 執行個體。如果您需要還原整個 EC2 執行個體 (包括所有關聯的磁碟區),則必須使用執行個體的 Amazon 機器映像 (AMI) 備份。

為了減少復原時間以及對相依應用程式和程序的影響,您的還原程序必須考量其取代的資源。為獲得最佳結果,請定期在較低環境 (例如非生產環境) 中測試還原程序,以確認您的程序是否符合復原點目標 (RPO) 和復原時間目標 (RTO),以及還原程序是否如預期般運作。考慮還原程序會如何影響依賴於您要還原之執行個體的應用程式和服務,然後視需要協調還原作業。嘗試盡可能自動化並測試還原程序,以降低還原程序失敗或不一致地實作的風險。

如果您使用 Elastic Load Balancing,讓多個執行個體為流量提供服務,則可以將故障或受損的執行個體停止服務。然後,您可以還原新的執行個體以取代它,而其他執行個體會繼續為流量提供服務,而不會中斷使用者。

下列所述的還原程序適用於未使用 Elastic Load Balancing 的執行處理:

  • 從 EBS 快照還原個別檔案和目錄

  • 從 Amazon EBS 快照還原 EBS 磁碟區

  • 從 EBS 快照建立或還原 EC2 執行個體

  • 從 AMI 還原執行中的執行個體

從 EBS 快照還原檔案和目錄

EBS 快照提供用來建立快照之原始磁碟區的 point-in-time 精確複本。若要還原個別檔案或目錄,您必須執行下列動作:

  1. 首先,從包含檔案或目錄的 EBS 快照還原磁碟區

  2. 將磁碟區附加到要還原檔案的 EC2 執行個體。

  3. 將檔案從還原的磁碟區複製到 EC2 執行個體磁碟區。

  4. 分離並刪除還原的磁碟區。

從 Amazon EBS 快照還原 EBS 磁碟區

您可以從現有 EC2 執行個體建立磁碟區並將其附加到執行個體,藉此還原連接到現有 EC2 執行個體的磁碟區。您可以使用控制台 AWS CLI、或 API 操作從現有快照建立磁碟區。然後,您可以使用作業系統將磁碟區掛接到執行個體。

請注意,來自 Amazon EBS 快照的資料會以非同步方式載入 EBS 磁碟區。如果應用程式存取未載入資料的磁碟區,則從 Amazon S3 載入資料時,延遲會比正常情況高。若要避免對延遲敏感的應用程式產生這種影響,您有兩種選擇:

如果您要更換必須使用相同掛接點的磁碟區,請卸載該磁碟區,以便在其位置掛接新的磁碟區。若要卸載磁碟區,請先停止任何正在使用該磁碟區的程序。如果要取代根磁碟區,您必須先停止執行個體,才能卸離根磁碟區。

例如,請依照下列步驟,使用主控台將磁碟區還原為先前的 point-in-time 備份:

  1. 在 Amazon EC2 主控台的彈性區塊存放區功能表上,選擇快照

  2. 搜尋您要還原的快照,然後加以選取。

  3. 選擇 [動作],然後選擇 [建立磁碟區]。

  4. 在與 EC2 執行個體相同的可用區域中建立新磁碟區。

  5. 在 Amazon EC2 主控台上,選取執行個體。

  6. 在執行個體詳細資料中,記下您要取代的裝置名稱,在根裝置項目或封鎖裝置項目中。

  7. 附加磁碟區。根磁碟區和非根磁碟區的程序不同。

    對於根磁碟區:

    1. 停止 EC2 執行個體。

    2. EC2 彈性區塊存放磁碟區功能表上,選取要取代的根磁碟區。

    3. 選擇 [動作],然後選擇 [分離磁碟區]。

    4. EC2 彈性區塊存放磁碟區功能表上,選取新磁碟區。

    5. 選擇 [動作],然後選擇 [連接磁碟區]。

    6. 選取您要連接磁碟區的執行個體,然後使用您先前提到的相同裝置名稱。

    對於非根磁碟區:

    1. EC2 彈性區塊存放磁碟區功能表上,選取要取代的非根磁碟區。

    2. 選擇 [動作],然後選擇 [分離磁碟區]。

    3. EC2 彈性區塊存放磁碟區功能表上選擇新磁碟區,然後選擇動作 > 連接磁碟區,以連接新磁碟區。選取您要附加的執行個體,然後選取可用的裝置名稱。

    4. 使用執行個體的作業系統卸載現有的磁碟區,然後將新磁碟區掛接到其位置。

      在 Linux 中,您可以使用該umount命令。在 Windows 中,您可以使用邏輯磁碟區管理員 (LVM),例如磁碟管理系統公用程式。

    5. EC2 彈性區塊存放區磁碟區功能表上選擇該磁碟區,然後選擇 [作] > [卸離磁碟區],以卸離您可能要取代的任何先前磁碟

您也可以結合使用 AWS CLI 作業系統指令來自動執行這些步驟。

從 EBS 快照建立或還原 EC2 執行個體

若要建立用於還原整個 EC2 執行個體的備份,建議您建立 Amazon 機器映像 (AMI)。AMI 會擷取機器資訊,例如虛擬化類型。他們還會為連接到 EC2 執行個體的每個磁碟區 (包括其裝置對映) 建立快照,以便在相同的組態中還原它們。

但是,如果您必須使用 EBS 快照還原執行個體,請先從 EBS 快照建立 AMI,該快照將成為新 EC2 執行個體的根磁碟區:

  1. 在 Amazon EC2 主控台的彈性區塊存放區功能表上,選擇快照

  2. 搜尋將用於為新 EC2 執行個體建立根磁碟區的快照,然後加以選取。

  3. 選擇 [動作],然後選擇 [從快照建立影像]。

  4. 輸入影像的名稱 (例如,YYYYMMDD-restore-for-i-012345678998765de),然後為新影像選擇適當的選項。

建立映像並可用之後,您可以啟動新的 EC2 執行個體,該執行個體將使用根磁碟區的 EBS 快照。

從 AMI 還原執行中的執行個體

您可以從 AMI 備份啟動新執行個體,以取代現有的執行中執行個體。一種方法是停止現有的執行個體,在您從 AMI 啟動新執行個體時將其保持離線狀態,並執行任何必要的更新。這種方法可降低兩個執行個體同時執行的衝突風險。如果執行個體提供的服務已關閉,或者您正在維護時段執行還原作業,這是可以接受的方法。測試新執行個體之後,您可以重新指派配置給舊執行個體的任何彈性 IP 位址。然後,您可以更新任何網域名稱服務 (DNS) 記錄,以指向新的執行個體。

但是,如果在還原期間必須將服務中執行個體的停機時間降至最低,請考慮從 AMI 備份啟動和測試新執行個體。然後使用新例證取代現有的執行個體。

當這兩個執行個體都在執行時,您必須防止新執行個體造成任何平台層級或應用程式層級衝突。例如,您可能會遇到使用相同 SID 和電腦名稱執行的網域 Windows 執行個體的問題。您可能會遇到需要唯一識別碼的網路應用程式和服務類似的問題。

為了防止其他伺服器和服務在新執行個體準備就緒之前連線至您的新執行個體,請使用安全性群組暫時封鎖新執行個體的所有輸入連線,但您自己的 IP 位址進行存取和測試除外。您也可以暫時封鎖新執行個體的輸出連線,以防止服務和應用程式啟動對其他資源的任何連線或更新。當新執行個體準備就緒時,請停止現有執行個體,在新執行個體上啟動服務和程序,然後解除封鎖您實作的任何輸入或輸出網路連線。