

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

# 使用 Amazon S3 設定 AWS DataSync 傳輸
<a name="create-s3-location"></a>

若要在 Amazon S3 儲存貯體之間傳輸資料，您可以建立 AWS DataSync 傳輸*位置*。DataSync 可以使用此位置做為傳輸資料的來源或目的地。

## 提供對 S3 儲存貯體的 DataSync 存取權
<a name="create-s3-location-access"></a>

DataSync 需要存取您要轉移或從中轉移的 S3 儲存貯體。若要這樣做，您必須建立 DataSync 擔任的 AWS Identity and Access Management (IAM) 角色，其具有存取儲存貯體所需的許可。然後，您可以在[為 DataSync 建立 Amazon S3 位置](#create-s3-location-how-to)時指定此角色。

**Contents**
+ [所需的許可](#create-s3-location-required-permissions)
+ [為 DataSync 建立 IAM 角色以存取您的 Amazon S3 位置](#create-role-manually)
+ [使用伺服器端加密存取 S3 儲存貯體](#create-s3-location-encryption)
+ [存取受限的 S3 儲存貯體](#denying-s3-access)
+ [存取具有限制 VPC 存取的 S3 儲存貯體](#create-s3-location-restricted-vpc)

### 所需的許可
<a name="create-s3-location-required-permissions"></a>

IAM 角色所需的許可取決於儲存貯體是 DataSync 來源或目的地位置。Amazon S3 on Outposts 需要不同的許可集。

------
#### [ Amazon S3 (source location) ]

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": [
                "s3:GetBucketLocation",
                "s3:ListBucket",
                "s3:ListBucketMultipartUploads"
            ],
            "Effect": "Allow",
            "Resource": "arn:aws:s3:::amzn-s3-demo-bucket"
        },
        {
            "Action": [
                "s3:GetObject",
                "s3:GetObjectTagging",
                "s3:GetObjectVersion",
                "s3:GetObjectVersionTagging",
                "s3:ListMultipartUploadParts"
              ],
            "Effect": "Allow",
            "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*"
        }
    ]
}
```

------
#### [ Amazon S3 (destination location) ]

```
{
 "Version": "2012-10-17",		 	 	 
 "Statement": [
     {
         "Action": [
             "s3:GetBucketLocation",
             "s3:ListBucket",
             "s3:ListBucketMultipartUploads"
         ],
         "Effect": "Allow",
         "Resource": "arn:aws:s3:::amzn-s3-demo-bucket",
         "Condition": {
             "StringEquals": {
                 "aws:ResourceAccount": "123456789012"
             }
         }
     },
     {
         "Action": [
             "s3:AbortMultipartUpload",
             "s3:DeleteObject",
             "s3:GetObject",
             "s3:GetObjectTagging",
             "s3:GetObjectVersion",
             "s3:GetObjectVersionTagging",
             "s3:ListMultipartUploadParts",
             "s3:PutObject",
             "s3:PutObjectTagging"
           ],
         "Effect": "Allow",
         "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*",
         "Condition": {
             "StringEquals": {
                 "aws:ResourceAccount": "123456789012"
             }
         }
     }
 ]
}
```

------
#### [ Amazon S3 on Outposts ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": [
                "s3-outposts:ListBucket",
                "s3-outposts:ListBucketMultipartUploads"
            ],
            "Effect": "Allow",
            "Resource": [
            "arn:aws:s3-outposts:us-east-1:123456789012:outpost/outpost-id/bucket/amzn-s3-demo-bucket",
    "arn:aws:s3-outposts:us-east-1:123456789012:outpost/outpost-id/accesspoint/bucket-access-point-name"
            ]
        },
        {
            "Action": [
                "s3-outposts:AbortMultipartUpload",
                "s3-outposts:DeleteObject",
                "s3-outposts:GetObject",
                "s3-outposts:GetObjectTagging",
                "s3-outposts:GetObjectVersion",
                "s3-outposts:GetObjectVersionTagging",
                "s3-outposts:ListMultipartUploadParts",
                "s3-outposts:PutObject",
                "s3-outposts:PutObjectTagging"
            ],
            "Effect": "Allow",
            "Resource": [
            "arn:aws:s3-outposts:us-east-1:123456789012:outpost/outpost-id/bucket/amzn-s3-demo-bucket/*",
    "arn:aws:s3-outposts:us-east-1:123456789012:outpost/outpost-id/accesspoint/bucket-access-point-name/*"
            ]
        },
        {
            "Action": "s3-outposts:GetAccessPoint",
            "Effect": "Allow",
            "Resource": "arn:aws:s3-outposts:us-east-1:123456789012:outpost/outpost-id/accesspoint/bucket-access-point-name"
        }
    ]
}
```

------

### 為 DataSync 建立 IAM 角色以存取您的 Amazon S3 位置
<a name="create-role-manually"></a>

在主控台中[建立 Amazon S3 位置](#create-s3-location-how-to)時，DataSync 可以自動建立並擔任 IAM 角色，該角色通常具有存取 S3 儲存貯體的適當許可。

在某些情況下，您可能需要手動建立此角色 （例如，存取具有額外安全層的儲存貯體，或在不同儲存貯體中來回傳輸 AWS 帳戶)。

#### 手動建立 DataSync 的 IAM 角色
<a name="create-role-manually-steps"></a>

1. 前往 [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) 開啟 IAM 主控台。

1. 在左側導覽窗格的**存取管理**下，選擇**角色**，然後選擇**建立角色**。

1. 在**選取信任的實體**頁面上，針對**信任的實體類型**，選擇 **AWS 服務**。

1. 針對**使用案例**，在下拉式清單中選擇 **DataSync**，然後選取 **DataSync**。選擇**下一步**。

1. 在 **Add permissions** (新增許可) 頁面上，選擇 **Next** (下一步)。為您的角色命名，然後選擇**建立角色**。

1. 在**角色**頁面上，搜尋您剛建立的角色，然後選擇其名稱。

1. 在角色的詳細資訊頁面上，選擇**許可**索引標籤。選擇**新增許可**，然後選擇**建立內嵌政策**。

1. 選擇 **JSON** 索引標籤，並將[存取儲存貯體所需的許可新增至](#create-s3-location-required-permissions)政策編輯器。

1. 選擇**下一步**。為您的政策命名，然後選擇**建立政策**。

1. （建議） 若要防止[跨服務混淆代理人問題](cross-service-confused-deputy-prevention.md)，請執行下列動作：

   1. 在角色的詳細資訊頁面上，選擇**信任關係**索引標籤。選擇**編輯信任政策**。

   1. 使用以下範例更新信任政策，其中包含 `aws:SourceArn`和 `aws:SourceAccount`全域條件內容索引鍵：

------
#### [ JSON ]

****  

      ```
      {
          "Version":"2012-10-17",		 	 	 
          "Statement": [
            {
              "Effect": "Allow",
              "Principal": {
                  "Service": "datasync.amazonaws.com"
              },
              "Action": "sts:AssumeRole",
              "Condition": {
                  "StringEquals": {
                  "aws:SourceAccount": "444455556666"
                  },
                  "ArnLike": {
                  "aws:SourceArn": "arn:aws:datasync:us-east-1:444455556666:*"
                  }
              }
            }
        ]
      }
      ```

------

   1. 選擇**更新政策**。

您可以在建立 Amazon S3 位置時指定此角色。

### 使用伺服器端加密存取 S3 儲存貯體
<a name="create-s3-location-encryption"></a>

DataSync 可以在[使用伺服器端加密的 S3 儲存貯](https://docs.aws.amazon.com/AmazonS3/latest/userguide/serv-side-encryption.html)體之間傳輸資料。儲存貯體使用的加密金鑰類型可以判斷您是否需要允許 DataSync 存取儲存貯體的自訂政策。

搭配使用伺服器端加密的 S3 儲存貯體使用 DataSync 時，請記住下列事項：
+ **如果您的 S3 儲存貯體使用 AWS 受管金鑰加密** – 如果所有資源都相同，則 DataSync 預設可以存取儲存貯體的物件 AWS 帳戶。
+ **如果您的 S3 儲存貯體使用客戶受管 AWS Key Management Service (AWS KMS) 金鑰 (SSE-KMS) 加密** – [金鑰的政策](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-modifying.html)必須包含 DataSync 用來存取儲存貯體的 IAM 角色。
+ **如果您的 S3 儲存貯體使用客戶管理的 SSE-KMS 金鑰加密，並且使用不同的 AWS 帳戶** - DataSync 需要存取其他 中儲存貯體的許可 AWS 帳戶。您可以執行下列動作來設定此設定：
  + 在 DataSync 使用的 IAM 角色中，您必須使用金鑰的完整 Amazon Resource Name (ARN) 來指定跨帳戶儲存貯體的 SSE-KMS 金鑰。這是您用來設定儲存貯體[預設加密](https://docs.aws.amazon.com/AmazonS3/latest/userguide/default-bucket-encryption.html)的相同金鑰 ARN。在這種情況下，您無法指定金鑰 ID、別名名稱或別名 ARN。

    以下是金鑰 ARN 範例：

    `arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab`

    如需在 IAM 政策陳述式中指定 KMS 金鑰的詳細資訊，請參閱 *[AWS Key Management Service 開發人員指南](https://docs.aws.amazon.com/kms/latest/developerguide/cmks-in-iam-policies.html)*。
  + 在 SSE-KMS 金鑰政策[中，指定 DataSync 使用的 IAM 角色](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-modifying-external-accounts.html)。
+ **如果您的 S3 儲存貯體使用客戶受管 AWS KMS 金鑰 (DSSE-KMS) 加密以進行雙層伺服器端加密** – [金鑰的政策](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-modifying.html)必須包含 DataSync 用來存取儲存貯體的 IAM 角色。（請記住，DSSE-KMS 不支援 [S3 儲存貯體金鑰](https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucket-key.html)，這可以降低 AWS KMS 請求成本。)
+ **如果您的 S3 儲存貯體使用客戶提供的加密金鑰 (SSE-C)** 加密 – DataSync 無法存取此儲存貯體。

#### 範例：DataSync 的 SSE-KMS 金鑰政策
<a name="create-s3-location-encryption-example"></a>

下列範例是客戶受管 SSE-KMS 金鑰的金鑰[政策](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html)。此政策與使用伺服器端加密的 S3 儲存貯體相關聯。

如果您想要使用此範例，請將下列值取代為您自己的值：
+ *account-id* – 您的 AWS 帳戶。
+ *admin-role-name* – 可管理金鑰的 IAM 角色名稱。
+ *datasync-role-name* – 允許 DataSync 在存取儲存貯體時使用金鑰的 IAM 角色名稱。

------
#### [ JSON ]

****  

```
{
    "Id": "key-consolepolicy-3",
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "Enable IAM Permissions",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::111122223333:root"
            },
            "Action": "kms:*",
            "Resource": "*"
        },
        {
            "Sid": "Allow access for Key Administrators",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::111122223333:role/admin-role-name"
            },
            "Action": [
                "kms:Create*",
                "kms:Describe*",
                "kms:Enable*",
                "kms:List*",
                "kms:Put*",
                "kms:Update*",
                "kms:Revoke*",
                "kms:Disable*",
                "kms:Get*",
                "kms:Delete*",
                "kms:TagResource",
                "kms:UntagResource",
                "kms:ScheduleKeyDeletion",
                "kms:CancelKeyDeletion"
            ],
            "Resource": "*"
        },
        {
            "Sid": "Allow use of the key",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::111122223333:role/datasync-role-name"
            },
            "Action": [
                "kms:Encrypt",
                "kms:Decrypt",
                "kms:ReEncrypt*",
                "kms:GenerateDataKey*"
            ],
            "Resource": "*"
        }
    ]
}
```

------

### 存取受限的 S3 儲存貯體
<a name="denying-s3-access"></a>

如果您需要在通常拒絕所有存取的 S3 儲存貯體之間傳輸，您可以編輯儲存貯體政策，以便 DataSync 只能為您的傳輸存取儲存貯體。

#### 範例：根據 IAM 角色允許存取
<a name="denying-s3-access-example"></a>

1. 複製下列 S3 儲存貯體政策。

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [{
           "Sid": "Deny-access-to-bucket",
           "Effect": "Deny",
           "Principal": "*",
           "Action": "s3:*",
           "Resource": [
               "arn:aws:s3:::amzn-s3-demo-bucket",
               "arn:aws:s3:::amzn-s3-demo-bucket/*"
           ],
           "Condition": {
               "StringNotLike": {
                   "aws:userid": [
                       "datasync-iam-role-id:*",
                       "your-iam-role-id"
                   ]
               }
           }
       }]
   }
   ```

------

1. 在政策中，取代下列值：
   + `amzn-s3-demo-bucket` – 指定受限 S3 儲存貯體的名稱。
   + `datasync-iam-role-id` – 指定 [ DataSync 用來存取儲存貯體的 IAM 角色](#create-s3-location-access) ID。

     執行下列 AWS CLI 命令以取得 IAM 角色 ID：

     `aws iam get-role --role-name datasync-iam-role-name`

     在輸出中，尋找 `RoleId`值：

     `"RoleId": "ANPAJ2UCCR6DPCEXAMPLE"`
   + `your-iam-role-id` – 指定您用來為儲存貯體建立 DataSync 位置的 IAM 角色 ID。

     執行下列命令以取得 IAM 角色 ID：

     `aws iam get-role --role-name your-iam-role-name`

     在輸出中，尋找 `RoleId`值：

     `"RoleId": "AIDACKCEVSQ6C2EXAMPLE"`

1. [將此政策](https://docs.aws.amazon.com/AmazonS3/latest/userguide/add-bucket-policy.html)新增至 S3 儲存貯體政策。

1. 當您完成將 DataSync 與受限儲存貯體搭配使用時，請從儲存貯體政策中移除兩個 IAM 角色的條件。

### 存取具有限制 VPC 存取的 S3 儲存貯體
<a name="create-s3-location-restricted-vpc"></a>

[限制存取特定虛擬私有雲端 (VPC) 端點或 VPCs](https://docs.aws.amazon.com/AmazonS3/latest/userguide/example-bucket-policies-vpc-endpoint.html) Amazon S3 儲存貯體將拒絕 DataSync 往返該儲存貯體的傳輸。若要在這些情況下啟用傳輸，您可以更新儲存貯體的政策，以包含您在 [ DataSync 位置指定的](#create-s3-location-how-to) IAM 角色。

------
#### [ Option 1: Allowing access based on DataSync location role ARN ]

在 S3 儲存貯體政策中，您可以指定 DataSync 位置 IAM 角色的 Amazon Resource Name (ARN)。

下列範例是 S3 儲存貯體政策，拒絕從兩個 VPC 以外的所有 VPCs(`vpc-1234567890abcdef0` 和 `vpc-abcdef01234567890`) 存取。不過，政策也包含 [ArnNotLikeIfExists](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html) 條件和 [aws：PrincipalArn](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-principalarn) 條件金鑰，允許 DataSync 位置角色的 ARN 存取儲存貯體。

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "Access-to-specific-VPCs-only",
            "Effect": "Deny",
            "Principal": "*",
            "Action": "s3:*",
            "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*",
            "Condition": {
                "StringNotEqualsIfExists": {
                    "aws:SourceVpc": [
                        "vpc-1234567890abcdef0",
                        "vpc-abcdef01234567890"
                    ]
                },
                "ArnNotLikeIfExists": {
                    "aws:PrincipalArn": [
                        "arn:aws:iam::111122223333:role/datasync-location-role-name"
                    ]
                }
            }
        }
    ]
}
```

------
#### [ Option 2: Allowing access based on DataSync location role tag ]

在 S3 儲存貯體政策中，您可以指定連接至 DataSync 位置 IAM 角色的標籤。

下列範例是 S3 儲存貯體政策，拒絕從兩個 VPC 以外的所有 VPCs(`vpc-1234567890abcdef0` 和 `vpc-abcdef01234567890`) 存取。不過，政策也包含 [StringNotEqualsIfExists](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html) 條件和 [aws：PrincipalTag](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-principaltag) 條件索引鍵，允許具有標籤索引鍵 `exclude-from-vpc-restriction` 和值 的主體`true`。您可以指定連接至 DataSync 位置角色的標籤，在儲存貯體政策中嘗試類似的方法。

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "Access-to-specific-VPCs-only",
            "Effect": "Deny",
            "Principal": "*",
            "Action": "s3:*",
            "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*",
            "Condition": {
                "StringNotEqualsIfExists": {
                    "aws:SourceVpc": [
                        "vpc-1234567890abcdef0",
                        "vpc-abcdef01234567890"
                    ],
                    "aws:PrincipalTag/exclude-from-vpc-restriction": "true"
                }
            }
        }
    ]
}
```

------

## Amazon S3 傳輸的儲存類別考量
<a name="using-storage-classes"></a>

當 Amazon S3 是您的目的地位置時，DataSync 可以將您的資料直接傳輸到特定的 [Amazon S3 儲存類別](https://aws.amazon.com/s3/storage-classes/)。

有些儲存類別的行為可能會影響您的 Amazon S3 儲存成本。使用可能會因為覆寫、刪除或擷取物件而產生額外費用的儲存體方案時，物件資料或中繼資料的變更會產生此類費用。如需詳細資訊，請參閱 [Simple Storage Service (Amazon S3) 定價](https://aws.amazon.com/s3/pricing/)。

**重要**  
傳輸至 Amazon S3 目的地位置的新物件會使用您在[建立位置](#create-s3-location-how-to)時指定的儲存類別進行儲存。  
根據預設，DataSync 會保留目的地位置中現有物件的儲存體方案，除非您將任務設定為[傳輸所有資料](configure-metadata.md#task-option-transfer-mode)。在這些情況下，您在建立位置時指定的儲存體方案會用於所有物件。


| Amazon S3 儲存類別 | 考量事項 | 
| --- | --- | 
| S3 Standard | 選擇 S3 標準，以備援方式將經常存取的檔案存放在以地理位置分隔的多個可用區域中。如果您不指定儲存方案，則這是預設值。 | 
| S3 Intelligent-Tiering |  選擇 S3 Intelligent-Tiering (S3 智慧型分層)，自動將資料移至最經濟實惠的儲存存取層，以最佳化儲存成本。 您需為存放在 S3 Intelligent-Tiering 儲存類別中的每個物件支付每月費用。此 Amazon S3 費用包括監控資料存取模式，以及在層之間移動物件。  | 
| S3 標準 – IA |  選擇 S3 標準 – IA，將不常存取的物件以備援方式存放在以地理位置分隔的多個可用區域中。 存放在 S3 Standard-IA 儲存類別中的物件可能會產生覆寫、刪除或擷取的額外費用。考慮這些物件變更的頻率、計劃保留這些物件的時間長度，以及需要存取這些物件的頻率。物件資料或中繼資料的變更等同於刪除物件並建立新的物件來取代物件。這會導致存放在 S3 Standard-IA 儲存類別中的物件產生額外費用。 小於 128 KB 的物件小於 S3 Standard-IA 儲存類別中每個物件的最低容量費用。這些物件存放在 S3 Standard 儲存類別中。  | 
| S3 單區域 – IA  |  選擇 S3 One Zone-IA，將不常存取的物件存放在單一可用區域中。 存放在 S3 One Zone-IA 儲存類別中的物件可能會產生覆寫、刪除或擷取的額外費用。考慮這些物件變更的頻率、計劃保留這些物件的時間長度，以及需要存取這些物件的頻率。物件資料或中繼資料的變更等同於刪除物件並建立新的物件來取代物件。這會導致存放在 S3 One Zone-IA 儲存類別中的物件產生額外費用。 小於 128 KB 的物件小於 S3 One Zone-IA 儲存類別中每個物件的最低容量費用。這些物件存放在 S3 Standard 儲存類別中。  | 
| S3 Glacier Instant Retrieval |  選擇 S3 Glacier Instant Retrieval，以封存很少存取但需要以毫秒擷取的物件。 與具有相同延遲和輸送量效能的 S3 Standard-IA 儲存類別相比，存放在 S3 Glacier Instant Retrieval 儲存類別中的資料可節省成本。不過，S3 Glacier Instant Retrieval 的資料存取成本高於 S3 Standard-IA。 存放在 S3 Glacier Instant Retrieval 中的物件可能會因為覆寫、刪除或擷取而產生額外費用。考慮這些物件變更的頻率、計劃保留這些物件的時間長度，以及需要存取這些物件的頻率。物件資料或中繼資料的變更等同於刪除物件並建立新的物件來取代物件。這會導致存放在 S3 Glacier Instant Retrieval 儲存類別中的物件產生額外費用。 小於 128 KB 的物件小於 S3 Glacier Instant Retrieval 儲存類別中每個物件的最低容量費用。這些物件存放在 S3 Standard 儲存類別中。  | 
| S3 Glacier Flexible Retrieval | 針對更多作用中的封存，選擇 S3 Glacier Flexible Retrieval。存放在 S3 Glacier Flexible Retrieval 中的物件可能會因為覆寫、刪除或擷取而產生額外費用。考慮這些物件變更的頻率、計劃保留這些物件的時間長度，以及需要存取這些物件的頻率。物件資料或中繼資料的變更等同於刪除物件並建立新的物件來取代物件。這會導致存放在 S3 Glacier Flexible Retrieval 儲存類別中的物件產生額外費用。S3 Glacier Flexible Retrieval 儲存類別需要每個封存物件 40 KB 的額外中繼資料。DataSync 會在 S3 Standard 儲存類別中放置小於 40 KB 的物件。您必須還原在此儲存類別中封存的物件，DataSync 才能讀取它們。如需詳細資訊，請參閱《Amazon S3 使用者指南》中的[使用封存的物件](https://docs.aws.amazon.com/AmazonS3/latest/userguide/archived-objects.html)。使用 S3 Glacier Flexible Retrieval 時，請選擇**僅驗證資料傳輸**任務選項，以在傳輸結束時比較資料和中繼資料檢查總和。您無法在此儲存類別的**目的地選項中使用驗證所有資料**，因為它需要從目的地擷取所有現有的物件。 | 
| S3 Glacier Deep Archive |  選擇 S3 Glacier Deep Archive 來封存物件，以進行長期資料保留和數位保留，其中資料每年存取一次或兩次。 存放在 S3 Glacier Deep Archive 中的物件可能會產生覆寫、刪除或擷取的額外費用。考慮這些物件變更的頻率、計劃保留這些物件的時間長度，以及需要存取這些物件的頻率。物件資料或中繼資料的變更等同於刪除物件並建立新的物件來取代物件。這會導致存放在 S3 Glacier Deep Archive 儲存類別中的物件產生額外費用。 S3 Glacier Deep Archive 儲存類別需要每個封存物件 40 KB 的額外中繼資料。DataSync 會在 S3 Standard 儲存類別中放置小於 40 KB 的物件。 您必須還原在此儲存類別中封存的物件，DataSync 才能讀取它們。如需詳細資訊，請參閱《*Amazon S3 使用者指南*》中的[使用封存的物件](https://docs.aws.amazon.com/AmazonS3/latest/userguide/archived-objects.html)。 使用 S3 Glacier Deep Archive 時，請選擇**僅驗證資料傳輸**任務選項，以在傳輸結束時比較資料和中繼資料檢查總和。您無法在此儲存類別的**目的地選項中使用驗證所有資料**，因為它需要從目的地擷取所有現有的物件。  | 
|  S3 Outposts  |  Amazon S3 on Outposts 的儲存類別。  | 

## 使用 DataSync 時評估 S3 請求成本
<a name="create-s3-location-s3-requests"></a>

使用 Amazon S3 位置時，您需要支付 DataSync 提出之 S3 API 請求的相關成本。本節可協助您了解 DataSync 如何使用這些請求，以及它們如何影響您的 [Amazon S3 成本](https://aws.amazon.com/s3/pricing/)。

**Topics**
+ [DataSync 提出的 S3 請求](#create-s3-location-s3-requests-made)
+ [成本考量](#create-s3-location-s3-requests-cost)

### DataSync 提出的 S3 請求
<a name="create-s3-location-s3-requests-made"></a>

下表說明當您在 Amazon S3 位置之間複製資料時，DataSync 可以提出的 S3 請求。 Amazon S3 


| S3 請求 | DataSync 如何使用它 | 
| --- | --- | 
|  [ListObjectV2](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectsV2.html)  |  DataSync 會對結尾為正斜線 (`/`) 的每個物件發出至少一個`LIST`請求，以列出以該字首開頭的物件。此請求會在任務的[準備](run-task.md#understand-task-execution-statuses)階段期間呼叫。  | 
|  [HeadObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_HeadObject.html)  | DataSync 會在任務的[準備](run-task.md#understand-task-execution-statuses)和[驗證](run-task.md#understand-task-execution-statuses)階段提出擷取物件中繼資料的`HEAD`請求。根據您希望 DataSync [驗證其傳輸資料完整性](configure-data-verification-options.md)的方式，每個物件可以有多個`HEAD`請求。 | 
|  [GetObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html)  |  DataSync `GET`會在任務的[傳輸](run-task.md#understand-task-execution-statuses)階段請求從物件讀取資料。大型物件可以有多個`GET`請求。  | 
|  [GetObjectTagging](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectTagging.html)  |  如果您將任務設定為[複製物件標籤](configure-metadata.md)，DataSync 會發出這些`GET`請求，以在任務的[準備](run-task.md#understand-task-execution-statuses)和[傳輸](run-task.md#understand-task-execution-statuses)階段檢查物件標籤。  | 
|  [PutObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html)  |  DataSync `PUT`會在任務[傳輸](run-task.md#understand-task-execution-statuses)階段請求在目的地 S3 儲存貯體中建立物件和字首。由於 DataSync 使用 [Amazon S3 分段上傳功能](https://docs.aws.amazon.com/AmazonS3/latest/userguide/mpuoverview.html)，因此大型物件可能會有多個`PUT`請求。為了協助將儲存成本降至最低，建議使用[生命週期組態]()來停止未完成的分段上傳。  | 
|  [PutObjectTagging](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectTagging.html)  | 如果您的來源物件有標籤，而且您設定任務來[複製物件標籤](configure-metadata.md)，則 DataSync 會在[傳輸](run-task.md#understand-task-execution-statuses)這些標籤時提出這些`PUT`請求。 | 
|  [CopyObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html)  |  只有當物件的中繼資料變更時，DataSync 才會發出建立物件複本的`COPY`請求。如果您最初使用另一個未轉移其中繼資料的服務或工具，將資料複製到 S3 儲存貯體，就會發生這種情況。  | 

### 成本考量
<a name="create-s3-location-s3-requests-cost"></a>

DataSync 會在您每次執行任務時對 S3 儲存貯體發出 S3 S3請求。在某些情況下，這可能會導致費用增加。例如：
+ 您經常在 S3 儲存貯體之間轉移物件。
+ 您可能不會傳輸太多資料，但 S3 儲存貯體中有許多物件。在這種情況下，您仍然可以看到高費用，因為 DataSync 會對每個儲存貯體的物件發出 S3 請求。
+ 您正在 S3 儲存貯體之間傳輸，因此 DataSync 正在對來源和目的地提出 S3 請求。

為了協助將與 DataSync 相關的 S3 請求成本降至最低，請考慮下列事項：

**Topics**
+ [我正在使用哪些 S3 儲存類別？](#create-s3-location-s3-requests-storage-classes)
+ [我需要多常傳輸資料？](#create-s3-location-s3-requests-recurring-transfers)

#### 我正在使用哪些 S3 儲存類別？
<a name="create-s3-location-s3-requests-storage-classes"></a>

S3 請求費用會根據物件使用的 Amazon S3 儲存類別而有所不同，尤其是封存物件的類別 （例如 S3 Glacier Instant Retrieval、S3 Glacier Flexible Retrieval 和 S3 Glacier Deep Archive)。

以下是使用 DataSync 時，儲存類別可能會影響 S3 請求費用的一些情況：
+ 每次執行任務時，DataSync 都會發出擷取物件中繼資料的`HEAD`請求。即使您未移動任何物件，這些請求也會產生費用。這些請求對帳單的影響程度取決於物件使用的儲存類別，以及 DataSync 掃描的物件數量。
+ 如果您將物件移至 S3 Glacier Instant Retrieval 儲存類別 （直接或透過儲存貯體生命週期組態），此類別中物件的請求會比其他儲存類別中的物件更昂貴。
+ 如果您設定 DataSync 任務來[確認您的來源和目的地位置已完全同步](configure-data-verification-options.md)，則所有儲存類別中的每個物件都會有`GET`請求 (S3 Glacier Flexible Retrieval 和 S3 Glacier Deep Archive 除外）。
+ 除了`GET`請求之外，您還需要為 S3 Standard-IA、S3 One Zone-IA 或 S3 Glacier Instant Retrieval 儲存類別中的物件支付資料擷取成本。

如需詳細資訊，請參閱 [Simple Storage Service (Amazon S3) 定價](https://aws.amazon.com/s3/pricing/)。

#### 我需要多常傳輸資料？
<a name="create-s3-location-s3-requests-recurring-transfers"></a>

如果您需要定期移動資料，請考慮不會執行超過所需任務的[排程](task-scheduling.md)。

您也可以考慮限制傳輸的範圍。例如，您可以設定 DataSync 以專注於特定字首中的物件，或[篩選要傳輸的資料](filtering.md)。這些選項有助於減少您每次執行 DataSync 任務時提出的 S3 請求數量。

## Amazon S3 傳輸的物件考量
<a name="create-s3-location-considerations"></a>
+ 如果您要從 S3 儲存貯體傳輸，請使用 [S3 Storage Lens](https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage_lens_basics_metrics_recommendations.html) 來判斷要移動的物件數量。
+ 在 S3 儲存貯體之間傳輸時，我們建議您使用[增強型任務模式](choosing-task-mode.md)，因為您不受 DataSync 任務[配額](datasync-limits.md)的限制。
+ DataSync 可能不會傳輸名稱中包含非標準字元的物件。如需詳細資訊，請參閱《Amazon S3 使用者指南》中的[物件金鑰命名](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-guidelines)準則。 *Amazon S3 *
+ 搭配使用[版本控制的](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Versioning.html) S3 儲存貯體使用 DataSync 時，請記住下列事項：
  + 轉移至 S3 儲存貯體時，如果在來源修改物件，DataSync 會建立新的物件版本。這會產生額外費用。
  + 物件在來源和目的地儲存貯體中有不同的版本 IDs。
  + 只有每個物件的最新版本才會從來源儲存貯體傳輸。舊版不會複製到目的地。
+ 在最初將資料從 S3 儲存貯體傳輸到檔案系統 （例如 NFS 或 Amazon FSx) 之後，相同 DataSync 任務的後續執行不會包含已修改但與第一次傳輸期間相同大小的物件。

## 建立 Amazon S3 一般用途儲存貯體的傳輸位置
<a name="create-s3-location-how-to"></a>

若要建立轉移的位置，您需要現有的 S3 一般用途儲存貯體。如果您沒有，請參閱 [https://docs.aws.amazon.com/AmazonS3/latest/userguide/GetStartedWithS3.html](https://docs.aws.amazon.com/AmazonS3/latest/userguide/GetStartedWithS3.html)。

**重要**  
建立位置之前，請確定您已閱讀下列各節：  
[Amazon S3 傳輸的儲存類別考量](#using-storage-classes)
[使用 DataSync 時評估 S3 請求成本](#create-s3-location-s3-requests)

### 使用 DataSync 主控台
<a name="create-s3-location-how-to-console"></a>

1. 在 https：//[https://console.aws.amazon.com/datasync/](https://console.aws.amazon.com/datasync/) 開啟 AWS DataSync 主控台。

1. 在左側導覽窗格中，展開**資料傳輸**，然後選擇**位置**和**建立位置**。

1. 針對**位置類型**，選擇 **Amazon S3**，然後選擇**一般用途儲存貯**體。

1. 對於 **S3 URI**，輸入或選擇您要用於位置的儲存貯體和字首。
**警告**  
DataSync 無法傳輸字首開頭為斜線 (`/`) 或包含 `//`、 `/./`或 `/../` 模式的物件。例如：  
`/photos`
`photos//2006/January`
`photos/./2006/February`
`photos/../2006/March`

1. 對於**做為目的地使用的 S3 儲存體方案**，選擇當 Amazon S3 是傳輸目的地時您希望物件使用的儲存體方案。

   如需詳細資訊，請參閱[Amazon S3 傳輸的儲存類別考量](#using-storage-classes)。

1. 針對 **IAM role (IAM 角色)**，執行以下其中一項作業：
   + 選擇**自動產生** DataSync，以自動建立具有存取 S3 儲存貯體所需許可的 IAM 角色。

     如果 DataSync 先前為此 S3 儲存貯體建立 IAM 角色，預設會選擇該角色。
   + 選擇您建立的自訂 IAM 角色。如需詳細資訊，請參閱[為 DataSync 建立 IAM 角色以存取您的 Amazon S3 位置](#create-role-manually)。

1. （選用） 選擇**新增標籤**以標記您的 Amazon S3 位置。

   標籤可協助您管理、篩選和搜尋資源。建議您為位置建立名稱標籤。

1. 選擇**建立位置**。

### 使用 AWS CLI
<a name="create-location-s3-cli"></a>

1. 複製下列`create-location-s3`命令：

   ```
   aws datasync create-location-s3 \
       --s3-bucket-arn 'arn:aws:s3:::amzn-s3-demo-bucket' \
       --s3-storage-class 'your-S3-storage-class' \
       --s3-config 'BucketAccessRoleArn=arn:aws:iam::account-id:role/role-allowing-datasync-operations' \
       --subdirectory /your-prefix-name
   ```

1. 針對 `--s3-bucket-arn`，指定您要用作位置之 S3 儲存貯體的 ARN。

1. 針對 `--s3-storage-class`，指定當 Amazon S3 是傳輸目的地時，您希望物件使用的儲存類別。

1. 針對 `--s3-config`，指定 DataSync 存取儲存貯體所需的 IAM 角色 ARN。

   如需詳細資訊，請參閱[為 DataSync 建立 IAM 角色以存取您的 Amazon S3 位置](#create-role-manually)。

1. 對於 `--subdirectory`，請在 DataSync 讀取或寫入的 S3 儲存貯體中指定字首 （取決於儲存貯體是來源或目的地位置）。
**警告**  
DataSync 無法傳輸字首開頭為斜線 (`/`) 或包含 `//`、 `/./`或 `/../` 模式的物件。例如：  
`/photos`
`photos//2006/January`
`photos/./2006/February`
`photos/../2006/March`

1. 執行 `create-location-s3` 命令。

   如果命令成功，您會收到回應，顯示您建立位置的 ARN。例如：

   ```
   {
       "LocationArn": "arn:aws:datasync:us-east-1:111222333444:location/loc-0b3017fc4ba4a2d8d"
   }
   ```

您可以使用此位置做為 DataSync 任務的來源或目的地。

## 建立 S3 on Outposts 儲存貯體的傳輸位置
<a name="create-s3-location-outposts-how-to"></a>

若要建立轉移的位置，您需要現有的 Amazon S3 on Outposts 儲存貯體。如果您沒有，請參閱 [https://docs.aws.amazon.com/AmazonS3/latest/s3-outposts/S3onOutposts.html](https://docs.aws.amazon.com/AmazonS3/latest/s3-outposts/S3onOutposts.html)。

您也需要 DataSync 代理程式。如需詳細資訊，請參閱[在 上部署基本模式代理程式 AWS Outposts](deploy-agents.md#outposts-agent)。

從包含大型資料集 （例如數十萬或數百萬個物件） 的 S3 on Outposts 儲存貯體字首傳輸時，您的 DataSync 任務可能會逾時。若要避免這種情況，請考慮使用 [DataSync 資訊清單](transferring-with-manifest.md)，這可讓您指定需要傳輸的確切物件。

### 使用 DataSync 主控台
<a name="create-s3-location-how-to-console"></a>

1. 在 https：//[https://console.aws.amazon.com/datasync/](https://console.aws.amazon.com/datasync/) 開啟 AWS DataSync 主控台。

1. 在左側導覽窗格中，展開**資料傳輸**，然後選擇**位置**和**建立位置**。

1. 針對**位置類型**，選擇 **Amazon S3**，然後選擇 **Outposts 儲存貯**體。

1. 針對 **S3 儲存貯**體，選擇可存取 S3 on Outposts 儲存貯體的 Amazon S3 S3 存取點。

   如需詳細資訊，請參閱《[https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-points.html](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-points.html)》。

1. 對於**做為目的地使用的 S3 儲存體方案**，選擇當 Amazon S3 是傳輸目的地時您希望物件使用的儲存體方案。

   如需詳細資訊，請參閱[Amazon S3 傳輸的儲存類別考量](#using-storage-classes)。根據預設，DataSync 會使用 Amazon S3 on Outposts 的 S3 Outposts 儲存類別。 Amazon S3 

1. 對於**代理**程式，請在 Outpost 上指定 DataSync 代理程式的 Amazon Resource Name (ARN)。

1. 對於**資料夾**，在 DataSync 讀取或寫入的 S3 儲存貯體中輸入字首 （取決於儲存貯體是來源或目的地位置）。
**警告**  
DataSync 無法傳輸字首開頭為斜線 (`/`) 或包含 `//`、 `/./`或 `/../` 模式的物件。例如：  
`/photos`
`photos//2006/January`
`photos/./2006/February`
`photos/../2006/March`

1. 針對 **IAM role (IAM 角色)**，執行以下其中一項作業：
   + 選擇**自動產生** DataSync，以自動建立具有存取 S3 儲存貯體所需許可的 IAM 角色。

     如果 DataSync 先前為此 S3 儲存貯體建立 IAM 角色，預設會選擇該角色。
   + 選擇您建立的自訂 IAM 角色。如需詳細資訊，請參閱[為 DataSync 建立 IAM 角色以存取您的 Amazon S3 位置](#create-role-manually)。

1. （選用） 選擇**新增標籤**以標記您的 Amazon S3 位置。

   標籤可協助您管理、篩選和搜尋資源。建議您為位置建立名稱標籤。

1. 選擇**建立位置**。

### 使用 AWS CLI
<a name="create-location-s3-cli"></a>

1. 複製下列`create-location-s3`命令：

   ```
   aws datasync create-location-s3 \
       --s3-bucket-arn 'bucket-access-point' \
       --s3-storage-class 'your-S3-storage-class' \
       --s3-config 'BucketAccessRoleArn=arn:aws:iam::account-id:role/role-allowing-datasync-operations' \
       --subdirectory /your-folder \
       --agent-arns 'arn:aws:datasync:your-region:account-id::agent/agent-agent-id'
   ```

1. 針對 `--s3-bucket-arn`，指定可存取 SAmazon S3 S3 存取點。

   如需詳細資訊，請參閱 [https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-points.html](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-points.html)。

1. 針對 `--s3-storage-class`，指定當 Amazon S3 是傳輸目的地時，您希望物件使用的儲存類別。

   如需詳細資訊，請參閱[Amazon S3 傳輸的儲存類別考量](#using-storage-classes)。根據預設，DataSync 會使用 S3 on Outposts 的 S3 Outposts 儲存類別。

1. 針對 `--s3-config`，指定 DataSync 存取儲存貯體所需的 IAM 角色 ARN。

   如需詳細資訊，請參閱[為 DataSync 建立 IAM 角色以存取您的 Amazon S3 位置](#create-role-manually)。

1. 對於 `--subdirectory`，請在 DataSync 讀取或寫入的 S3 儲存貯體中指定字首 （取決於儲存貯體是來源或目的地位置）。
**警告**  
DataSync 無法傳輸字首開頭為斜線 (`/`) 或包含 `//`、 `/./`或 `/../` 模式的物件。例如：  
`/photos`
`photos//2006/January`
`photos/./2006/February`
`photos/../2006/March`

1. 針對 `--agent-arns`，在 Outpost 上指定 DataSync 代理程式的 ARN。

1. 執行 `create-location-s3` 命令。

   如果命令成功，您會收到回應，顯示您建立位置的 ARN。例如：

   ```
   {
       "LocationArn": "arn:aws:datasync:us-east-1:111222333444:location/loc-0b3017fc4ba4a2d8d"
   }
   ```

您可以使用此位置做為 DataSync 任務的來源或目的地。

## Amazon S3 跨 傳輸 AWS 帳戶
<a name="create-s3-location-cross-transfers"></a>

使用 DataSync，您可以在[不同 AWS 帳戶](working-with-locations.md#working-with-locations-across-accounts)中的 S3 儲存貯體之間移動資料。如需詳細資訊，請參閱下列教學課程：
+ [跨 將資料從內部部署儲存傳輸到 Amazon S3 AWS 帳戶](s3-cross-account-transfer.md)
+ [跨 將資料從 Amazon S3 傳輸到 Amazon S3 AWS 帳戶](tutorial_s3-s3-cross-account-transfer.md)

## 商業 和 之間的 Amazon S3 傳輸 AWS GovCloud (US) Regions
<a name="create-s3-location-govcloud"></a>

根據預設，DataSync 不會在商業 和 中的 S3 儲存貯體之間傳輸 AWS GovCloud (US) Regions。不過，您仍然可以為傳輸中的其中一個 S3 儲存貯體建立物件儲存位置，以設定這種傳輸。您可以使用或不使用 代理程式來執行這種類型的傳輸。如果您使用 代理程式，您的任務必須設定為**基本**模式。若要在沒有 代理程式的情況下進行傳輸，您必須使用**增強**模式。

**開始之前**：請確定您了解區域之間轉移的成本影響。如需詳細資訊，請參閱[AWS DataSync 定價](https://aws.amazon.com/datasync/pricing/)。

**Contents**
+ [提供對物件儲存位置儲存貯體的 DataSync 存取權](#create-s3-location-govcloud-iam)
+ [建立 DataSync 代理程式 （選用）](#create-s3-location-govcloud-create-agent)
+ [為您的 S3 儲存貯體建立物件儲存位置](#create-s3-location-govcloud-how-to)

### 提供對物件儲存位置儲存貯體的 DataSync 存取權
<a name="create-s3-location-govcloud-iam"></a>

建立此傳輸的物件儲存位置時，您必須向 DataSync 提供 IAM 使用者的登入資料，並具有存取位置 S3 儲存貯體的許可。如需詳細資訊，請參閱[所需的許可](#create-s3-location-required-permissions)。

**警告**  
IAM 使用者具有長期憑證，這會造成安全風險。為了協助降低此風險，建議您只為這些使用者提供執行任務所需的許可，並在不再需要這些使用者時將其移除。

### 建立 DataSync 代理程式 （選用）
<a name="create-s3-location-govcloud-create-agent"></a>

如果您想要使用**基本**模式執行傳輸，則需要使用 代理程式。由於您要在商業 和 之間傳輸 AWS GovCloud (US) Region，因此您可以將 DataSync 代理程式部署為其中一個 區域中的 Amazon EC2 執行個體。我們建議您的代理程式使用 VPC 服務端點，以避免資料傳輸費用傳送到公有網際網路。如需詳細資訊，請參閱 [Amazon EC2 資料傳輸定價](https://aws.amazon.com/ec2/pricing/on-demand/#Data_Transfer)。

選擇下列其中一個案例，描述如何根據您計劃執行 DataSync 任務的區域建立代理程式。

#### 在商業區域中執行 DataSync 任務時
<a name="using-datasync-in-commercial"></a>

下圖顯示 DataSync 任務和代理程式位於商業區域的傳輸。

![\[部署在商業區域中的 DataSync 代理程式，可將跨區域傳輸到 中的 S3 儲存貯體 AWS GovCloud (US) Region。\]](http://docs.aws.amazon.com/zh_tw/datasync/latest/userguide/images/s3-task-in-commercial.png)



| 參考資料 | Description | 
| --- | --- | 
| 1 | 在您執行 DataSync 任務的商業區域中，資料會從來源 S3 儲存貯體傳輸。來源儲存貯體已設定為商業區域中的 [Amazon S3 位置](#create-s3-location-how-to)。 | 
| 2 | 透過 DataSync 代理程式進行資料傳輸，該代理程式位於 VPC 服務端點和[網路介面](required-network-interfaces.md)所在的相同 VPC 和子網路中。 | 
| 3 | 資料傳輸至 中的目的地 S3 儲存貯體 AWS GovCloud (US) Region。目的地儲存貯體已設定為商業區域中的[物件儲存位置](#create-s3-location-govcloud-how-to)。 | 

您也可以使用此相同的設定，將相反的方向從 AWS GovCloud (US) Region 轉移到商業區域。

**建立 DataSync 代理程式**

1. 在商業區域中[部署 Amazon EC2 代理程式](deploy-agents.md#ec2-deploy-agent-how-to)。

1. 將代理程式設定為使用 [VPC 服務端點](choose-service-endpoint.md#datasync-in-vpc)。

1. [啟用您的代理程式](activate-agent.md)。

#### 在 GovCloud (US) 區域中執行 DataSync 任務時
<a name="using-datasync-in-govcloud-1"></a>

下圖顯示 DataSync 任務和代理程式在 中的傳輸 AWS GovCloud (US) Region。

![\[部署在 中的 DataSync 代理程式， AWS GovCloud (US) Region 或跨區域傳輸至相同 中的 S3 儲存貯體 AWS GovCloud (US) Region。\]](http://docs.aws.amazon.com/zh_tw/datasync/latest/userguide/images/s3-task-in-govcloud-1.png)



| 參考資料 | Description | 
| --- | --- | 
| 1 | 資料從商業區域中的來源 S3 儲存貯體傳輸到您執行 DataSync 任務 AWS GovCloud (US) Region 的 。來源儲存貯體在 中設定為[物件儲存位置](#create-s3-location-govcloud-how-to) AWS GovCloud (US) Region。 | 
| 2 | 在 中 AWS GovCloud (US) Region，透過位於 VPC 服務端點和[網路介面](required-network-interfaces.md)所在之相同 VPC 和子網路中的 DataSync 代理程式進行資料傳輸。 | 
| 3 | 資料傳輸至 中的目的地 S3 儲存貯體 AWS GovCloud (US) Region。目的地儲存貯體在 中設定為 [Amazon S3 位置](#create-s3-location-how-to) AWS GovCloud (US) Region。 | 

您也可以使用此相同的設定，將相反的方向從 AWS GovCloud (US) Region 轉移到商業區域。

**建立 DataSync 代理程式**

1. 在 [中部署 Amazon EC2 代理程式](deploy-agents.md#ec2-deploy-agent-how-to) AWS GovCloud (US) Region。

1. 將代理程式設定為使用 [VPC 服務端點](choose-service-endpoint.md#datasync-in-vpc)。

1. [啟用您的代理程式](activate-agent.md)。

如果您的資料集可高度壓縮，您可能會在 中執行任務時，改為在商業區域中建立您的代理程式，藉此降低成本 AWS GovCloud (US) Region。建立此代理程式的設定比平常更多，包括準備要在商業區域中使用的代理程式。如需有關為此設定建立代理程式的資訊，請參閱[AWS GovCloud (US) 使用部落格移入和移出資料 AWS DataSync](https://aws.amazon.com/blogs/publicsector/move-data-in-out-aws-govcloud-datasync/)。

### 為您的 S3 儲存貯體建立物件儲存位置
<a name="create-s3-location-govcloud-how-to"></a>

您需要 S3 儲存貯體的物件儲存位置，該儲存貯體位於您未執行 DataSync 任務的區域中。

#### 使用 DataSync 主控台
<a name="create-s3-location-govcloud-how-to-console"></a>

1. 在 https：//[https://console.aws.amazon.com/datasync/](https://console.aws.amazon.com/datasync/) 開啟 AWS DataSync 主控台。

1. 請確定您位於計劃執行任務的相同區域。

1. 在左側導覽窗格中，展開**資料傳輸**，然後選擇**位置**和**建立位置**。

1. 針對**位置類型**，選擇**物件儲存**。

1. 針對 **代理**程式，選擇您為此傳輸建立的 DataSync 代理程式。

1. 在**伺服器**中，使用下列其中一種格式輸入儲存貯體的 Amazon S3 端點：
   + **商業區域儲存貯體：** `s3.your-region.amazonaws.com`
   + **AWS GovCloud (US) Region 儲存貯**體： `s3.your-gov-region.amazonaws.com`

   如需 Amazon S3 端點的清單，請參閱 *[AWS 一般參考](https://docs.aws.amazon.com/general/latest/gr/s3.html)*。

1. 針對**儲存貯**體名稱，輸入 S3 儲存貯體的名稱。

1. 對於**資料夾**，在 DataSync 讀取或寫入的 S3 儲存貯體中輸入字首 （取決於儲存貯體是來源或目的地位置）。
**警告**  
DataSync 無法傳輸字首開頭為斜線 (`/`) 或包含 `//`、 `/./`或 `/../` 模式的物件。例如：  
`/photos`
`photos//2006/January`
`photos/./2006/February`
`photos/../2006/March`

1. 選取**需要登入**資料並執行下列動作：
   + 針對**存取金鑰**，輸入可存取儲存貯體之 [IAM 使用者的](#create-s3-location-govcloud-iam)存取金鑰。
   + 針對**私密金鑰**，輸入相同 IAM 使用者的私密金鑰。

1. （選用） 選擇**新增標籤**以標記您的位置。

   標籤可協助您管理、篩選和搜尋資源。建議您為位置建立名稱標籤。

1. 選擇**建立位置**。

#### 使用 AWS CLI
<a name="create-s3-location-govcloud-how-to-cli"></a>

1. 複製下列`create-location-object-storage`命令：

   ```
   aws datasync create-location-object-storage \
       --server-hostname s3-endpoint \
       --bucket-name amzn-s3-demo-bucket \
       --agent-arns arn:aws:datasync:your-region:123456789012:agent/agent-01234567890deadfb
   ```

1. 針對 `--server-hostname` 參數，請使用下列其中一種格式來指定儲存貯體的 Amazon S3 端點：
   + **商業區域儲存貯體：** `s3.your-region.amazonaws.com`
   + **AWS GovCloud (US) Region 儲存貯**體： `s3.your-gov-region.amazonaws.com`

   對於端點中的區域，請確定您指定了計劃執行任務的相同區域。

   如需 Amazon S3 端點的清單，請參閱 *[AWS 一般參考](https://docs.aws.amazon.com/general/latest/gr/s3.html)*。

1. 針對 `--bucket-name` 參數，指定 S3 儲存貯體的名稱。

1. 針對 `--agent-arns` 參數，指定您為此傳輸建立的 DataSync 代理程式。

1. 針對 `--access-key` 參數，指定可存取儲存貯體之 [IAM 使用者的](#create-s3-location-govcloud-iam)存取金鑰。

1. 針對 `--secret-key` 參數，輸入相同的 IAM 使用者的私密金鑰。

1. （選用） 對於 `--subdirectory` 參數，在 DataSync 讀取或寫入的 S3 儲存貯體中指定字首 （取決於儲存貯體是來源或目的地位置）。
**警告**  
DataSync 無法傳輸字首開頭為斜線 (`/`) 或包含 `//`、 `/./`或 `/../` 模式的物件。例如：  
`/photos`
`photos//2006/January`
`photos/./2006/February`
`photos/../2006/March`

1. （選用） 對於 `--tags` 參數，指定代表位置資源標籤的鍵值對。

   標籤可協助您管理、篩選和搜尋資源。建議您為位置建立名稱標籤。

1. 執行 `create-location-object-storage` 命令。

   您會收到回應，顯示您剛建立的位置 ARN。

   ```
   {
       "LocationArn": "arn:aws:datasync:us-east-1:123456789012:location/loc-01234567890abcdef"
   }
   ```

您可以使用此位置做為 DataSync 任務的來源或目的地。對於此傳輸中的其他 S3 儲存貯體，[請建立 Amazon S3 位置](#create-s3-location-how-to)。

## 後續步驟
<a name="create-s3-location-next-steps"></a>

一些可能的後續步驟包括：

1. 如有需要，請建立您的其他位置。如需詳細資訊，請參閱[我可以將資料傳輸到哪裡 AWS DataSync？](working-with-locations.md)

1. [設定 DataSync 任務設定](task-options.md)，例如要傳輸哪些檔案、如何處理中繼資料，以及其他選項。

1. 為您的 DataSync 任務[設定排程](task-scheduling.md)。

1. 設定 DataSync 任務的[監控](monitoring-overview.md)。

1. [啟動](run-task.md)您的任務。