

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

# 使用 Veeam Backup & Replication 備份資料並存檔至 Amazon S3
<a name="back-up-and-archive-data-to-amazon-s3-with-veeam-backup-replication"></a>

*Jeanna James，Anthony Fiore (AWS) 和 William Quigley，Amazon Web Services*

## 總結
<a name="back-up-and-archive-data-to-amazon-s3-with-veeam-backup-replication-summary"></a>

此模式詳細說明使用 Veeam 向外擴展備份儲存庫功能，將 Veeam Backup & Replication 建立的備份傳送至支援的 Amazon Simple Storage Service (Amazon S3) 物件儲存類別的程序。 

Veeam 支援多個 Amazon S3 儲存類別，最適合您的特定需求。您可以根據備份或封存資料的資料存取、彈性和成本需求，選擇儲存體類型。例如，您可以將您不打算在 Amazon S3 不常存取 (IA) 中使用的資料存放 30 天或更長時間，以降低成本。如果您打算將資料封存 90 天或更長時間，您可以使用 S3 Glacier Flexible Retrieval 或 S3 Glacier Deep Archive 搭配 Veeam 的封存層。您也可以使用 S3 物件鎖定，在 Amazon S3 中進行不可變的備份。

此模式不包含如何使用磁帶閘道設定 Veeam Backup & Replication AWS Storage Gateway。如需有關該主題的資訊，請參閱 [Veeam 網站上的使用 AWS VTL 閘道的 Veeam 備份與複寫 - 部署指南](https://www.veeam.com/resources/wp-using-aws-vtl-gateway-deployment-guide.html)。


| 
| 
| 警告：此案例需要具有程式設計存取和長期登入資料的 AWS Identity and Access Management (IAM) 使用者，這會造成安全風險。為了協助降低此風險，建議您只為這些使用者提供執行任務所需的許可，並在不再需要這些使用者時將其移除。必要時可以更新存取金鑰。如需詳細資訊，請參閱《*IAM 使用者指南*》中的[更新存取金鑰](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html#Using_RotateAccessKey)。 | 
| --- |

## 先決條件和限制
<a name="back-up-and-archive-data-to-amazon-s3-with-veeam-backup-replication-prereqs"></a>

**先決條件**
+ 已安裝 Veeam Backup & Replication，包括 Veeam Availability Suite 或 Veeam Backup Essentials （您可以註冊[免費試用](https://www.veeam.com/backup-replication-virtual-physical-cloud.html))
+ 具有 Enterprise 或 Enterprise Plus 功能的 Veeam Backup & Replication 授權，其中包括 Veeam Universal License (VUL)
+ 可存取 Amazon S3 儲存貯體的作用中 IAM 使用者
+ 如果使用封存層，則可以存取 Amazon Elastic Compute Cloud (Amazon EC2) 和 Amazon Virtual Private Cloud (Amazon VPC) 的作用中 IAM 使用者
+ 從內部部署到 的網路連線 AWS 服務 ，具有可用的頻寬，可透過公有網際網路連線或 AWS Direct Connect 公有虛擬介面 (VIF) 備份和還原流量
+ 開啟下列網路連接埠和端點，以確保與物件儲存庫進行適當的通訊：
  + Amazon S3 儲存 – TCP – 連接埠 443：用於與 Amazon S3 儲存通訊。
  + Amazon S3 儲存 – 雲端端點 – `*.amazonaws.com` 適用於 AWS 區域 和 AWS GovCloud (US) Regions，或`*.amazonaws.com.rproxy.govskope.us.cn`適用於中國區域：用於與 Amazon S3 儲存通訊。如需連線端點的完整清單，請參閱 AWS 文件中的 [Amazon S3 端點](https://docs.aws.amazon.com/general/latest/gr/s3.html#s3_region)。
  + Amazon S3 儲存 – TCP HTTP – 連接埠 80：用於驗證憑證狀態。請考慮憑證驗證端點 — 憑證撤銷清單 (CRL) URLs和線上憑證狀態通訊協定 (OCSP) 伺服器 — 可能會有所變更。您可以在憑證本身中找到實際的地址清單。
  + Amazon S3 儲存 – 憑證驗證端點 – `*.amazontrust.com`：用於驗證憑證狀態。請考慮憑證驗證端點 (CRL URLs和 OCSP 伺服器） 可能會有所變更。您可以在憑證本身中找到實際的地址清單。

**限制**
+ Veeam 不支援在任何做為 Veeam 物件儲存庫的 S3 儲存貯體上使用 S3 S3生命週期政策。其中包括具有 Amazon S3 儲存類別轉換的政策，以及 S3 生命週期過期規則。Veeam **必須是**管理這些物件的唯一實體。啟用 S3 生命週期政策可能會有非預期的結果，包括資料遺失。

**產品版本**
+ Veeam Backup & Replication v9.5 Update 4 或更新版本 （僅限備份或容量層）
+ Veeam Backup & Replication v10 或更新版本 （備份或容量層和 S3 物件鎖定）
+ Veeam Backup & Replication v11 或更新版本 （備份或容量層、封存或封存層，以及 S3 物件鎖定）
+ Veeam Backup & Replication v12 或更新版本 （效能層、備份或容量層、封存或封存層，以及 S3 物件鎖定）
+ S3 Standard
+ S3 標準 – IA
+ S3 單區域 – IA
+ S3 Glacier Flexible Retrieval （僅限 v11 和更新版本）
+ S3 Glacier Deep Archive （僅限 v11 和更新版本）
+ S3 Glacier Instant Retrieval （僅限 v12 和更新版本）

## Architecture
<a name="back-up-and-archive-data-to-amazon-s3-with-veeam-backup-replication-architecture"></a>

**來源技術堆疊**
+ 內部部署 Veeam Backup & Replication 安裝，可從 Veeam 備份伺服器或 Veeam 閘道伺服器連線至 Amazon S3

**目標技術堆疊**
+ Amazon S3
+ Amazon VPC 和 Amazon EC2 （如果使用封存層）

**目標架構：SOBR**

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

![\[用於將資料從 Veeam 備份到 Amazon S3 的 SOBR 架構\]](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/patterns/images/pattern-img/7f3a36f7-31dc-45c8-87b2-c5dd37f7a01e/images/b48fd0cd-b66c-4ef7-b6fa-0ed53354e1a2.png)


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

工作流程包含分層或複製備份至 Amazon S3 所需的三個主要元件，以及一個選用元件：
+ Veeam Backup & Replication (1) – 負責協調、控制和管理備份基礎設施、設定、任務、復原任務和其他程序的備份伺服器。
+ Veeam 閘道伺服器 （圖中未顯示） – 如果 Veeam 備份伺服器沒有與 Amazon S3 的傳出連線，則需要選用的內部部署閘道伺服器。
+ 橫向擴展備份儲存庫 (2) – 支援資料多層儲存的儲存庫系統。向外擴展備份儲存庫包含一或多個備份儲存庫，可提供對資料的快速存取，並且可以使用 Amazon S3 物件儲存庫進行擴充，以進行長期儲存 （容量層） 和封存 （封存層）。Veeam 使用向外擴展備份儲存庫，在本機 （效能層） 和 Amazon S3 物件儲存 （容量和封存層） 之間自動分層資料。
**注意**  
從 Veeam Backup & Replication v12.2 開始，Direct to S3 Glacier 功能可讓 S3 容量層變成選用。SOBR 可以設定效能層和 S3 Glacier 封存層。此組態適用於對容量層的本機 （內部部署） 儲存有大量投資，且只需要在雲端中長期保留封存的使用者。如需詳細資訊，請參閱 [Veeam Backup & Replication 文件](https://helpcenter.veeam.com/docs/backup/vsphere/archive_tier.html?ver=120)。
+ Amazon S3 (3) – AWS 物件儲存服務，可提供可擴展性、資料可用性、安全性和效能。

**目標架構：DTO**

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

![\[用於將資料從 Veeam 備份到 Amazon S3 的 DTO 架構\]](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/patterns/images/pattern-img/7f3a36f7-31dc-45c8-87b2-c5dd37f7a01e/images/9debe53a-d70a-43fa-844c-f93fa22124eb.png)


在此圖表中，備份資料會直接傳送至 Amazon S3，而不先存放在內部部署。次要副本可以存放在 S3 Glacier 中。

**自動化和擴展**

您可以使用 [VeeamHub GitHub 儲存](https://github.com/VeeamHub/veeam-aws-cloudformation/tree/master/veeam-backup-and-replication)庫中提供的 CloudFormation 範本，自動建立 IAM 資源和 S3 儲存貯體。範本包含標準和不可變的選項。

## 工具
<a name="back-up-and-archive-data-to-amazon-s3-with-veeam-backup-replication-tools"></a>

**工具和 AWS 服務**
+ [Veeam Backup & Replication](https://www.veeam.com/vm-backup-recovery-replication-software.html) 是 Veeam 的解決方案，用於保護、備份、複寫和還原您的虛擬和實體工作負載。
+ [CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html) 可協助您建立和設定 AWS 資源的模型、快速且一致地佈建資源，以及在整個生命週期中進行管理。您可以使用範本來描述資源及其相依性，並將它們一起啟動和設定為堆疊，而不是個別管理資源。您可以跨多個 和 管理和佈建堆疊 AWS 帳戶 AWS 區域。
+ [Amazon Elastic Compute Cloud (Amazon EC2)](https://docs.aws.amazon.com/ec2/) 在 AWS 雲端中提供可擴展的運算容量。您可以使用 Amazon EC2 視需要啟動任意數量或任意數量的虛擬伺服器，也可以向外擴展或向內擴展。
+ [AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) 是一種 Web 服務，可安全地控制對 的存取 AWS 服務。透過 IAM，您可以集中管理使用者、存取金鑰等安全登入資料，以及控制使用者和應用程式可存取之 AWS 資源的許可。
+ [Amazon Simple Storage Service (Amazon S3)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) 是一種物件儲存服務。您可以使用 Amazon S3 隨時從 Web 任何地方存放和擷取任意資料量。
+ [Amazon S3 Glacier (S3 Glacier)](https://docs.aws.amazon.com/amazonglacier/latest/dev/introduction.html) 是一種安全且耐用的服務，用於低成本的資料封存和長期備份。
+ [Amazon Virtual Private Cloud (Amazon VPC)](https://docs.aws.amazon.com/vpc/) 會佈建 的邏輯隔離區段 AWS 雲端 ，您可以在已定義的虛擬網路中啟動 AWS 資源。這個虛擬網路與您在資料中心中操作的傳統網路非常相似，且具備使用 AWS可擴展基礎設施的優勢。

**Code**

使用 [VeeamHub GitHub 儲存庫](https://github.com/VeeamHub/veeam-aws-cloudformation/tree/master/veeam-backup-and-replication)中提供的 CloudFormation 範本，自動為此模式建立 IAM 資源和 S3 儲存貯體。如果您想要手動建立這些資源，請遵循 *Epics* 區段中的步驟。

## 最佳實務
<a name="back-up-and-archive-data-to-amazon-s3-with-veeam-backup-replication-best-practices"></a>

根據 IAM 最佳實務，強烈建議您定期輪換長期 IAM 使用者憑證，例如用於將 Veeam Backup & Replication 備份寫入 Amazon S3 的 IAM 使用者。如需詳細資訊，請參閱 IAM 文件中的[安全最佳實務](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#rotate-credentials)。

## 史詩
<a name="back-up-and-archive-data-to-amazon-s3-with-veeam-backup-replication-epics"></a>

### 在帳戶中設定 Amazon S3 儲存體
<a name="configure-s3-storage-in-your-account"></a>


| 任務 | Description | 所需的技能 | 
| --- | --- | --- | 
| 建立 IAM 使用者。 | 遵循 [IAM 文件中的指示](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_create.html)來建立 IAM 使用者。此使用者不應擁有 AWS 主控台存取權，而且您將需要為此使用者建立存取金鑰。Veeam 使用此實體向 進行身分驗證 AWS ，以讀取和寫入 S3 儲存貯體。您必須授予最低權限 （也就是僅授予執行任務所需的許可），讓使用者沒有比所需更多的授權。如需連接至 Veeam IAM 使用者的 IAM 政策範例，請參閱[其他資訊](#back-up-and-archive-data-to-amazon-s3-with-veeam-backup-replication-additional)一節。或者，您可以使用 [VeeamHub GitHub 儲存庫](https://github.com/VeeamHub/veeam-aws-cloudformation/tree/master/veeam-backup-and-replication)中提供的 CloudFormation 範本，為此模式建立 IAM 使用者和 S3 儲存貯體。 | AWS 管理員 | 
| 建立 S3 儲存貯體。 | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/patterns/back-up-and-archive-data-to-amazon-s3-with-veeam-backup-replication.html)如需詳細資訊，請參閱 Amazon S3 文件中的[建立儲存貯](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html)體。 | AWS 管理員 | 

### 將 Amazon S3 和 S3 Glacier Flexible Retrieval （或 S3 Glacier Deep Archive) 新增至 Veeam Backup & Replication
<a name="add-s3-and-s3-storage-class-glacier-or-s3-storage-class-deep-archive-to-veeam-backup-amp-replication"></a>


| 任務 | Description | 所需的技能 | 
| --- | --- | --- | 
| 啟動新的物件儲存庫精靈。 | 在 Veeam 中設定物件儲存和橫向擴展備份儲存庫之前，您必須新增要用於容量和封存層的 Amazon S3 和 S3 Glacier 儲存庫。在下一個史詩中，您將將這些儲存庫連接到橫向擴展備份儲存庫。[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/patterns/back-up-and-archive-data-to-amazon-s3-with-veeam-backup-replication.html) | AWS 管理員、應用程式擁有者 | 
| 為容量層新增 Amazon S3 儲存體。 | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/patterns/back-up-and-archive-data-to-amazon-s3-with-veeam-backup-replication.html) | AWS 管理員、應用程式擁有者 | 
| 新增封存層的 S3 Glacier 儲存體。 | 如果您想要建立封存層，請使用[其他資訊](#back-up-and-archive-data-to-amazon-s3-with-veeam-backup-replication-additional)區段中詳述的 IAM 許可。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/patterns/back-up-and-archive-data-to-amazon-s3-with-veeam-backup-replication.html) | AWS 管理員、應用程式擁有者 | 

### 新增橫向擴展備份儲存庫
<a name="add-scale-out-backup-repositories"></a>


| 任務 | Description | 所需的技能 | 
| --- | --- | --- | 
| 啟動新的橫向擴展備份儲存庫精靈。 | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/patterns/back-up-and-archive-data-to-amazon-s3-with-veeam-backup-replication.html) | 應用程式擁有者、AWS 系統管理員 | 
| 新增橫向擴展備份儲存庫，並設定容量和封存層。 | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/patterns/back-up-and-archive-data-to-amazon-s3-with-veeam-backup-replication.html) | 應用程式擁有者、AWS 系統管理員 | 

## 相關資源
<a name="back-up-and-archive-data-to-amazon-s3-with-veeam-backup-replication-resources"></a>
+ [在 (IAM 文件） 中建立 IAM 使用者 AWS 帳戶](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_create.html) 
+ [建立儲存貯](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html)體 (Amazon S3 文件）
+ [封鎖對 Amazon S3 儲存體的公開存取](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-control-block-public-access.html) (Amazon S3 文件）
+ [使用 S3 物件鎖定](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lock.html) (Amazon S3 文件）
+ [Veeam 技術文件](https://www.veeam.com/documentation-guides-datasheets.html)
+ [如何建立安全 IAM 政策以連線至 S3 物件儲存](https://www.veeam.com/kb3151) (Veeam 文件）

## 其他資訊
<a name="back-up-and-archive-data-to-amazon-s3-with-veeam-backup-replication-additional"></a>

下列各節提供範例 IAM 政策，您可以在此模式的 [Epics](#back-up-and-archive-data-to-amazon-s3-with-veeam-backup-replication-epics) 區段中建立 IAM 使用者時使用。

**容量層的 IAM 政策**

**注意**  
將範例政策中的 S3 儲存貯體名稱從 `<yourbucketname>` 變更為您要用於 Veeam 容量層備份的 S3 儲存貯體名稱。另請注意，政策應限於用於 Veeam 的特定資源 （以下政策中的`Resource`規格表示），並且政策的第一部分會停用用戶端加密，如 AWS 部落格文章[防止 Amazon S3 物件的意外加密](https://aws.amazon.com/blogs/security/preventing-unintended-encryption-of-amazon-s3-objects/)所述。

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "RestrictSSECObjectUploads",
            "Effect": "Deny",
            "Principal": "*",
            "Action": "s3:PutObject",
            "Resource": "arn:aws:s3:::<your-bucket-name>/*",
            "Condition": {
                "Null": {
                    "s3:x-amz-server-side-encryption-customer-algorithm": "false"
                }
            }
        },
            "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:::<yourbucketname>",
                "arn:aws:s3:::<yourbucketname>/*"
            ]
        },
        {
            "Sid": "VisualEditor1",
            "Effect": "Allow",
            "Action": [
                "s3:ListAllMyBuckets",
                "s3:ListBucket"
            ],
            "Resource": "arn:aws:s3:::*"
        }
    ]
}
```

**封存層的 IAM 政策**

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

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

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "S3Permissions",
            "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"
            ],
            "Resource": [
                "arn:aws:s3:::<bucket-name>",
                "arn:aws:s3:::<bucket-name>/*"
            ]
        }
    ]
}

{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "EC2Permissions",
            "Effect": "Allow",
            "Action": [
                "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": "arn:aws:ec2:<region>:<account-id>:*"
        }
    ]
}
```

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

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "S3Permissions",
            "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"
            ],
            "Resource": [
                "arn:aws:s3:::<bucket-name>",
                "arn:aws:s3:::<bucket-name>/*"
            ]
        }
    ]
}

{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "EC2Permissions",
            "Effect": "Allow",
            "Action": [
                "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": "*"
        }
    ]
}
```