Amazon Web Services (AWS) EC2 實例是在虛擬機器(VM)上運行工作負載的便捷方式。但如果它們所附加的存儲失敗或損壞了呢?是時候開始討論 AWS EC2 備份了。
當您備份 EC2 實例時,您將談論 Elastic Block Store(EBS) 卷,更具體地說是 EBS 快照。EC2 將所有卷與 EBS 一起存儲,創建 EBS 快照是備份數據的絕佳方式。
在本教程中,您將學習如何使用 AWS 管理控制台 和 AWS 命令行界面(AWS CLI) 創建 EBS 快照。
如果您想輕鬆管理EC2備份/EBS快照,請務必查看Veeam Backup for AWS。Veeam不僅負責創建EBS快照,還管理複製,智能監控變更塊,並提供公共API。
先決條件
本文將是一篇教程。如果您計劃一步一步跟隨,您將需要以下東西:
- 一個AWS帳戶
- 一個AWS虛擬私有雲(VPC)
- 一個帶有附加卷的EC2實例
- 一個帶有以下功能的 IAM 用戶:
- AWS 管理控制台訪問權限
- 對 AWS 服務的程序化訪問
- 執行與快照相關的活動所需的IAM 權限。
IAM 政策創建和 AWS 應用程式編程接口(API)權限不在本文範圍內。在授權帳戶執行操作時,始終遵守最低特權原則。
- 在本地計算機上安裝並通過您的 IAM 用戶進行身份驗證的 AWS CLI。
從 AWS 管理控制台創建 EBS 快照
創建 EBS 快照有幾種不同的方法。讓我們開始通過 AWS 管理控制台創建快照。
EBS 快照可能會產生儲存成本。有關 EBS 費用計算的詳細資訊,請參考 AWS 文件。
前往 EC2 控制台
開始:
- 打開 AWS 管理控制台,並使用您的 AWS(根)或 IAM 帳戶憑證登錄您的 AWS 帳戶。
2. 點擊螢幕左上角的 服務。

3. 從下拉式選單中選擇 EC2。EC2 選項位於 服務 下拉選單中的 計算 類別下方,如下所示。此選項將帶您到 EC2 控制台。

您現在應該位於 資源 儀表板上。 資源 儀表板可快速瞭解您所選 區域 內建立的 EC2 相關資源。在下面的截圖中,您可以看到本教程的 資源 儀表板顯示已為美國東部(北維吉尼亞)地區的已登錄用戶建立了以下資源。

在 EC2 控制台中創建 EBS 快照
一旦您進入 EC2 控制台並查看您的預期區域,就是創建 EBS 快照(AWS EC2 備份)的時候了。 要完成此任務:
- 從屏幕左側的導航窗格中選擇快照,位於Elastic Block Store下。

2. 接下來,在屏幕頂部選擇創建快照。選擇創建快照會將您帶到一個需要一些額外輸入的菜單。

3. 在創建快照頁面上,在選擇資源類型字段下,將資源類型設置為卷。將資源類型設置為卷告訴AWS捕獲單個EBS卷的快照,而不是所有附加到EC2實例的卷。

4. 接下來,從下拉菜單中選擇要對其進行快照的EBS卷的卷ID。卷ID是分配給每個EBS卷的唯一標識符。在下面的屏幕截圖中,您將看到此教程的卷IDvol-0b4f056a0b709240a被選中。

5. 現在在描述字段中輸入您的EBS快照的描述。 描述字段是可選的,最多可以容納255個字符。
您稍後將在EBS快照的屬性中看到此描述。本教程將使用ATA博客的卷快照作為描述。

6. 接下來,您可以使用可選的鍵/值對為您的 EBS 快照標記。 標記是在 AWS 內管理和組織您的資源的強大方式。 本教程將使用標記來示範一個常見的服務器使用案例。
其他常見的標記包括 Name、Owner、Environment 和 Purpose。

7. 現在點擊創建快照按鈕來創建 EBS 快照。

本教程未涵蓋已加密欄位。 從未加密的 EBS 卷創建的 EBS 快照在創建過程中無法加密。 要對從未加密的 EBS 卷創建的 EBS 快照進行加密,您必須先完成未加密的 EBS 快照,複製未加密的 EBS 快照,然後應用所需的加密。 從已加密卷創建的快照會自動加密。
8. 完成後,EC2 控制台將提示您以下成功訊息。 通過選擇關閉來丟棄此訊息。

現在您應該在控制台中看到具有等待中狀態的 EBS 快照。 直到所有修改後的 EBS 卷塊都轉移到 Amazon S3 為止,它將保持此狀態。

初始的 EBS 快照需要更长时间创建,因为它们是完整备份,不像后续的增量备份。如果快照花费的时间比预期长,可以使用屏幕右上角的刷新图标触发状态刷新。
快照完成后,您将看到如下所示的 状态为 完成。

您现在已经创建了一个 AWS EC2 备份!
使用 AWS CLI 创建 EBS 快照
在上一节中,您使用 AWS 的基于 web 的控制台创建了一个 EBS 快照,但这不是唯一的方法!您还可以通过 AWS CLI 创建快照来备份 EC2 实例。
要使用 AWS CLI 创建快照,假设您已经安装了 AWS CLI 并对您的帐户进行了身份验证:
- 在 Windows 计算机上打开命令提示符或 PowerShell 控制台
2. 运行 aws ec2 describe-volumes
命令,并使用 --query
参数输出实例和卷 ID 的列表。记下您想要快照的卷 ID。
3. 运行命令 aws ec2 create-snapshot
,提供以下参数:
volume-id
– 您要备份的 EBS 卷的唯一卷 IDdescription
– 您想应用于备份的描述tag-specifications
– 您想附加到备份的标签
以下命令將使用--volume-id
參數指定的卷創建一個快照,描述為Volume Snapshot for ATA Blog via the AWS CLI,並帶有兩個標籤:Name: FileServer01和Purpose: Enterprise File Storage。

AWS允許您根據用戶偏好配置AWS CLI命令的默認輸出格式。輸出格式選擇包括JSON、YAML、YAML-Stream、Text和Table。您的命令輸出取決於AWS CLI的配置,可能與上面顯示的輸出不同。
4. 現在,使用aws ec2 describe-snapshots
命令檢查快照的狀態,通過將快照的ID提供給--snapshot-id
參數。從步驟2返回的SnapshotID
屬性中查找快照ID。
如果您不知道快照ID,請使用
aws ec2 describe-snapshots --owner self
搜索您的所有快照。
最終,describe-snapshots
命令應返回Progress
為100%
,State
為completed
,如下所示。

幹得好!您剛剛使用AWS CLI以程序化方式創建了一個EBS快照!
下一步
在這個教程中,您已經學會了如何使用基於網頁的 AWS 控制台和程序化 AWS CLI 創建 Amazon EC2 實例的 EBS 快照備份。
如果您已經完成了在本教程中創建的快照的測試,請務必刪除它以避免產生費用!
為了走得更遠,不妨試試恢復一個 EC2 實例?