

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

# 還原 Amazon EBS 磁碟區或 EC2 執行個體
<a name="restore"></a>

如果您只需要還原連接至 EC2 執行個體的單一磁碟區，您可以個別還原該磁碟區、分離現有的磁碟區，並將還原的磁碟區連接至您的 EC2 執行個體。如果您需要還原整個 EC2 執行個體，包括其所有相關聯的磁碟區，您必須使用執行個體的 Amazon Machine Image (AMI) 備份。

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

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

以下所述的還原程序適用於未使用 Elastic Load Balancing 的執行個體：
+ 從 EBS 快照還原個別檔案和目錄
+ 從 Amazon EBS 快照還原 EBS 磁碟區
+ 從 EBS 快照建立或還原 EC2 執行個體
+ 從 AMI 還原執行中的執行個體

## 從 EBS 快照還原檔案和目錄
<a name="restore-files"></a>

[EBS 快照](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-snapshots.html)提供用於建立快照之原始磁碟區的point-in-time確切複本。若要還原個別檔案或目錄，您必須執行下列動作：

1. [首先，從包含檔案或目錄的 EBS 快照還原磁碟](https://docs.aws.amazon.com/prescriptive-guidance/latest/backup-recovery/restore.html#restore-snapshot)區。

1. 將磁碟區連接至您要還原檔案的 EC2 執行個體。

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

1. 分離和刪除還原的磁碟區。

## 從 Amazon EBS 快照還原 EBS 磁碟區
<a name="restore-snapshot"></a>



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

請注意，來自 Amazon EBS 快照的資料會以非同步方式載入 EBS 磁碟區。如果應用程式存取未載入資料的磁碟區，則從 Amazon S3 載入資料時，延遲會比平常高。為了避免對延遲敏感的應用程式造成此影響，您有兩個選項：
+ 您可以[初始化 EBS 磁碟區](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-initialize.html)。
+ 額外付費，Amazon EBS 支援[快速快照還原](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-fast-snapshot-restore.html)，無需初始化您的磁碟區。

如果您要取代必須使用相同掛載點的磁碟區，請卸載該磁碟區，以便掛載新的磁碟區。若要卸載磁碟區，請先停止使用該磁碟區的任何程序。如果您要取代根磁碟區，您必須先停止執行個體，才能分離根磁碟區。

例如，請依照下列步驟，使用 主控台將磁碟區還原至較早point-in-time備份：

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

1. 搜尋您要還原的快照，然後選取它。

1. 選擇**動作**，然後選擇**建立磁碟區**。

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

1. 在 Amazon EC2 主控台上，選取執行個體。

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

1. 連接磁碟區。根磁碟區和非根磁碟區的程序不同。

   對於根磁碟區：

   1. 停止 EC2 執行個體。

   1. 在 **EC2 Elastic Block Store Volumes** 功能表中，選取您要取代的根磁碟區。

   1. 選擇**動作**，然後選擇**分離磁碟區**。

   1. 在 **EC2 彈性區塊存放磁碟**區功能表中，選取新的磁碟區。

   1. 選擇**動作**，然後選擇**連接磁碟區**。

   1. 選取您要連接磁碟區的執行個體，並使用您先前記下的相同裝置名稱。

   對於非根磁碟區：

   1. 在 **EC2 Elastic Block Store Volumes** 功能表中，選取您要取代的非根磁碟區。

   1. 選擇**動作**，然後選擇**分離磁碟區**。

   1. 在 **EC2 彈性區塊存放磁碟區**功能表中選擇，然後選擇**動作**、連接磁碟區，以連接新的磁碟**區**。選取您要連接至其中的執行個體，然後選取可用的裝置名稱。

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

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

   1. 在 **EC2 彈性區塊存放磁碟區**功能表中選擇，然後選擇**動作**、**分離磁碟區，以分離您可能要取代的任何先前磁碟區**。

您也可以使用 AWS CLI 搭配作業系統命令來自動化這些步驟。

## 從 EBS 快照建立或還原 EC2 執行個體
<a name="instance-from-snapshot"></a>

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

**注意**  
在多數情況，適用於 Windows、Red Hat、SUSE 和 SQL Server 的 AMI 需要 AMI 具正確授權資訊。如需詳細資訊，請參閱[了解 AMI 帳單資訊](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ami-billing-info.html)。當從快照建立 AMI 時，`RegisterImage` 操作會從快照的中繼資料衍生出正確帳單資訊，但這需要有適當的中繼資料。若要驗證是否已套用正確帳單資訊，請參閱新 AMI 的**平台詳細資料**欄位。如果欄位空白或不符合預期的作業系統程式碼 （例如 Windows、Red Hat、SUSE 或 SQL)，則 AMI 建立失敗，您應該捨棄 AMI，並遵循[從執行個體建立 AMI](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/creating-an-ami-ebs.html#how-to-create-ebs-ami) 中的指示。

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

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

1. 搜尋將用於為新 EC2 執行個體建立根磁碟區的快照，然後選取該快照。

1. 選擇**動作**，然後選擇**從快照建立映像**。

1. 輸入映像的名稱 （例如 `YYYYMMDD-restore-for-i-012345678998765de`)，然後為新映像選擇適當的選項。

1. (僅限 Windows、Red Hat、SUSE 和 SQL Server) 若要驗證是否已套用正確帳單資訊，請檢查新 AMI 的**平台詳細資料**欄位。如果欄位空白或不符合預期的作業系統程式碼 （例如 **Windows** 或 **Red Hat**)，則 AMI 建立會失敗，您應該捨棄 AMI，並遵循[從執行個體建立 AMI](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/creating-an-ami-ebs.html#how-to-create-ebs-ami) 中的指示。

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

## 從 AMI 還原執行中的執行個體
<a name="restore-ami"></a>

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

不過，如果在還原期間，您必須將服務中執行個體的停機時間降至最低，請考慮從 AMI 備份啟動和測試新的執行個體。然後將現有的執行個體取代為新的執行個體。

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

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