使用 Veeam Backup 和複寫將資料備份並存檔到 Amazon S3 - AWS 方案指引

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

使用 Veeam Backup 和複寫將資料備份並存檔到 Amazon S3

由珍娜·詹姆斯,安東尼·菲奧雷(AWS)和威廉·奎格利創建

環境:生產

技術:儲存與備份

AWS 服務:Amazon EC2; Amazon S3; Amazon S3 冰川

Summary

此模式詳細說明使用 Veeam 向外擴充 Backup 儲存庫功能,將 Veeam 備份和複寫建立的備份傳送到支援的 Amazon 簡單儲存服務 (Amazon S3) 物件儲存類別的程序。 

Veeam 支援多種 Amazon S3 儲存類別,以最符合您的特定需求。您可以根據備份或封存資料的資料存取、恢復能力和成本需求來選擇儲存類型。例如,您可以將不打算使用 30 天或更長時間的資料存放在 Amazon S3 不常存取 (IA) 中,以降低成本。如果您打算將資料存檔 90 天或更長時間,可以使用 Amazon Simple Storage Service Glacier (Amazon S3 Glacier) 彈性擷取或 S3 Glacier Deep Archive 搭配 Veeam 的存檔層。您也可以使用 S3 物件鎖定在 Amazon S3 中使備份不可變。

此模式不涵蓋如何使用 AWS Storage Gateway 中的磁帶閘道設定 Veeam Backup 和複寫。如需該主題的相關資訊,請參閱 V eeam 網站上的使用 AWS VTL 閘道進行 Backup 和複寫 — 部署指南

警告:此案例需要具有程式設計存取權限和長期登入資料的 IAM 使用者,這會帶來安全風險。為了減輕此風險,我們建議您僅向這些使用者提供執行工作所需的權限,並在不再需要這些使用者時移除這些使用者。如有必要,可更新存取金鑰。如需詳細資訊,請參閱 IAM 使用者指南中的更新存取金鑰

先決條件和限制

先決條件

  • 已安裝 Veeam Backup 與複寫功能,包括 Veeam 可用性套件或 Veeam Backup 基本資訊 (您可以註冊免費試用)

  • Veeam Backup 和複寫授權,具有企業版或超強企業版功能,其中包括 Veeam 通用授權 (VUL)

  • 可存取 Amazon S3 儲存貯體的有效 AWS Identity and Access Management (IAM) 使用者

  • 可存取亞馬遜彈性運算雲端 (Amazon EC2) 和 Amazon Virtual Private Cloud (Amazon VPC) 的有效 IAM 使用者 (如果使用存檔層)

  • 從現場部署到 AWS 服務的網路連線,透過公用網際網路連線或 AWS Direct Connect 公有虛擬界面 (VIF) 提供備份和還原流量的可用頻寬

  • 已開啟下列網路連接埠和端點,以確保與物件儲存庫正確通訊:

    • Amazon S3 儲存 — TCP — 連接埠 443:用於與 Amazon S3 儲存通訊。

    • Amazon S3 儲存 — 雲端端點 — 適用於 AWS 區域和 AWS GovCloud (美國) 區域的 *.amazonaws.com,或適用於中國區域的 *.amazonaws.com.rproxy.goskope.com.cn:用於與 Amazon S3 儲存進行通訊。如需連線端點的完整清單,請參閱 AWS 文件中的 Amazon S3 端點

    • Amazon S3 儲存 — TCP HTTP — 連接埠 80:用於驗證憑證狀態。請考慮憑證驗證端點 (憑證撤銷清單 (CRL) URL 和線上憑證狀態通訊協定 (OCSP) 伺服器 — 可能會變更。實際的位址清單可以在憑證本身中找到。

    • Amazon S3 儲存 — 憑證驗證端點 — *.amazontrust.com:用於驗證憑證狀態。請考慮憑證驗證端點 (CRL URL 和 OCSP 伺服器) 可能會變更。實際的位址清單可以在憑證本身中找到。

限制

  • Veeam 不支援任何用作 Veeam 物件儲存庫的 S3 儲存貯體上的 S3 生命週期政策。其中包括 Amazon S3 儲存類別轉換和 S3 生命週期到期規則的政策。Veeam 必須是管理這些物件的唯一實體。啟用 S3 生命週期政策可能會產生意外的結果,包括資料遺失。

產品版本

  • Veeam Backup 與複寫 v9.5 更新 4 或更新版本 (僅備份或容量層)

  • Veeam Backup 與複寫 v10 或更新版本 (備份或容量層和 S3 物件鎖定)

  • Veeam Backup 與複寫第 11 版或更新版本 (備份或容量層、存檔或存檔層,以及 S3 物件鎖定)

  • Veeam Backup 與複寫 v12 或更新版本 (效能層、備份或容量層、封存或存檔層,以及 S3 物件鎖定)

  • S3 Standard

  • S3 標準 – IA

  • S3 單區域 – IA

  • S3 冰川彈性擷取 (僅限 v11 及更新版本)

  • S3 Glacier Deep Archive (僅限 v11 及更新版本)

  • S3 冰川即時擷取 (僅限 v12 及更新版本)

架構

源, 技術, 堆棧

  • 透過 Veeam Backup 伺服器或 Veeam 閘道伺服器連線到 Amazon S3 的現場部署 Veeam 備份和複寫安裝

目標技術堆疊

  • Amazon S3

  • Amazon VPC 和 Amazon EC2(如果使用存檔層)

目標體系結構:SOBR

下圖顯示向外延展備份儲存庫 (SOBR) 架構。

用於將資料從 Veeam 備份到 Amazon S3 的 SOBR 架構

Veeam Backup 和複製軟體可保護資料,避免系統故障、應用程式錯誤或意外刪除等邏輯錯誤。在此圖中,備份會先在內部部署執行,而次要副本會直接傳送至 Amazon S3。備份代表資料的 point-in-time 副本。

工作流程包含分層或將備份複製到 Amazon S3 所需的三個主要元件,以及一個選用元件:

  • Veeam Backup 與複製 (1) — 負責協調、控制和管理備份基礎結構、設定、工作、復原工作和其他程序的備份伺服器。

  • Veeam 閘道伺服器 (未顯示在圖表中) — 選用的現場部署閘道伺服器,如果 Veeam 備份伺服器沒有 Amazon S3 的對外連線,則需要此伺服器。

  • 向外延展備份儲存庫 (2) — 支援多層資料儲存的水平擴展的儲存庫系統。橫向擴充備份儲存庫由一或多個備份儲存庫組成,可快速存取資料,並且可以使用 Amazon S3 物件儲存儲庫進行擴充,用於長期儲存 (容量層) 和存檔 (存檔層)。Veeam 使用向外延展備份儲存庫,在本機 (效能層) 和 Amazon S3 物件儲存 (容量和存檔層) 之間自動分層資料。

  • Amazon S3 (3) — 提供可擴展性、資料可用性、安全性和效能的 AWS 物件儲存服務。

目標架構:DTO

下圖顯示 direct-to-object (DTO) 架構。

用於將資料從 Veeam 備份到 Amazon S3 的 DTO 架構

在此圖中,備份資料直接傳送到 Amazon S3,而不會先存放在現場部署。次要副本可以存放在 S3 冰川中。

自動化和規模

您可以使用存放庫中提供的 AWS CloudFormation 範本,自動化 IAM 資源和 S3 VeeamHub GitHub 儲存貯體的建立。範本包括標準和不可變選項。

工具

工具和 AWS 服務

  • Veeam Backup 和複寫是 Veeam 的解決方案,用於保護、備份、複製和還原您的虛擬和實體工作負載。

  • AWS 可 CloudFormation協助您建立 AWS 資源的模型和設定、快速且一致地佈建它們,並在整個生命週期中進行管理。您可以使用範本來描述您的資源及其相依性,並將它們一起啟動並設定為堆疊,而不是個別管理資源。您可以跨多個 AWS 帳戶和 AWS 區域管理和佈建堆疊。

  • 亞馬遜彈性運算雲 (Amazon EC2) 在 AWS 雲端提供可擴展的運算容量。您可以使用 Amazon EC2 根據需要啟動任意數量或少量的虛擬伺服器,並且可以向外擴展或擴展。

  • AWS Identity and Access Management (IAM) 是一種用於安全控制 AWS 服務存取的 Web 服務。透過 IAM,您可以集中管理使用者、存取金鑰等安全登入資料,以及控制使用者和應用程式可存取的 AWS 資源的許可。

  • Amazon Simple Storage Service (Amazon S3) 是一種對象存儲服務。您可以使用 Amazon S3 隨時從 Web 任何地方存放和擷取任意資料量。

  • Amazon S3 Glacier (S3 Glacier) 是一種安全耐用的服務,適用於低成本的資料存檔和長期備份。

  • Amazon Virtual Private Cloud (Amazon VPC) 佈建 AWS 雲端的邏輯隔離部分,您可以在已定義的虛擬網路中啟動 AWS 資源。這個虛擬網路與您在資料中心中操作的傳統網路非常相似,且具備使用 AWS 可擴展基礎設施的優勢。

Code

使用VeeamHub GitHub 儲存庫中提供的 CloudFormation 範本,為此模式自動建立 IAM 資源和 S3 儲存貯體。如果您想要手動建立這些資源,請按照 Epics 一節中的步驟操作。

最佳實務

  • 根據 IAM 最佳實務,我們強烈建議您定期輪換長期 IAM 使用者登入資料,例如用於將 Veeam Backup 和複寫備份寫入 Amazon S3 的 IAM 使用者。如需詳細資訊,請參閱 IAM 文件中的安全最佳實務

史诗

任務描述所需技能

建立 IAM 使用者。

照 IAM 文件中的指示建立 IAM 使用者。此使用者不應具備 AWS 主控台存取權,而且您需要為此使用者建立存取金鑰。Veeam 使用此實體向 AWS 進行驗證,以便讀取和寫入 S3 儲存貯體。您必須授與最低權限 (也就是說,僅授與執行工作所需的權限),這樣使用者就沒有超過所需的權限。如需附加至 Veeam IAM 使用者的 IAM 政策範例,請參閱其他資訊一節。

注意或者,您可以使用VeeamHub GitHub 存放庫中提供的 CloudFormation 範本為此模式建立 IAM 使用者和 S3 儲存貯體。

AWS 管理員

建立 S3 儲存貯體。

  1. 登入 AWS 管理主控台,然後前往 https://console.aws.amazon.com/s3/ 開啟 Amazon S3 主控台。 

  2. 如果您尚未將現有的 S3 儲存貯體用作目標儲存體,請選擇「建立儲存貯體」,然後指定儲存貯體名稱、AWS 區域和儲存貯體設定。

    • 建議您為 S3 儲存貯體啟用封鎖公用存取選項,並設定存取和使用者權限政策以符合組織的需求。如需範例,請參閱 Amazon S3 文件

    • 我們建議您啟用 S3 物件鎖定,即使您不打算立即使用它也是如此。此設定只能在建立 S3 儲存貯體時啟用。

如需詳細資訊,請參閱 Amazon S3 文件中的建立儲存貯體。

AWS 管理員
任務描述所需技能

啟動「新增物件儲存庫」精靈。

在 Veeam 中設定物件儲存和向外擴充備份儲存庫之前,您必須新增要用於容量和存檔層的 Amazon S3 和 Amazon S3 Glacier 儲存儲存庫。在下一個史詩中,您會將這些儲存儲存庫連接到您的向外延展備份存放庫。

  1. 在 Veeam 主控台上,開啟「Backup 基礎結構」檢視。 

  2. 在詳細目錄窗格中,選擇 [Backup 儲存區域] 節點,然後選擇 [新增儲存區域]。 

  3. 在「新增 Backup 儲存庫」對話方塊中,選擇「物件儲存」、「Amazon S3」。

AWS 管理員、應用程式擁有

為容量層新增 Amazon S3 儲存。

  1. 亞馬遜雲端儲存服務對話方塊中,選擇 Amazon S3

  2. 在精靈的 [名稱] 步驟中,指定物件儲存體名稱和簡短描述,例如建立者和建立日期。 

  3. 在精靈的 [帳戶] 步驟中,指定物件儲存體帳戶。 

    • 對於登入資料,請選擇您在第一個史詩中建立的 IAM 使用者來存取 Amazon S3 物件儲存。 

    • 對於 AWS 區域,請選擇 Amazon S3 儲存貯體所在的 AWS 區域。

  4. 在精靈的 [值區] 步驟中,指定物件儲存設定。

    • 對於資料中心區域,請選擇 Amazon S3 儲存貯體所在的 AWS 區域。

    • 對於儲存體,請選擇您在第一個史詩中建立的 S3 儲存貯體。

    • 在「資料夾」中,建立或選取要對映物件儲存庫的雲端資料夾。 

    • 如果您要啟用不變性,請選擇讓最近的備份在 X 天內不可變,並設定應鎖定備份的期間。請注意,由於從 Veeam 向 Amazon S3 呼叫的 API 數量增加,因此啟用不變性會導致成本增加。

  5. 在精靈的 [摘要] 步驟中,檢閱組態資訊,然後選擇 [完成]。

AWS 管理員、應用程式擁有

為存檔層新增 S3 冰川儲存。

如果您想要建立封存層,請使用其他資訊一節中詳述的 IAM 許可。 

  1. 如前所述,啟動「新增物件儲存庫」精靈。

  2. Amazon 雲端儲存服務對話方塊中,選擇 Amazon S3 冰川

  3. 在精靈的 [名稱] 步驟中,指定物件儲存體名稱和簡短描述,例如建立者和建立日期。

  4. 在精靈的 [帳戶] 步驟中,指定物件儲存體帳戶。

    • 對於登入資料,請選擇您在第一個史詩中建立的 IAM 使用者來存取 Amazon S3 Glacier 物件儲存。 

    • 對於 AWS 區域,請選擇 Amazon S3 儲存貯體所在的 AWS 區域。

  5. 在精靈的 [值區] 步驟中,指定物件儲存設定。

    • 對於資料中心區域,請選擇 AWS 區域。

    • 對於儲存體,請選擇 S3 儲存貯體來存放備份資料。這可以是您用於容量層的相同儲存貯體。

    • 在「資料夾」中,建立或選取要對映物件儲存庫的雲端資料夾。 

    • 如果您要啟用不變性,請選擇 [讓最近的備份在其保留原則的整個期間不可變]。請注意,由於從 Veeam 向 Amazon S3 呼叫的 API 數量增加,因此啟用不變性會導致成本增加。

    • 如果您想要使用 S3 Glacier 深層存檔做為封存儲存類別,請選擇使用深度歸檔儲存類別

  6. 在精靈的代理設備步驟中,設定用於將資料從 Amazon S3 傳輸到 Amazon S3 Glacier 的輔助執行個體。您可以使用預設設定或手動設定每個設定。若要手動進行設定:

    • 請選擇 Customize (自訂)

    • 對於 EC2 執行個體類型,請根據您將備份檔案傳輸到水平擴充備份存放庫的存檔層的速度和成本需求,選擇 Proxy 應用裝置的執行個體類型。

    • 對於 Amazon VPC,請選擇目標執行個體的 VPC。

    • 對於子網路,選擇 Proxy 應用裝置的子網路。

    • 對於安全性群組,選擇要與 Proxy 應用裝置建立關聯的安全群組。

    • 對於重新導向器連接埠,請指定 TCP 連接埠,以便在 Proxy 應用裝置和備份基礎結構元件之間路由要求。

    • 選擇 「確定」 以確認您的設定。

  7. 在精靈的 [摘要] 步驟中,檢閱組態資訊,然後選擇 [完成]。

AWS 管理員、應用程式擁有
任務描述所需技能

啟動「新增向外延展 Backup 儲存區域」精靈。

  1. 在 Veeam 主控台上,開啟「Backup 基礎結構」檢視。 

  2. 在詳細目錄窗格中,選擇向外延展儲存庫,然後選擇新增向外延展儲存庫。

應用程式擁有者、AWS 系統管理

新增向外延展備份儲存庫,並設定容量和封存層。

  1. 在精靈的「名稱」步驟中,指定向外延展備份儲存區域的名稱和簡短說明。 

  2. 如果需要,請加入效能範圍。您也可以使用現有的 Veeam 本機備份儲存庫做為效能層。 從 Veeam 版本 12 開始,您可以將 S3 儲存貯體新增為 direct-to-object (DTO) 備份的效能範圍,略過本機效能層。

  3. 選擇進階,並指定向外延展備份儲存區域的其他選項。

    • 選擇使用每台機器的備份檔案,為每台機器建立個別的備份檔案,並同時將這些檔案寫入多個串流中的備份儲存庫。建議使用此選項以獲得更好的儲存和計算資源使用率。

    • 選擇「當需要範圍離線時執行完整備份」,以便在包含增量備份的還原點的範圍離線時建立完整備份檔案。此選項需要向外延展備份儲存庫中的可用空間,以託管完整備份檔案。

  4. 在精靈的「原則」步驟中,指定儲存區域的備份放置原則。 

    • 選擇 [資料位置],將屬於相同鏈結的完整備份和增量備份檔案儲存在相同的效能範圍內。您可以將屬於新備份鏈結的檔案儲存至相同的效能範圍或另一個備份鏈結 (除非您使用重複資料刪除儲存裝置作為效能範圍)。

    • 選擇效能,將完整備份和增量備份檔案儲存至不同的效能範圍。此選項需要快速可靠的網路連線。如果您選擇「效能」,您可以限制要在每個效能範圍上儲存的備份檔案類型。例如,您可以將完整備份檔案儲存在一個範圍上,並將增量備份檔案儲存在其他範圍上。若要選擇檔案類型:

      • 請選擇 Customize (自訂)

      • 在「Backup 放置設定」對話方塊中,選擇效能範圍,然後選擇「編輯」。

      • 選擇要存儲在該範圍上的備份文件的類型。

  5. 在精靈的 [容量層] 步驟中,設定要附加至向外延展備份儲存區域的長期儲存層。 

    • 選擇使用物件儲存擴充備份儲存庫容量。對於物件儲存庫,請為您在上一篇史詩中新增的容量層選擇 Amazon S3 儲存。

    • 選擇「時段」以選取用於移動或複製資料的時間範圍。

    • 選擇建立備份後立即將備份複製到物件儲存體,以將所有或僅最近建立的備份檔案複製到容量範圍。 

    • 選擇將備份移至物件儲存體,當備份離開作業還原時間逾時,將非作用中的備份鏈傳輸到容量範圍。在 [移動超過 X 天的備份檔案] 欄位中,指定應卸載備份檔案的持續時間。(若要在建立非作用中備份鏈結當天卸載,請指定 0 天。) 如果向外延展備份儲存區域達到您指定的臨界值,您也可以選擇覆寫,以便更快地移動備份檔案。

    • 選擇加密上傳至物件儲存體的資料,然後指定密碼來加密所有資料及其中繼資料以進行卸載。選擇「新」或「管理密碼」以指定新密碼。

  6. 在精靈的 [封存層] 步驟中,設定要附加至向外延展備份儲存區域的封存儲存層。(如果您略過新增 Amazon S3 冰川儲存,則不會顯示此步驟。) 

    • 選擇將 GFS 完整備份封存至物件儲存體。對於物件儲存儲存庫,請選擇您在上一篇史詩中新增的 Amazon S3 Glacier 儲存。

    • 對於封存超過 N 天的 GFS 備份,請選擇將檔案移至封存範圍的時間範圍。若要在建立非作用中備份鏈結當天封存,請指定 0 天。)

  7. 在精靈的 [摘要] 步驟中,複查向外延展備份儲存區域的組態,然後選擇 [完成]。

應用程式擁有者、AWS 系統管理

相關資源

其他資訊

以下各節提供在此模式的「史詩」區段中建立 IAM 使用者時可使用的 IAM 政策範例。

容量方案的 IAM 政策

注意:<yourbucketname>將範例政策中 S3 儲存貯體的名稱從變更為您要用於 Veeam 容量層備份的 S3 儲存貯體的名稱。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "s3:GetObjectVersion", "s3:ListBucketVersions", "s3:ListBucket", "s3:PutObjectLegalHold", "s3:GetBucketVersioning", "s3:GetObjectLegalHold", "s3:GetBucketObjectLockConfiguration", "s3:PutObject*", "s3:GetObject*", "s3:GetEncryptionConfiguration", "s3:PutObjectRetention", "s3:PutBucketObjectLockConfiguration", "s3:DeleteObject*", "s3:DeleteObjectVersion", "s3:GetBucketLocation" ], "Resource": [ "arn:aws:s3:::/*", "arn:aws:s3:::" ] }, { "Sid": "VisualEditor1", "Effect": "Allow", "Action": [ "s3:ListAllMyBuckets", "s3:ListBucket" ], "Resource": "*" } ] }

封存層的 IAM 政策

注意:<yourbucketname>將範例政策中 S3 儲存貯體的名稱從變更為您要用於 Veeam 存檔層備份的 S3 儲存貯體的名稱。

若要使用現有的 VPC、子網路和安全群組:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "s3:DeleteObject", "s3:PutObject", "s3:GetObject", "s3:RestoreObject", "s3:ListBucket", "s3:AbortMultipartUpload", "s3:GetBucketVersioning", "s3:ListAllMyBuckets", "s3:GetBucketLocation", "s3:GetBucketObjectLockConfiguration", "s3:PutObjectRetention", "s3:GetObjectVersion", "s3:PutObjectLegalHold", "s3:GetObjectRetention", "s3:DeleteObjectVersion", "s3:ListBucketVersions", "ec2:DescribeInstances", "ec2:CreateKeyPair", "ec2:DescribeKeyPairs", "ec2:RunInstances", "ec2:DeleteKeyPair", "ec2:DescribeVpcAttribute", "ec2:CreateTags", "ec2:DescribeSubnets", "ec2:TerminateInstances", "ec2:DescribeSecurityGroups", "ec2:DescribeImages", "ec2:DescribeVpcs" ], "Resource": "*" } ] }

若要建立新的 VPC、子網路和安全性群組:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "s3:DeleteObject", "s3:PutObject", "s3:GetObject", "s3:RestoreObject", "s3:ListBucket", "s3:AbortMultipartUpload", "s3:GetBucketVersioning", "s3:ListAllMyBuckets", "s3:GetBucketLocation", "s3:GetBucketObjectLockConfiguration", "s3:PutObjectRetention", "s3:GetObjectVersion", "s3:PutObjectLegalHold", "s3:GetObjectRetention", "s3:DeleteObjectVersion", "s3:ListBucketVersions", "ec2:DescribeInstances", "ec2:CreateKeyPair", "ec2:DescribeKeyPairs", "ec2:RunInstances", "ec2:DeleteKeyPair", "ec2:DescribeVpcAttribute", "ec2:CreateTags", "ec2:DescribeSubnets", "ec2:TerminateInstances", "ec2:DescribeSecurityGroups", "ec2:DescribeImages", "ec2:DescribeVpcs", "ec2:CreateVpc", "ec2:CreateSubnet", "ec2:DescribeAvailabilityZones", "ec2:CreateRoute", "ec2:CreateInternetGateway", "ec2:AttachInternetGateway", "ec2:ModifyVpcAttribute", "ec2:CreateSecurityGroup", "ec2:DeleteSecurityGroup", "ec2:AuthorizeSecurityGroupIngress", "ec2:AuthorizeSecurityGroupEgress", "ec2:DescribeRouteTables", "ec2:DescribeInstanceTypes" ], "Resource": "*" } ] }