將 Amazon S3 與 AWS EC2 用作雲端備份儲存空間
Amazon 提供雲端運算與儲存服務。可運用不同的 AWS 服務將備份資料儲存於雲端並確保資料安全,其中包括 Amazon EC2 和 Amazon S3。然而,這些服務在運作方式、可儲存的備份資料類型以及儲存方式上各有不同。
這篇部落格文章將說明如何利用附加於 Amazon EC2 執行個體的 EBS 卷宗以及 Amazon S3 來儲存備份資料。
註: 本文並非對 EC2 與 S3 的全面比較,因為 EC2 是一個用於在雲端執行工作負載的雲端運算平台。相反地,本文著重於用於儲存 EC2 資料的 Elastic Block Storage (EBS),並將其與 S3 進行比較。
為何選擇 AWS 進行資料備份
根據 3-2-1 備份法則, 您應至少保留三份關鍵資料的副本,其中一份應存放於異地。雲端儲存服務(包括 Amazon S3 以及 Amazon EC2 執行個體中的 EBS 儲存區)可作為備份資料的異地儲存方案。但該如何以及何時使用這些服務呢?讓我們先來了解這兩項 AWS 服務所提供的功能。
- Amazon EC2 (彈性運算) 執行個體是在 AWS 雲端、AWS 伺服器及 AWS 資料中心上運行的虛擬機器。用來儲存執行個體資料的容器稱為 EBS (彈性區塊儲存) 卷,其功能相當於虛擬磁碟。
EBS 儲存空間 由於資料儲存的基本單位是區塊,因此被歸類為區塊儲存。EBS 卷會連接至執行個體,並儲存這些執行個體的主要資料。您可為 EBS 卷選擇硬碟 (HDD) 或固態硬碟 (SSD)。
- Amazon S3 (Simple Storage Service) 是 AWS 的物件儲存服務。用於儲存資料的容器稱為儲存桶。資料以物件形式儲存於儲存桶中,而非以區塊形式儲存。基於物件的儲存支援版本控制功能,這對於資料還原而言是一項實用的特點。
使用 Amazon EC2 進行工作負載還原
當本地生產資料中心無法運作時,Amazon EC2 執行個體可用於將本地虛擬機器進行雲端還原。為因應此類情況,您應將本地工作負載透過備份或複本遷移至雲端,作為 災難還原計畫.
在災難情境下,相較於備份,將資料複製至 EC2 更為可取。使用複本恢復應用程式和伺服器的運作,所需時間比使用備份更短(也就是說,所需時間更少 RTO)。例如,您可以將資料庫從本地伺服器或虛擬機器複製到 EC2 執行個體,並幾乎即時地執行 故障移轉 當您需要時 從災難中恢復.
EC2 執行個體所使用的 EBS 卷提供高速區塊儲存。以下是使用 EBS 卷進行備份與還原的一些優點與缺點。
- 優點: EBS 適用於高效能工作負載。資料可從一個 EBS 卷快速複製到另一個 EBS 卷。此外,相較於 Amazon S3 儲存空間,使用 Amazon EC2 執行個體的 EBS 卷能獲得更佳的資料庫效能。
如果您需要從本地(內部部署)伺服器傳輸資料,網際網路連線速度將成為瓶頸,在此情況下,使用 Amazon S3 可能更為合理。
- 缺點:除了將 EBS 卷用於備份其他 EBS 卷之外,若將 EBS 作為首選的備份目的地,成本過高,尤其是對於 EC2 執行個體以外的工作負載而言。
AWS 中的 EC2 執行個體資料保護
在 AWS 中,Amazon EC2 執行個體及其連接的 EBS 卷宗並不會自動備份。資料僅會在 Amazon 資料中心內同一可用區域的伺服器之間進行複製,以確保資料中心冗餘,以防發生磁碟或伺服器故障(硬體故障)。
雖然沒有備份功能性,但 AWS 提供了三種原生方法來保護 EC2 執行個體中的資料:
- 正在建立 EBS 快照。 這是建立 EBS 卷(包括加密 EBS 卷)還原點的簡易方法。快照可用於將資料還原至新的 EBS 卷。當使用邏輯卷管理器(例如 LVM 或 mdadm, 建議您在卷管理器層級執行備份,而非使用 EBS 快照,以確保子元件卷的資料一致性與連貫性。請注意,當您使用快照還原 EBS 卷時,這些 EBS 卷必須掛載至已預先準備好的 EC2 執行個體上。
- 建立 Amazon 機器映像 (AMI)。 AMI 是一種映像檔,其中包含作業系統、所有設定以及執行 EC2 執行個體所需的所有資料。透過 AMI,您可以根據該 AMI 建立新的 EC2 執行個體。此方法可用於復原 EC2 執行個體以及複製(克隆)它們。請注意,您應先停止正在運行的 EC2 執行個體,然後再建立新的 AMI。
相較於使用 EBS 卷快照,此方法的優勢在於能還原整個 EC2 執行個體,而不僅是 EBS 卷(後者需在還原程序完成後,手動掛載至已建立的 EC2 執行個體)。雖然配置用於還原的 AMI 映像會耗費較多時間,但在還原效能與可擴展性方面表現優異。
- 將 EC2 執行個體複製到 S3。 將儲存於 EBS 卷上的資料複製到 Amazon S3 儲存桶,是保護 EC2 執行個體中資料的另一種方法。由於 Amazon S3 屬於物件儲存,而 Amazon EBS 屬於區塊儲存,因此需要使用 FUSE(使用者空間檔案系統)才能讀取或寫入 S3 儲存桶中的檔案。FUSE 可安裝於 EC2 執行個體、虛擬機器或實體電腦上所運行的作業系統中,以便存取 Amazon S3 儲存桶。
然而,就資料一致性而言,將應用程式(例如資料庫)正在使用的檔案複製到 S3,可能會導致資料損毀。
使用 Amazon S3 進行資料還原
Amazon S3 為儲存於儲存桶中的物件提供版本控制特點。預設情況下,Amazon S3 的版本控制特點處於停用狀態,但您可以輕鬆啟用此特點。啟用版本控制特點後,在對物件進行寫入變更時,先前版本的物件仍會被保留。變更會以物件的新版本形式儲存,且已刪除的物件並不會被永久移除。
使用 Amazon S3 儲存版本各有其優缺點。
- 優點: Amazon S3 根據資料存取的頻率及擷取時間,提供不同價格區間的儲存類別。Amazon 同時針對 Amazon S3 儲存服務提供彈性的定價政策,使 S3 對許多使用者而言都相當經濟實惠。進一步了解 Amazon S3 以獲取更多資訊 AWS S3 的運作原理.
Amazon S3 亦支援物件鎖定功能,以確保儲存資料的不可變性,並防止物件遭到意外變更或刪除。此儲存設定亦稱為 寫入一次,多次讀取 (WORM)。
- 缺點: 若不想透過 AWS 的網頁介面手動複製檔案,則需要使用特殊工具。此外,AWS 會針對從 Amazon S3 傳輸的資料收取出站費用(這些費用取決於從 AWS 傳輸的資料量以及所使用的儲存層級)。
Amazon S3 資料保護的使用情境
將 Amazon S3 用作備份目的地有許多使用情境。建議在以下情況下選擇此儲存類型:
- 儲存於 EBS 卷上的資料副本。如前所述,您可以將 EC2 執行個體所使用的 EBS 卷複製到 Amazon S3 儲存空間。
- 在 S3 儲存桶之間複製資料。
- 儲存於實體電腦及在本地端運作的虛擬機器上的資料備份。
如何保護 Amazon S3 中的資料
您可以使用各種 AWS 工具來保護 Amazon S3 中的資料,防止資料遺失。請啟用並設定物件版本控制功能,以便在 S3 儲存桶中儲存物件的不同版本,以利日後還原;並請參閱以下可用的工具:
-
命令列工具. 使用 AWS SDK 將物件從一個 S3 儲存桶複製到另一個 S3 儲存桶,或 其他工具. 其他適用於 Linux 和 Windows 的熱門命令列工具,例如
s3cmd,s4cmd以及AWS CLI也可以使用。安裝其中一種工具,即可在 S3 儲存桶之間傳輸資料。您也可以使用這些命令列工具,在儲存桶之間複製資料以進行還原。使用腳本將資料備份至 S3 是一種常見的做法,但需要投入大量心力。此方法適用於從 S3 儲存桶、EC2 執行個體,以及實體與虛擬機器進行資料備份。
- 優點 CLI 工具和腳本均可免費取得。
- 缺點 使用腳本設定資料複製相當複雜。此外,在進行任何複製程序之前,您應停止執行中的應用程式,並停止使用作業系統內的特點(例如卷宗快照),以確保資料的一致性。
- AWS 儲存閘道. 您可以使用 AWS Storage Gateway,將資料從本地端的實體和虛擬機器傳輸至 Amazon S3 儲存桶。
AWS Storage Gateway 是一項混合式儲存服務,以虛擬機器形式部署,並提供快取選項以加快檔案存取速度。共有三種 AWS 儲存閘道:檔案閘道、磁碟區閘道及磁帶閘道。
部署儲存閘道後,即可使用 SMB、NFS 和 iSCSI 等標準共用協定存取 Amazon S3 儲存空間。AWS Storage Gateway 以 VA (virtual appliance) 的形式提供,用於 VMware vSphere 以及 Hyper-V 平台,只要您擁有 Amazon S3 的訂閱方案,即可免費下載。
直接將資料備份至 AWS 的解決方案
在 AWS 中保護資料更有效率且可靠的方法,是部署能與 AWS 整合的第三方資料保護解決方案,例如 NAKIVO Backup & Replication. NAKIVO 解決方案是一款通用資料保護解決方案,支援:
- Amazon EC2 備份. 一致性備份與還原 EC2 執行個體(至 EBS 和 S3)。您無需手動建立並設定新的 EC2 執行個體,也無需手動掛載還原後的 EBS 卷宗。只要您需要,即可立即開始還原檔案和應用程式物件。
- Amazon EC2 複製. 在 AWS 中複製重要的 EC2 執行個體,並根據您的資料還原情境和災難還原計畫使用 EC2 複本,以實現高 RTO。
- 備份至 Amazon S3. 將 Microsoft Hyper-V 和 VMware vSphere 虛擬機器、實體 Windows 和 Linux 電腦,以及 EC2 執行個體備份至 Amazon S3 儲存桶。支援直接備份至 Amazon S3 儲存桶,無需部署 AWS Storage Gateway。系統會在 S3 儲存桶中建立一個專用的 Amazon S3 備份儲存庫。
- 備份至 Amazon EC2. 您可以在 EC2 執行個體上建立備份儲存庫,設定資料中心與 EC2 執行個體所用網路之間的連線,並將資料備份至該 EC2 執行個體。
NAKIVO Backup & Replication 提供了一系列實用特點,讓您能更快速、更方便且更可靠地設定 AWS 備份。這些特點包括:
- 支援不可變性的 Amazon S3 儲存服務 可用作備份目的地,以防範意外或由勒索軟體所導致的資料變更。
- 站點還原 讓您能夠根據預先定義的條件和動作,自動執行並編排 EC2 執行個體及其他虛擬環境的災難還原工作流程。透過站點還原特點,即可輕鬆實現複雜的災難還原情境。
- 工作排程. 備份工作可設定為自動執行。 靈活的保留設定 讓您能夠為不同的還原情境保留多個還原點。
- 應用程式感知備份 對於資料的一致性至關重要。 NAKIVO Backup & Replication 在基於 Windows 的電腦上使用 VSS(卷影複本服務)等特點,以確保應用程式(例如資料庫伺服器)運作時資料的一致性, Active Directory 伺服器等)對檔案執行寫入操作。