本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 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 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) 架構。
在此圖中,備份資料直接傳送到 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 儲存庫
最佳實務
根據 IAM 最佳實務,我們強烈建議您定期輪換長期 IAM 使用者登入資料,例如用於將 Veeam Backup 和複寫備份寫入 Amazon S3 的 IAM 使用者。如需詳細資訊,請參閱 IAM 文件中的安全最佳實務。
史诗
任務 | 描述 | 所需技能 |
---|---|---|
建立 IAM 使用者。 | 依照 IAM 文件中的指示建立 IAM 使用者。此使用者不應具備 AWS 主控台存取權,而且您需要為此使用者建立存取金鑰。Veeam 使用此實體向 AWS 進行驗證,以便讀取和寫入 S3 儲存貯體。您必須授與最低權限 (也就是說,僅授與執行工作所需的權限),這樣使用者就沒有超過所需的權限。如需附加至 Veeam IAM 使用者的 IAM 政策範例,請參閱其他資訊一節。 注意或者,您可以使用VeeamHub GitHub 存放庫 | AWS 管理員 |
建立 S3 儲存貯體。 |
如需詳細資訊,請參閱 Amazon S3 文件中的建立儲存貯體。 | AWS 管理員 |
任務 | 描述 | 所需技能 |
---|---|---|
啟動「新增物件儲存庫」精靈。 | 在 Veeam 中設定物件儲存和向外擴充備份儲存庫之前,您必須新增要用於容量和存檔層的 Amazon S3 和 Amazon S3 Glacier 儲存儲存庫。在下一個史詩中,您會將這些儲存儲存庫連接到您的向外延展備份存放庫。
| AWS 管理員、應用程式擁有 |
為容量層新增 Amazon S3 儲存。 |
| AWS 管理員、應用程式擁有 |
為存檔層新增 S3 冰川儲存。 | 如果您想要建立封存層,請使用其他資訊一節中詳述的 IAM 許可。
| AWS 管理員、應用程式擁有 |
任務 | 描述 | 所需技能 |
---|---|---|
啟動「新增向外延展 Backup 儲存區域」精靈。 |
| 應用程式擁有者、AWS 系統管理 |
新增向外延展備份儲存庫,並設定容量和封存層。 |
| 應用程式擁有者、AWS 系統管理 |
相關資源
在您的 AWS 帳戶中建立 IAM 使用者 (IAM 文件)
建立儲存貯體 (Amazon S3 文件)
封鎖對您的 Amazon S3 儲存的公開存取 (Amazon S3 文件)
使用 S3 物件鎖定 (Amazon S3 文件)
如何建立連線到 S3 物件儲存的安全 IAM 政策
(Veeam 文件)
其他資訊
以下各節提供在此模式的「史詩」區段中建立 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": "*" } ] }