

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

# 使用 傳輸資料 AWS DataSync
<a name="transferring-data-datasync"></a>

使用 AWS DataSync，您可以在內部部署、內部或其他雲端 AWS的儲存體之間傳輸資料。

設定 DataSync 傳輸通常需要下列步驟：

1. 判斷 DataSync 是否[支援您的傳輸](working-with-locations.md)。

1. [如果您需要 DataSync 代理](do-i-need-datasync-agent.md)程式進行傳輸，請部署和啟用盡可能接近您其中一個儲存系統的代理程式。

   例如，如果您要從內部部署網路檔案系統 (NFS) 檔案伺服器傳輸，請盡可能將代理程式部署到該檔案伺服器。

1. 提供儲存系統的 DataSync 存取權。

   DataSync 需要許可才能讀取或寫入您的儲存體 （取決於您的儲存體是來源或目的地位置）。例如，了解如何[提供 NFS 檔案伺服器的 DataSync 存取權](create-nfs-location.md#accessing-nfs)。

1. [連接您的網路](networking-datasync.md)，以取得儲存系統和 DataSync 之間的流量。

1. 使用 DataSync 主控台、 AWS CLI或 DataSync API 為您的來源儲存系統建立位置。

   例如，了解如何[建立 NFS 位置](create-nfs-location.md#create-nfs-location-how-to)或 [Amazon S3 位置](create-s3-location.md#create-s3-location-how-to)。

1. 重複步驟 3-5 以建立傳輸的目的地位置。

1. [建立和啟動包含來源和目的地位置的 DataSync 傳輸任務](create-task-how-to.md)。

**Topics**
+ [我可以將資料傳輸到哪裡 AWS DataSync？](working-with-locations.md)
+ [使用 往返內部部署儲存體 AWS DataSync](transferring-on-premises-storage.md)
+ [使用 往返 AWS 儲存體的傳輸 AWS DataSync](transferring-aws-storage.md)
+ [使用 往返其他雲端儲存體的傳輸 AWS DataSync](transferring-other-cloud-storage.md)
+ [建立傳輸資料的任務](create-task-how-to.md)
+ [啟動任務以傳輸您的資料](run-task.md)

# 我可以將資料傳輸到哪裡 AWS DataSync？
<a name="working-with-locations"></a>

您可以使用 傳輸資料的位置 AWS DataSync 取決於下列因素：
+ 您傳輸的來源和目的地[位置](how-datasync-transfer-works.md#sync-locations)
+ 如果您的位置位於不同的 AWS 帳戶
+ 如果您的位置位於不同的 AWS 區域
+ 如果您的 使用基本模式或增強模式

## 相同 中支援的傳輸 AWS 帳戶
<a name="working-with-locations-same-account"></a>

DataSync 支援在與相同 相關聯的下列儲存資源之間進行傳輸 AWS 帳戶。


| 來源 | 目標 | 需要 代理程式？ | 支援的任務模式 | 
| --- | --- | --- | --- | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/datasync/latest/userguide/working-with-locations.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/datasync/latest/userguide/working-with-locations.html)  |  是  |  基本、增強型  | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/datasync/latest/userguide/working-with-locations.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/datasync/latest/userguide/working-with-locations.html)  |  是  |  僅限基本  | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/datasync/latest/userguide/working-with-locations.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/datasync/latest/userguide/working-with-locations.html)  |  是  |  僅限基本  | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/datasync/latest/userguide/working-with-locations.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/datasync/latest/userguide/working-with-locations.html)  |  僅適用於基本模式  |  基本、增強型  | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/datasync/latest/userguide/working-with-locations.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/datasync/latest/userguide/working-with-locations.html)  |  是  |  僅限基本  | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/datasync/latest/userguide/working-with-locations.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/datasync/latest/userguide/working-with-locations.html)  |  否  |  基本、增強型  | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/datasync/latest/userguide/working-with-locations.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/datasync/latest/userguide/working-with-locations.html)  |  否  |  僅限基本  | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/datasync/latest/userguide/working-with-locations.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/datasync/latest/userguide/working-with-locations.html)  |  是  |  基本、增強型  | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/datasync/latest/userguide/working-with-locations.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/datasync/latest/userguide/working-with-locations.html)  |  是  |  僅限基本  | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/datasync/latest/userguide/working-with-locations.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/datasync/latest/userguide/working-with-locations.html)  |  僅適用於基本模式  |  基本、增強型  | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/datasync/latest/userguide/working-with-locations.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/datasync/latest/userguide/working-with-locations.html)  |  是  |  僅限基本  | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/datasync/latest/userguide/working-with-locations.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/datasync/latest/userguide/working-with-locations.html)  |  是  |  僅限基本  | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/datasync/latest/userguide/working-with-locations.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/datasync/latest/userguide/working-with-locations.html)  |  是  |  僅限基本  | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/datasync/latest/userguide/working-with-locations.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/datasync/latest/userguide/working-with-locations.html)  |  否  |  僅限基本  | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/datasync/latest/userguide/working-with-locations.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/datasync/latest/userguide/working-with-locations.html)  |  否  |  僅限基本  | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/datasync/latest/userguide/working-with-locations.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/datasync/latest/userguide/working-with-locations.html)  |  是  |  僅限基本  | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/datasync/latest/userguide/working-with-locations.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/datasync/latest/userguide/working-with-locations.html)  |  是  |  僅限基本  | 

## 支援的跨 傳輸 AWS 帳戶
<a name="working-with-locations-across-accounts"></a>

DataSync 支援在與不同 相關聯的儲存資源之間進行一些傳輸 AWS 帳戶。


| 來源 | 目標 | 需要 代理程式？ | 支援的任務模式 | 
| --- | --- | --- | --- | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/datasync/latest/userguide/working-with-locations.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/datasync/latest/userguide/working-with-locations.html)  |  是  |  基本、增強型  | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/datasync/latest/userguide/working-with-locations.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/datasync/latest/userguide/working-with-locations.html)  |  是  |  僅限基本  | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/datasync/latest/userguide/working-with-locations.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/datasync/latest/userguide/working-with-locations.html)  |  否  |  基本、增強型  | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/datasync/latest/userguide/working-with-locations.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/datasync/latest/userguide/working-with-locations.html)  |  否  |  僅限基本  | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/datasync/latest/userguide/working-with-locations.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/datasync/latest/userguide/working-with-locations.html)  |  是  |  基本、增強型  | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/datasync/latest/userguide/working-with-locations.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/datasync/latest/userguide/working-with-locations.html)  |  是  |  僅限基本  | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/datasync/latest/userguide/working-with-locations.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/datasync/latest/userguide/working-with-locations.html)  |  否  |  僅限基本  | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/datasync/latest/userguide/working-with-locations.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/datasync/latest/userguide/working-with-locations.html)  |  是 （用作 NFS/SMB 位置時）  |  僅限基本  | 

1 設定為 [NFS 位置](create-nfs-location.md)。

2 設定為 [SMB 位置](create-smb-location.md)。

3 設定為 NFS 或 SMB 位置。

## 相同 中支援的傳輸 AWS 區域
<a name="working-with-locations-same-region"></a>

在相同 AWS 區域 （包括[選擇加入區域） ](https://docs.aws.amazon.com/accounts/latest/reference/manage-acct-regions.html)內傳輸資料時沒有限制。如需詳細資訊，請參閱 [AWS 區域 DataSync 支援的](https://docs.aws.amazon.com/general/latest/gr/datasync.html) 。

## 之間支援的傳輸 AWS 區域
<a name="working-with-locations-cross-regions"></a>

在 [AWS 區域 DataSync 支援的](https://docs.aws.amazon.com/general/latest/gr/datasync.html) 之間傳輸資料時，請注意下列事項：
+ 在不同的 AWS 儲存服務之間傳輸時 AWS 區域，兩個位置之一必須位於您使用 DataSync 的區域。
+ 您無法透過 NFS、SMB、HDFS 或物件儲存位置跨區域傳輸。在這些情況下，兩個傳輸位置都必須位於您[啟用 DataSync 代理](activate-agent.md)程式的相同區域中。
+ 使用 AWS GovCloud (US) 區域，您可以：
  + 在 AWS GovCloud （美國東部） 和 AWS GovCloud （美國西部） 區域之間傳輸。
  +  AWS GovCloud (US) 區域與商業之間的傳輸 AWS 區域，例如美國東部 （維吉尼亞北部）。在 Amazon EFS 或 Amazon FSx 檔案系統之間傳輸時，這類傳輸需要[代理程式](agent-requirements.md)。

**重要**  
您需為之間傳輸的資料付費 AWS 區域。此傳輸的計費方式為從來源到目的地區域的資料傳輸。如需詳細資訊，請參閱[AWS DataSync 定價](https://aws.amazon.com/datasync/pricing/)。

## 判斷您的傳輸是否需要 DataSync 代理程式
<a name="datasync-transfer-requirements"></a>

根據您的傳輸案例，您可能需要 DataSync 代理程式。如需詳細資訊，請參閱[我需要 AWS DataSync 客服人員嗎？](do-i-need-datasync-agent.md)

# 使用 往返內部部署儲存體 AWS DataSync
<a name="transferring-on-premises-storage"></a>

使用 AWS DataSync，您可以在多個內部部署或自我管理儲存系統與下列 AWS 儲存服務之間傳輸檔案和物件：
+ [Amazon S3](create-s3-location.md)
+ [Amazon EFS](create-efs-location.md)
+ [Amazon FSx for Windows File Server](create-fsx-location.md)
+ [Amazon FSx for Lustre](create-lustre-location.md)
+ [Amazon FSx for OpenZFS](create-openzfs-location.md)
+ [Amazon FSx for NetApp ONTAP](create-ontap-location.md)

**Topics**
+ [使用 NFS 檔案伺服器設定 AWS DataSync 傳輸](create-nfs-location.md)
+ [使用 SMB 檔案伺服器設定 AWS DataSync 傳輸](create-smb-location.md)
+ [使用 HDFS 叢集設定 AWS DataSync 傳輸](create-hdfs-location.md)
+ [使用物件儲存系統設定 DataSync 傳輸](create-object-location.md)

# 使用 NFS 檔案伺服器設定 AWS DataSync 傳輸
<a name="create-nfs-location"></a>

使用 AWS DataSync，您可以在網路檔案系統 (NFS) 檔案伺服器與下列 AWS 儲存服務之間傳輸資料。支援的儲存服務取決於您的任務模式，如下所示：


| 基本模式 | 增強型模式 | 
| --- | --- | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/datasync/latest/userguide/create-nfs-location.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/datasync/latest/userguide/create-nfs-location.html)  | 

若要設定這種傳輸，您可以為 NFS 檔案伺服器建立[位置](how-datasync-transfer-works.md#sync-locations)。您可以使用此位置做為傳輸來源或目的地。

## 提供對 NFS 檔案伺服器的 DataSync 存取權
<a name="accessing-nfs"></a>

若要讓 DataSync 存取 NFS 檔案伺服器，您需要 DataSync [代理程式](how-datasync-transfer-works.md#sync-agents)。代理程式會使用 NFS 通訊協定在您的檔案伺服器上掛載匯出。請務必使用對應至您所需任務模式的代理程式。

**Topics**
+ [設定 NFS 匯出](#accessing-nfs-configuring-export)
+ [支援的 NFS 版本](#supported-nfs-versions)

### 設定 NFS 匯出
<a name="accessing-nfs-configuring-export"></a>

DataSync 傳輸所需的匯出取決於您的 NFS 檔案伺服器是來源或目的地位置，以及檔案伺服器的許可設定方式。

如果您的檔案伺服器是來源位置，DataSync 只需要讀取和周遊您的檔案和資料夾。如果是目的地位置，DataSync 需要根存取權才能寫入位置，並在您正在複製的檔案和資料夾上設定擁有權、許可和其他中繼資料。您可以使用 `no_root_squash`選項來允許匯出的根存取。

下列範例說明如何設定提供 DataSync 存取權的 NFS 匯出。

**當您的 NFS 檔案伺服器是來源位置時 （根存取）**  
使用下列命令來設定匯出，該命令提供 DataSync 唯讀許可 (`ro`) 和根存取 ()`no_root_squash`：

```
export-path datasync-agent-ip-address(ro,no_root_squash)
```

**當您的 NFS 檔案伺服器是目的地位置時**  
使用下列命令來設定匯出，該命令提供 DataSync 寫入許可 (`rw`) 和根存取 (`no_root_squash`)：

```
export-path datasync-agent-ip-address(rw,no_root_squash)
```

**當您的 NFS 檔案伺服器是來源位置時 （無根存取）**  
使用下列命令來設定匯出，該命令會指定您知道會為匯出提供 DataSync 唯讀許可的 POSIX 使用者 ID (UID) 和群組 ID (GID)：

```
export-path datasync-agent-ip-address(ro,all_squash,anonuid=uid,anongid=gid)
```

### 支援的 NFS 版本
<a name="supported-nfs-versions"></a>

根據預設，DataSync 會使用 NFS 4.1 版。DataSync 也支援 NFS 4.0 和 3.x。

## 設定您的網路以進行 NFS 傳輸
<a name="configure-network-nfs-location"></a>

對於 DataSync 傳輸，您必須為幾個網路連線設定流量：

1. 允許從 DataSync 代理程式到 NFS 檔案伺服器的下列連接埠流量：
   + **對於 NFS 4.1 和 4.0 版** – TCP 連接埠 2049
   + **對於 NFS 3.x 版** – TCP 連接埠 111 和 2049

   網路中的其他 NFS 用戶端應該能夠掛載您用來傳輸資料的 NFS 匯出。匯出也必須在沒有 Kerberos 身分驗證的情況下存取。

1. 設定[服務端點連線](datasync-network.md)的流量 （例如 VPC、公有或 FIPS 端點）。

1. 允許流量從 DataSync 服務流向您要傳輸的[AWS 儲存服務](datasync-network.md#storage-service-network-requirements)。

## 建立 NFS 傳輸位置
<a name="create-nfs-location-how-to"></a>

開始之前，請注意下列事項：
+ 您需要要從中傳輸資料的 NFS 檔案伺服器。
+ 您需要可以[存取檔案伺服器的](#accessing-nfs) DataSync 代理程式。
+  DataSync 不支援複製 NFS 第 4 版存取控制清單 ACLs)。

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

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

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

1. 針對**位置類型**，選擇**網路檔案系統 (NFS)**。

1. 針對**代理**程式，選擇可連線至 NFS 檔案伺服器的 DataSync 代理程式。

   您可以選擇多個代理程式。如需詳細資訊，請參閱[使用多個 DataSync 代理程式](do-i-need-datasync-agent.md#multiple-agents)。

1. 針對 **NFS 伺服器**，輸入 DataSync 代理程式連線之 NFS 檔案伺服器的網域名稱系統 (DNS) 名稱或 IP 地址。

1. 針對**掛載路徑**，輸入您希望 DataSync 掛載的 NFS 匯出路徑。

   此路徑 （或路徑的子目錄） 是 DataSync 往返傳輸資料的位置。如需詳細資訊，請參閱[設定 NFS 匯出](#accessing-nfs-configuring-export)。

1. （選用） 展開**其他設定**，並為 DataSync 選擇存取檔案伺服器時要使用的特定 **NFS 版本**。

   如需詳細資訊，請參閱[支援的 NFS 版本](#supported-nfs-versions)。

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

   *標籤*是索引鍵/值組，可協助您管理、篩選和搜尋位置。建議您為位置建立至少一個名稱標籤。

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

### 使用 AWS CLI
<a name="create-location-nfs-cli"></a>
+ 使用下列命令來建立 NFS 位置。

  ```
  aws datasync create-location-nfs \
      --server-hostname nfs-server-address \
      --on-prem-config AgentArns=datasync-agent-arns \
      --subdirectory nfs-export-path
  ```

  如需建立位置的詳細資訊，請參閱 [提供對 NFS 檔案伺服器的 DataSync 存取權](#accessing-nfs)。

  DataSync 會自動選擇用來從 NFS 位置讀取的 NFS 版本。若要指定 NFS 版本，請在 [NfsMountOptions](API_NfsMountOptions.md) API 作業中使用其他 `Version` 參數。

此命令會傳回 NFS 位置的 Amazon Resource Name (ARN)，類似下列 ARN 所示。

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

若要確保目錄可以掛載，您可以連線到和代理程式具有相同網路組態的任何電腦，並執行下列命令。

```
mount -t nfs -o nfsvers=<nfs-server-version <nfs-server-address:<nfs-export-path <test-folder
```

下面是命令的範例。

```
mount -t nfs -o nfsvers=3 198.51.100.123:/path_for_sync_to_read_from /temp_folder_to_test_mount_on_local_machine
```

# 使用 SMB 檔案伺服器設定 AWS DataSync 傳輸
<a name="create-smb-location"></a>

使用 AWS DataSync，您可以在伺服器訊息區塊 (SMB) 檔案伺服器與下列 AWS 儲存服務之間傳輸資料。支援的儲存服務取決於您的任務模式，如下所示：


| 基本模式 | 增強型模式 | 
| --- | --- | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/datasync/latest/userguide/create-smb-location.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/datasync/latest/userguide/create-smb-location.html)  | 

若要設定這種傳輸，請為 SMB 檔案伺服器建立[位置](how-datasync-transfer-works.md#sync-locations)。您可以使用此做為傳輸來源或目的地。請務必使用對應至您所需任務模式的代理程式。

## 提供對 SMB 檔案伺服器的 DataSync 存取權
<a name="configuring-smb"></a>

DataSync 會使用 SMB 通訊協定連線至您的檔案伺服器，並且可以使用 NTLM 或 Kerberos 進行身分驗證。

**Topics**
+ [支援的 SMB 版本](#configuring-smb-version)
+ [使用 NTLM 身分驗證](#configuring-smb-ntlm-authentication)
+ [使用 Kerberos 身分驗證](#configuring-smb-kerberos-authentication)
+ [所需的許可](#configuring-smb-permissions)
+ [DFS 命名空間](#configuring-smb-location-dfs)

### 支援的 SMB 版本
<a name="configuring-smb-version"></a>

根據預設，DataSync 會根據與 SMB 檔案伺服器的交涉，自動選擇 SMB 通訊協定的版本。

您也可以將 DataSync 設定為使用特定 SMB 版本，但我們建議只在 DataSync 自動與 SMB 檔案伺服器交涉發生問題時，才這麼做。DataSync 支援 SMB 1.0 版和更新版本。基於安全考量，我們建議您使用 SMB 3.0.2 版或更新版本。舊版，例如 SMB 1.0，包含已知的安全漏洞，攻擊者可以利用這些漏洞來入侵您的資料。

如需 DataSync 主控台和 API 中的選項清單，請參閱下表：


| 主控台選項 | API 選項 | Description | 
| --- | --- | --- | 
| 自動 |  `AUTOMATIC`  |  DataSync 和 SMB 檔案伺服器會交涉它們在 2.1 和 3.1.1 之間相互支援的 SMB 最高版本。 這是預設和建議的選項。如果您改為選擇檔案伺服器不支援的特定版本，可能會收到 `Operation Not Supported` 錯誤。  | 
|  SMB 3.0.2  |  `SMB3`  |  將通訊協定交涉限制為僅限 SMB 3.0.2 版。  | 
| SMB 2.1 |  `SMB2`  | 將通訊協定交涉限制為僅限 SMB 2.1 版。 | 
| SMB 2.0 | `SMB2_0` | 將通訊協定交涉限制為僅限 SMB 2.0 版。 | 
| SMB 1.0 | `SMB1` | 將通訊協定交涉限制為僅限 SMB 1.0 版。 | 

### 使用 NTLM 身分驗證
<a name="configuring-smb-ntlm-authentication"></a>

若要使用 NTLM 身分驗證，您需要提供使用者名稱和密碼，以允許 DataSync 存取您要從中傳輸的 SMB 檔案伺服器。使用者可以是檔案伺服器的本機使用者或 Microsoft Active Directory 中的網域使用者。

### 使用 Kerberos 身分驗證
<a name="configuring-smb-kerberos-authentication"></a>

若要使用 Kerberos 身分驗證，您需要提供 Kerberos 主體、Kerberos 金鑰表 (keytab) 檔案和 Kerberos 組態檔案，允許 DataSync 存取您要從中傳輸的 SMB 檔案伺服器。

**Topics**
+ [先決條件](#configuring-smb-kerberos-prerequisites)
+ [Kerberos 的 DataSync 組態選項](#configuring-smb-kerberos-options)

#### 先決條件
<a name="configuring-smb-kerberos-prerequisites"></a>

您需要建立幾個 Kerberos 成品並設定您的網路，以便 DataSync 可以存取您的 SMB 檔案伺服器。
+ 使用 [ktpass](https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/ktpass) 或 [kutil](https://web.mit.edu/kerberos/krb5-1.12/doc/admin/admin_commands/ktutil.html) 公用程式建立 Kerberos keytab 檔案。

  下列範例使用 建立 keytab 檔案`ktpass`。您指定的 Kerberos 領域 (`MYDOMAIN.ORG`) 必須為大寫。

  ```
  ktpass /out C:\YOUR_KEYTAB.keytab /princ HOST/kerberosuser@MYDOMAIN.ORG /mapuser kerberosuser /pass * /crypto AES256-SHA1 /ptype KRB5_NT_PRINCIPAL
  ```
+ 準備簡化版本的 Kerberos 組態檔案 (`krb5.conf`)。包含有關領域、網域管理伺服器的位置，以及主機名稱映射到 Kerberos 領域的資訊。

  確認`krb5.conf`內容已針對領域和網域領域名稱使用正確的混合大小寫進行格式化。例如：

  ```
  [libdefaults] 
    dns_lookup_realm = true 
    dns_lookup_kdc = true 
    forwardable = true 
    default_realm = MYDOMAIN.ORG
  
  [realms] 
    MYDOMAIN.ORG = { 
      kdc = mydomain.org 
      admin_server = mydomain.org 
    }
  
  [domain_realm] 
    .mydomain.org = MYDOMAIN.ORG 
    mydomain.org = MYDOMAIN.ORG
  ```
+ 在您的網路組態中，請確定您的 Kerberos Key Distribution Center (KDC) 伺服器連接埠已開啟。KDC 連接埠通常是 TCP 連接埠 88。

#### Kerberos 的 DataSync 組態選項
<a name="configuring-smb-kerberos-options"></a>

建立使用 Kerberos 的 SMB 位置時，您可以設定下列選項。


| 主控台選項 | API 選項 | Description | 
| --- | --- | --- | 
|  **SMB 伺服器**  |  `ServerHostName`  |  DataSync 代理程式將掛載的 SMB 檔案伺服器的網域名稱。對於 Kerberos，您無法指定檔案伺服器的 IP 地址。  | 
|  **Kerberos 主體**  |  `KerberosPrincipal`  |  Kerberos 領域中的身分，有權存取 SMB 檔案伺服器中的檔案、資料夾和檔案中繼資料。 Kerberos 主體可能看起來像 `HOST/kerberosuser@MYDOMAIN.ORG`。 主體名稱區分大小寫。  | 
|  **Keytab 檔案**  |  `KerberosKeytab`   |  Kerberos 金鑰資料表 (keytab) 檔案，其中包含 Kerberos 主體和加密金鑰之間的映射。  | 
|  **Kerberos 組態檔案**  |  `KerberosKrbConf`  |  定義 Kerberos 領域組態`krb5.conf`的檔案。  | 
|  **DNS IP 地址** （選用）  |  `DnsIpAddresses`  |  SMB 檔案伺服器所屬之 DNS 伺服器的 IPv4 地址。 如果您的環境中有多個網域，請設定此項目可確保 DataSync 連線至正確的 SMB 檔案伺服器。  | 

### 所需的許可
<a name="configuring-smb-permissions"></a>

您提供 DataSync 的身分必須具有掛載和存取 SMB 檔案伺服器檔案、資料夾和檔案中繼資料的許可。

如果您在 Active Directory 中提供身分，則必須是具有下列其中一個或兩個使用者權限的 Active Directory 群組成員 （視[您希望 DataSync 複製的中繼資料](configure-metadata.md)而定）：


| 使用者權限 | Description | 
| --- | --- | 
|  **還原檔案和目錄 **(`SE_RESTORE_NAME`)  |  允許 DataSync 複製物件擁有權、許可、檔案中繼資料和 NTFS 選擇性存取清單 DACLs)。 此使用者權利通常授予**網域管理員**和**備份運算子**群組的成員 （兩者都是預設 Active Directory 群組）。  | 
|  **管理稽核和安全性日誌 **(`SE_SECURITY_NAME`)  |  允許 DataSync 複製 NTFS 系統存取控制清單 SACLs)。 此使用者權利通常會授予**網域管理員**群組的成員。  | 

如果您想要複製 Windows ACLs，並在 SMB 檔案伺服器與使用 SMB 的另一個儲存系統 （例如 Amazon FSx for Windows File Server 或 FSx for ONTAP) 之間傳輸，您提供 DataSync 的身分必須屬於相同的 Active Directory 網域，或在其網域之間具有 Active Directory 信任關係。

### DFS 命名空間
<a name="configuring-smb-location-dfs"></a>

DataSync 不支援 Microsoft 分散式檔案系統 (DFS) 命名空間。我們建議您在建立 DataSync 位置時，改為指定基礎檔案伺服器或共用。

## 建立 SMB 傳輸位置
<a name="create-smb-location-how-to"></a>

開始之前，您需要要從中傳輸資料的 SMB 檔案伺服器。

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

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

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

1. 在 **Location type (位置類型)** 中，選擇 **Server Message Block (SMB) (伺服器訊息區塊 (SMB))**。

   您稍後會將此位置設定為來源或目的地。

1. 針對**代理**程式，選擇可連線至 SMB 檔案伺服器的 DataSync 代理程式。

   您可以選擇多個代理程式。如需詳細資訊，請參閱[使用多個 DataSync 代理程式](do-i-need-datasync-agent.md#multiple-agents)。

1. 針對 **SMB 伺服器**，輸入 DataSync 代理程式將掛載之 SMB 檔案伺服器的網域名稱或 IP 地址。

   使用此設定請記住下列事項：
   + 您無法指定 IP 第 6 版 (IPv6) 地址。
   + 如果您使用 Kerberos 身分驗證，則必須指定網域名稱。

1. 針對**共用名稱**，輸入由 DataSync 讀取或寫入資料之 SMB 檔案伺服器匯出的共用名稱。

   您可以在共用路徑中包含子目錄 （例如，`/path/to/subdirectory`)。請確定您網路中的其他 SMB 用戶端也可以掛載此路徑。

   若要複製子目錄中的所有資料，DataSync 必須能夠掛載 SMB 共用並存取其所有資料。如需詳細資訊，請參閱[所需的許可](#configuring-smb-permissions)。

1. （選用） 展開**其他設定**，並為 DataSync 選擇存取檔案伺服器時要使用的 **SMB 版本**。

   根據預設，DataSync 會根據與 SMB 檔案伺服器的交涉自動選擇版本。如需相關資訊，請參閱[支援的 SMB 版本](#configuring-smb-version)。

1. 針對**身分驗證類型**，選擇 **NTLM** 或 **Kerberos**。

1. 根據您的身分驗證類型執行下列其中一項操作：

------
#### [ NTLM ]
   + 針對**使用者**，輸入可掛載 SMB 檔案伺服器的使用者名稱，並具有存取傳輸所涉及檔案和資料夾的許可。

     如需詳細資訊，請參閱[所需的許可](#configuring-smb-permissions)。
   + 針對**密碼**，輸入可掛載 SMB 檔案伺服器且具有許可存取傳輸所涉及之檔案和資料夾的使用者密碼。
   + （選用） 對於**網域**，輸入 SMB 檔案伺服器所屬的 Windows 網域名稱。

     如果您的環境中有多個網域，設定此設定可確保 DataSync 連線至正確的 SMB 檔案伺服器。

------
#### [ Kerberos ]
   + 對於 **Kerberos 主體**，請在 Kerberos 領域中指定主體，該主體具有存取 SMB 檔案伺服器中檔案、資料夾和檔案中繼資料的許可。

     Kerberos 主體可能看起來像 `HOST/kerberosuser@MYDOMAIN.ORG`。

     主體名稱區分大小寫。如果您為此設定指定的委託人與您用來建立 keytab 檔案的委託人不完全相符，您的 DataSync 任務執行將會失敗。
   + 對於 **Keytab 檔案**，上傳包含 Kerberos 主體與加密金鑰之間映射的 keytab 檔案。
   + 對於 **Kerberos 組態檔案**，上傳定義 Kerberos 領域組態`krb5.conf`的檔案。
   + （選用） 對於 **DNS IP 地址**，請為您的 SMB 檔案伺服器所屬的 DNS 伺服器指定最多兩個 IPv4 地址。

     如果您的環境中有多個網域，設定此參數可確保 DataSync 連線至正確的 SMB 檔案伺服器。

------

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

   *標籤*是索引鍵/值對，可協助您管理、篩選和搜尋位置。建議您為位置建立至少一個名稱標籤。

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

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

下列指示說明如何使用 NTLM 或 Kerberos 身分驗證建立 SMB 位置。

------
#### [ NTLM ]

1. 複製下列`create-location-smb`命令。

   ```
   aws datasync create-location-smb \
       --agent-arns datasync-agent-arns \
       --server-hostname smb-server-address \
       --subdirectory smb-export-path \
       --authentication-type "NTLM" \
       --user user-who-can-mount-share \
       --password user-password \
       --domain windows-domain-of-smb-server
   ```

1. 針對 `--agent-arns`，指定可連線至 SMB 檔案伺服器的 DataSync 代理程式。

   您可以選擇多個代理程式。如需詳細資訊，請參閱[使用多個 DataSync 代理程式](do-i-need-datasync-agent.md#multiple-agents)。

1. 針對 `--server-hostname`，指定 DataSync 代理程式將掛載之 SMB 檔案伺服器的網域名稱或 IPv4 地址。

1. 針對 `--subdirectory`，指定由 SMB 檔案伺服器匯出的共用名稱，DataSync 會在其中讀取或寫入資料。

   您可以在共用路徑中包含子目錄 （例如，`/path/to/subdirectory`)。請確定您網路中的其他 SMB 用戶端也可以掛載此路徑。

   若要複製子目錄中的所有資料，DataSync 必須能夠掛載 SMB 共用並存取其所有資料。如需詳細資訊，請參閱[所需的許可](#configuring-smb-permissions)。

1. 針對 `--user`，指定可掛載 SMB 檔案伺服器的使用者名稱，並具有存取傳輸中涉及之檔案和資料夾的許可。

   如需詳細資訊，請參閱[所需的許可](#configuring-smb-permissions)。

1. 針對 `--password`，指定可掛載 SMB 檔案伺服器且具有許可存取傳輸所涉及之檔案和資料夾的使用者密碼。

1. （選用） 針對 `--domain`，指定 SMB 檔案伺服器所屬的 Windows 網域名稱。

   如果您的環境中有多個網域，設定此設定可確保 DataSync 連線至正確的 SMB 檔案伺服器。

1. （選用） 如果您想要 DataSync 使用特定的 SMB 版本，請新增 `--version`選項。如需詳細資訊，請參閱[支援的 SMB 版本](#configuring-smb-version)。

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

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

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

------
#### [ Kerberos ]

1. 複製下列`create-location-smb`命令。

   ```
   aws datasync create-location-smb \
       --agent-arns datasync-agent-arns \
       --server-hostname smb-server-address \
       --subdirectory smb-export-path \
       --authentication-type "KERBEROS" \
       --kerberos-principal "HOST/kerberosuser@EXAMPLE.COM" \
       --kerberos-keytab "fileb://path/to/file.keytab" \
       --kerberos-krb5-conf "file://path/to/krb5.conf" \
       --dns-ip-addresses array-of-ipv4-addresses
   ```

1. 針對 `--agent-arns`，指定可連線至 SMB 檔案伺服器的 DataSync 代理程式。

   您可以選擇多個代理程式。如需詳細資訊，請參閱[使用多個 DataSync 代理程式](do-i-need-datasync-agent.md#multiple-agents)。

1. 針對 `--server-hostname`，指定 DataSync 代理程式將掛載的 SMB 檔案伺服器的網域名稱。

1. 針對 `--subdirectory`，指定由 SMB 檔案伺服器匯出的共用名稱，DataSync 會在其中讀取或寫入資料。

   您可以在共用路徑中包含子目錄 （例如，`/path/to/subdirectory`)。請確定您網路中的其他 SMB 用戶端也可以掛載此路徑。

   若要複製子目錄中的所有資料，DataSync 必須能夠掛載 SMB 共用並存取其所有資料。如需詳細資訊，請參閱[所需的許可](#configuring-smb-permissions)。

1. 對於 Kerberos 選項，請執行下列動作：
   + `--kerberos-principal`：在 Kerberos 領域中指定主體，該主體具有存取 SMB 檔案伺服器中檔案、資料夾和檔案中繼資料的許可。

     Kerberos 主體可能看起來像 `HOST/kerberosuser@MYDOMAIN.ORG`。

     主體名稱區分大小寫。如果您為此選項指定的委託人與您用來建立 keytab 檔案的委託人不完全相符，您的 DataSync 任務執行將會失敗。
   + `--kerberos-keytab`：指定包含 Kerberos 主體與加密金鑰之間映射的 keytab 檔案。
   + `--kerberos-krb5-conf`：指定定義 Kerberos 領域組態`krb5.conf`的檔案。
   + （選用） `--dns-ip-addresses`：為您的 SMB 檔案伺服器所屬的 DNS 伺服器指定最多兩個 IPv4 地址。

     如果您的環境中有多個網域，設定此參數可確保 DataSync 連線至正確的 SMB 檔案伺服器。

1. （選用） 如果您想要 DataSync 使用特定的 SMB 版本，請新增 `--version`選項。如需詳細資訊，請參閱[支援的 SMB 版本](#configuring-smb-version)。

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

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

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

------

# 使用 HDFS 叢集設定 AWS DataSync 傳輸
<a name="create-hdfs-location"></a>

使用 AWS DataSync，您可以使用基本模式任務，在 Hadoop 分散式檔案系統 (HDFS) 叢集與下列其中一個 AWS 儲存服務之間傳輸資料：
+ [Amazon S3](create-s3-location.md)
+ [Amazon EFS](create-efs-location.md)
+ [Amazon FSx for Windows File Server](create-fsx-location.md)
+ [Amazon FSx for Lustre](create-lustre-location.md)
+ [Amazon FSx for OpenZFS](create-openzfs-location.md)
+ [Amazon FSx for NetApp ONTAP](create-ontap-location.md)

若要設定這種傳輸，您可以為 HDFS 叢集建立[位置](how-datasync-transfer-works.md#sync-locations)。您可以使用此位置做為傳輸來源或目的地。

## 提供對 HDFS 叢集的 DataSync 存取權
<a name="accessing-hdfs"></a>

若要連線至 HDFS 叢集，DataSync [會使用您盡可能接近 HDFS 叢集部署](deploy-agents.md)的基本模式代理程式。DataSync 代理程式充當 HDFS 用戶端，並與叢集中的 NameNodes 和 DataNodes 通訊。

當您啟動傳輸任務時，DataSync 會查詢 NameNode 在叢集上尋找檔案和資料夾的位置。如果您將 HDFS 位置設定為來源位置，DataSync 會從叢集中的 DataNodes 讀取檔案和資料夾資料，並將該資料複製到目的地。如果您將 HDFS 位置設定為目的地位置，則 DataSync 會將來源的檔案和資料夾寫入叢集中的 DataNodes。

### 身分驗證
<a name="accessing-hdfs-authentication"></a>

連線至 HDFS 叢集時，DataSync 支援簡易身分驗證或 Kerberos 身分驗證。若要使用簡單的身分驗證，請為使用者提供讀取和寫入 HDFS 叢集的權限。若要使用 Kerberos 身分驗證，請提供 Kerberos 組態檔案、Kerberos 金鑰資料表 (keytab) 檔案和 Kerberos 主體名稱。Kerberos 主體的登入資料必須位於提供的 keytab 檔案中。

### 加密
<a name="accessing-hdfs-encryption"></a>

使用 Kerberos 身分驗證時，DataSync 支援在 DataSync 代理程式和 HDFS 叢集之間傳輸時加密資料。使用 HDFS 叢集上的保護品質 (QOP) 組態設定，以及在建立 HDFS 位置時指定 QOP 設定，來加密您的資料。QOP 組態包含資料傳輸保護和遠端程序呼叫 (RPC) 保護的設定。

**DataSync 支援下列 Kerberos 加密類型：**
+ `des-cbc-crc`
+ `des-cbc-md4`
+ `des-cbc-md5`
+ `des3-cbc-sha1`
+ `arcfour-hmac`
+ `arcfour-hmac-exp`
+ `aes128-cts-hmac-sha1-96`
+ `aes256-cts-hmac-sha1-96`
+ `aes128-cts-hmac-sha256-128`
+ `aes256-cts-hmac-sha384-192`
+ `camellia128-cts-cmac`
+ `camellia256-cts-cmac`

您也可以使用透明資料加密 (TDE) 設定 HDFS 叢集進行靜態加密。使用簡易身分驗證時，DataSync 會讀取和寫入已啟用 TDE 的叢集。如果您使用 DataSync 將資料複製到啟用 TDE 的叢集，請先在 HDFS 叢集上設定加密區域。DataSync 不會建立加密區域。

## 不支援的 HDFS 功能
<a name="hdfs-unsupported-features"></a>

DataSync 目前不支援下列 HDFS 功能：
+ 使用 Kerberos 身分驗證時的透明資料加密 (TDE)
+ 設定多個 NameNodes
+ 透過 HTTP 的 Hadoop HDFS (HttpFS)
+ POSIX 存取控制清單 ACLs)
+ HDFS 延伸屬性 (xattrs)
+ 使用 Apache HBase 的 HDFS 叢集

## 建立您的 HDFS 傳輸位置
<a name="create-hdfs-location-how-to"></a>

您可以使用 位置做為 DataSync 傳輸的來源或目的地。

**開始之前**：執行下列動作來驗證代理程式和 Hadoop 叢集之間的網路連線：
+ 測試對 中所列 TCP 連接埠的存取[內部部署、自我管理和其他雲端儲存的網路需求](datasync-network.md#on-premises-network-requirements)。
+ 測試本機代理程式與 Hadoop 叢集之間的存取。如需說明，請參閱[驗證代理程式與儲存系統的連線](test-agent-connections.md#self-managed-storage-connectivity)。

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

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

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

1. 針對**位置類型**，選擇 **Hadoop 分散式檔案系統 (HDFS)**。

   您可以稍後將此位置設定為來源或目的地。

1. 針對 **代理**程式，選擇可連線至 HDFS 叢集的代理程式。

   您可以選擇多個代理程式。如需詳細資訊，請參閱[使用多個 DataSync 代理程式](do-i-need-datasync-agent.md#multiple-agents)。

1. 針對 **NameNode**，請提供 HDFS 叢集主要 NameNode 的網域名稱或 IP 地址。

1. 針對**資料夾**，輸入您希望 DataSync 用於資料傳輸的 HDFS 叢集資料夾。

   如果您的 HDFS 位置是來源，DataSync 會將此資料夾中的檔案複製到目的地。如果您的位置是目的地，DataSync 會將檔案寫入此資料夾。

1. 若要設定**區塊大小**或**複寫因素**，請選擇**其他設定**。

   預設區塊大小為 128 MiB。您提供的區塊大小必須是 512 位元組的倍數。

   傳輸到 HDFS 叢集時，預設複寫係數為三個 DataNodes。

1. 在**安全**區段中，選擇 HDFS 叢集上使用的**身分驗證類型**。
   + **簡單** – 對於**使用者**，在 HDFS 叢集上指定具有下列許可的使用者名稱 （取決於您的使用案例）：
     + 如果您打算使用此位置做為來源位置，請指定只有讀取許可的使用者。
     + 如果您打算使用此位置做為目的地位置，請指定具有讀取和寫入許可的使用者。

     或者，指定 HDFS 叢集金鑰管理伺服器 (KMS) 的 URI。
   + **Kerberos** – 指定可存取 HDFS 叢集的 Kerberos **委託人**。接著，提供 **KeyTab 檔案**，其中包含提供的 Kerberos 主體。然後，提供 **Kerberos 組態檔案**。最後，在 **RPC 保護**和**資料傳輸保護**下拉式清單中指定傳輸中保護的加密類型。

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

   *標籤*是索引鍵/值對，可協助您管理、篩選和搜尋位置。建議您為位置建立至少一個名稱標籤。

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

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

1. 複製下列`create-location-hdfs`命令。

   ```
   aws datasync create-location-hdfs --name-nodes [{"Hostname":"host1", "Port": 8020}] \
       --authentication-type "SIMPLE|KERBEROS" \
       --agent-arns [arn:aws:datasync:us-east-1:123456789012:agent/agent-01234567890example] \
       --subdirectory "/path/to/my/data"
   ```

1. 針對 `--name-nodes` 參數，指定 HDFS 叢集主要 NameNode 的主機名稱或 IP 地址，以及 NameNode 正在接聽的 TCP 連接埠。

1. 針對 `--authentication-type` 參數，指定連線至 Hadoop 叢集時要使用的身分驗證類型。您可指定為 `SIMPLE` 或 `KERBEROS`。

   如果您使用`SIMPLE`身分驗證，請使用 `--simple-user` 參數來指定使用者的使用者名稱。如果您使用`KERBEROS`身分驗證，請使用 `--kerberos-principal`、 `--kerberos-keytab`和 `--kerberos-krb5-conf` 參數。如需詳細資訊，請參閱 [create-location-hdfs](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/datasync/create-location-hdfs.html)。

1. 針對 `--agent-arns` 參數，指定可連線至 HDFS 叢集之 DataSync 代理程式的 ARN。

   您可以選擇多個代理程式。如需詳細資訊，請參閱[使用多個 DataSync 代理程式](do-i-need-datasync-agent.md#multiple-agents)。

1. （選用） 對於 `--subdirectory` 參數，請在 HDFS 叢集上指定您希望 DataSync 用於資料傳輸的資料夾。

   如果您的 HDFS 位置是來源，DataSync 會將此資料夾中的檔案複製到目的地。如果您的位置是目的地，DataSync 會將檔案寫入此資料夾。

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

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

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

# 使用物件儲存系統設定 DataSync 傳輸
<a name="create-object-location"></a>

使用 AWS DataSync，您可以使用基本模式任務，在物件儲存系統與下列其中一個 AWS 儲存服務之間傳輸資料：
+ [Amazon S3](create-s3-location.md)
+ [Amazon EFS](create-efs-location.md)
+ [Amazon FSx for Windows File Server](create-fsx-location.md)
+ [Amazon FSx for Lustre](create-lustre-location.md)
+ [Amazon FSx for OpenZFS](create-openzfs-location.md)
+ [Amazon FSx for NetApp ONTAP](create-ontap-location.md)

若要設定這種傳輸，您可以為物件儲存系統建立[位置](how-datasync-transfer-works.md#sync-locations)。您可以使用此位置做為傳輸來源或目的地。在內部部署物件儲存體之間傳輸資料需要基本模式 DataSync 代理程式。

## 先決條件
<a name="create-object-location-prerequisites"></a>

您的物件儲存系統必須與下列 [Amazon S3 API 操作](https://docs.aws.amazon.com/AmazonS3/latest/API/API_Operations.html)相容，DataSync 才能與其連線：
+ `AbortMultipartUpload`
+ `CompleteMultipartUpload`
+ `CopyObject`
+ `CreateMultipartUpload`
+ `DeleteObject`
+ `DeleteObjects`
+ `DeleteObjectTagging`
+ `GetBucketLocation`
+ `GetObject`
+ `GetObjectTagging`
+ `HeadBucket`
+ `HeadObject`
+ `ListObjectsV2`
+ `PutObject`
+ `PutObjectTagging`
+ `UploadPart`

## 建立物件儲存體傳輸位置
<a name="create-object-location-how-to"></a>

開始之前，您需要一個物件儲存系統，您計劃將資料傳輸到其中或從中傳輸資料。

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

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

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

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

   您稍後會將此位置設定為來源或目的地。

1. 對於**伺服器**，請提供物件儲存伺服器的網域名稱或 IP 地址。

1. 針對**儲存貯體名稱**，輸入傳輸中涉及的物件儲存貯體名稱。

1. 針對**資料夾**，輸入物件字首。

   DataSync 只會複製具有此字首的物件。

1. 如果您的傳輸需要代理程式，請選擇**使用代理程式**，然後選擇連線至物件儲存系統的 DataSync 代理程式。

   有些傳輸不需要客服人員。在其他情況下，您可能想要使用多個代理程式。如需詳細資訊，請參閱[不需要 DataSync 代理程式的情況](do-i-need-datasync-agent.md#when-agent-not-required)及[使用多個 DataSync 代理程式](do-i-need-datasync-agent.md#multiple-agents)。

1. 若要設定物件儲存伺服器的連線，請展開**其他設定**並執行下列動作：

   1. 針對**伺服器通訊協定**，選擇 **HTTP** 或 **HTTPS**。

   1. 對於**伺服器連接埠**，請使用預設連接埠 (HTTP 為 **80** 或 HTTPS 為 **443**)，或視需要指定自訂連接埠。

   1. 針對**憑證**，如果您的物件儲存系統使用私有或自我簽署憑證授權機構 (CA)，請選取**選擇檔案**，並指定具有完整憑證鏈的單一`.pem`檔案。

      憑證鏈可能包括：
      + 物件儲存系統的憑證
      + 所有中繼憑證 （如果有的話）
      + 簽署 CA 的根憑證

      您可以將憑證串連至`.pem`檔案 （在 base64 編碼之前最多可達 32768 個位元組）。下列範例`cat`命令會建立包含三個憑證`object_storage_certificates.pem`的檔案：

      ```
      cat object_server_certificate.pem intermediate_certificate.pem ca_root_certificate.pem > object_storage_certificates.pem
      ```

1. 如果物件儲存伺服器需要登入資料才能存取，請選取**需要登入**資料，然後輸入您用來存取儲存貯體的**存取金鑰**。然後直接輸入**秘密金鑰**，或指定包含該金鑰的 AWS Secrets Manager 秘密。如需詳細資訊，請參閱[提供儲存位置的登入](https://docs.aws.amazon.com/datasync/latest/userguide/location-credentials.html)資料。

   存取金鑰和私密金鑰分別可以是使用者名稱和密碼。

1. （選用） 選擇**新增標籤**以標記物件儲存位置。

   *標籤*是索引鍵/值對，可協助您管理、篩選和搜尋位置。建議您為位置建立至少一個名稱標籤。

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

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

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

   ```
   aws datasync create-location-object-storage \
       --server-hostname object-storage-server.example.com \
       --bucket-name your-bucket \
       --agent-arns arn:aws:datasync:us-east-1:123456789012:agent/agent-01234567890deadfb
   ```

1. 在 命令中指定下列必要參數：
   + `--server-hostname` – 指定物件儲存伺服器的網域名稱或 IP 地址。
   + `--bucket-name` – 指定您要從中轉移之物件儲存伺服器上的儲存貯體名稱。

1. （選用） 將下列任何參數新增至命令：
   + `--agent-arns` – 指定您要連線至物件儲存伺服器的 DataSync 代理程式。
   + `--server-port` – 指定物件儲存伺服器接受傳入網路流量的連接埠 （例如，連接埠 `443`)。
   + `--server-protocol` – 指定物件儲存伺服器用來通訊的通訊協定 (`HTTP` 或 `HTTPS`)。
   + `--access-key` – 如果需要登入資料才能向物件儲存伺服器進行身分驗證，請指定存取金鑰 （例如，使用者名稱）。
   + `--secret-key` – 如果需要登入資料來驗證物件儲存伺服器，請指定私密金鑰 （例如密碼）。

     您也可以提供使用 保護金鑰的其他參數 AWS Secrets Manager。如需詳細資訊，請參閱[提供儲存位置的登入](https://docs.aws.amazon.com/datasync/latest/userguide/location-credentials.html)資料。
   + `--server-certificate` – 指定憑證鏈，以便在系統使用私有或自我簽署憑證授權單位 (CA) 時，讓 DataSync 與您的物件儲存系統進行驗證。您必須指定具有完整憑證鏈的單一`.pem`檔案 （例如 `file:///home/user/.ssh/object_storage_certificates.pem`)。

     憑證鏈可能包括：
     + 物件儲存系統的憑證
     + 所有中繼憑證 （如果有的話）
     + 簽署 CA 的根憑證

     您可以將憑證串連至`.pem`檔案 （在 base64 編碼之前最多可達 32768 個位元組）。下列範例`cat`命令會建立包含三個憑證`object_storage_certificates.pem`的檔案：

     ```
     cat object_server_certificate.pem intermediate_certificate.pem ca_root_certificate.pem > object_storage_certificates.pem
     ```
   + `--subdirectory` – 指定物件儲存伺服器的物件字首。

     DataSync 只會複製具有此字首的物件。
   + `--tags` – 指定代表您要新增至位置資源之標籤的鍵/值對。

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

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

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

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

# 使用 往返 AWS 儲存體的傳輸 AWS DataSync
<a name="transferring-aws-storage"></a>

使用 AWS DataSync，您可以在多個 AWS 儲存服務之間傳輸資料。如需詳細資訊，請參閱[如何使用 DataSync 傳輸資料？](working-with-locations.md)

**Topics**
+ [使用 Amazon S3 設定 AWS DataSync 傳輸](create-s3-location.md)
+ [使用 Amazon EFS 設定 AWS DataSync 傳輸](create-efs-location.md)
+ [使用 FSx for Windows File Server 設定傳輸](create-fsx-location.md)
+ [使用 FSx for Lustre 設定 DataSync 傳輸](create-lustre-location.md)
+ [使用 Amazon FSx for OpenZFS 設定 DataSync 傳輸](create-openzfs-location.md)
+ [使用 Amazon FSx for NetApp ONTAP 設定傳輸](create-ontap-location.md)

# 使用 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)您的任務。

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

若要在 Amazon EFS 檔案系統之間傳輸資料，您必須建立 AWS DataSync 傳輸*位置*。DataSync 可以使用此位置做為傳輸資料的來源或目的地。

## 提供對 Amazon EFS 檔案系統的 DataSync 存取權
<a name="create-efs-location-access"></a>

[建立位置](#create-efs-location-how-to)涉及了解 DataSync 如何存取您的儲存體。對於 Amazon EFS，DataSync 會使用[網路介面](required-network-interfaces.md)，將檔案系統掛載為虛擬私有雲端 (VPC) 的根使用者。

**Contents**
+ [判斷掛載目標的子網路和安全群組](#create-efs-location-mount-target)
+ [存取受限檔案系統](#create-efs-location-iam)
  + [建立用於檔案系統存取的 DataSync IAM 角色](#create-efs-location-iam-role)
  + [允許 DataSync 存取的檔案系統政策範例](#create-efs-location-iam-policy)

### 判斷掛載目標的子網路和安全群組
<a name="create-efs-location-mount-target"></a>

建立位置時，您可以指定允許 DataSync 連線到其中一個 Amazon EFS 檔案系統[掛載目標](https://docs.aws.amazon.com/efs/latest/ug/accessing-fs.html)的子網路和安全群組。

您指定的子網路必須位於：
+ 在與檔案系統相同的 VPC 中。
+ 在與 檔案系統至少有一個掛載目標相同的可用區域中。

**注意**  
您不需要指定包含檔案系統掛載目標的子網路。

您指定的安全群組必須允許網路檔案系統 (NFS) 連接埠 2049 上的傳入流量。如需建立和更新掛載目標安全群組的詳細資訊，請參閱 [https://docs.aws.amazon.com/efs/latest/ug/network-access.html](https://docs.aws.amazon.com/efs/latest/ug/network-access.html)。

**指定與掛載目標相關聯的安全群組**  
您可以指定與檔案系統掛載目標之一相關聯的安全群組。從網路管理的角度來看，我們建議使用此方法。

**指定未與掛載目標相關聯的安全群組**  
您也可以指定與檔案系統掛載目標之一沒有關聯的安全群組。不過，此安全群組必須能夠與掛載目標的安全群組通訊。  
例如，以下說明如何在安全群組 D （適用於 DataSync) 和安全群組 M （適用於掛載目標） 之間建立關係：  
+ 您在建立位置時指定的安全群組 D 必須具有規則，允許 NFS 連接埠 2049 與安全群組 M 的傳出連線。
+ 您與掛載目標相關聯的安全群組 M 必須允許來自安全群組 D 的 NFS 連接埠 2049 傳入存取。

**尋找掛載目標的安全群組**

下列指示可協助您識別您希望 DataSync 用於傳輸的 Amazon EFS 檔案系統掛載目標的安全群組。

1. 在 中 AWS CLI，執行下列`describe-mount-targets`命令。

   ```
   aws efs describe-mount-targets \
       --region file-system-region  \
       --file-system-id file-system-id
   ```

   此命令會傳回檔案系統掛載目標的相關資訊 （類似下列範例輸出）。

   ```
   {
       "MountTargets": [
           {
               "OwnerId": "111222333444",
               "MountTargetId": "fsmt-22334a10",
               "FileSystemId": "fs-123456ab",
               "SubnetId": "subnet-f12a0e34",
               "LifeCycleState": "available",
               "IpAddress": "11.222.0.123",
               "NetworkInterfaceId": "eni-1234a044"
           }
       ]
   }
   ```

1. 請記下您要使用`MountTargetId`的值。

1. 使用 執行下列`describe-mount-target-security-groups`命令`MountTargetId`，以查看掛載目標的安全群組。

   ```
   aws efs describe-mount-target-security-groups \
       --region file-system-region \
       --mount-target-id mount-target-id
   ```

您可以在[建立位置](#create-efs-location-how-to)時指定此安全群組。

### 存取受限檔案系統
<a name="create-efs-location-iam"></a>

DataSync 可以在限制透過[存取點](https://docs.aws.amazon.com/efs/latest/ug/efs-access-points.html)和 [IAM 政策](https://docs.aws.amazon.com/efs/latest/ug/iam-access-control-nfs-efs.html)存取的 Amazon EFS 檔案系統之間傳輸。

**注意**  
如果 DataSync 透過[強制執行使用者身分](https://docs.aws.amazon.com/efs/latest/ug/efs-access-points.html#enforce-identity-access-points)的存取點存取目的地檔案系統，則如果您設定 DataSync 任務來[複製擁有](configure-metadata.md)權，則不會保留來源資料的 POSIX 使用者和群組 IDs。反之，傳輸的檔案和資料夾會設定為存取點的使用者和群組 IDs。發生這種情況時，任務驗證會失敗，因為 DataSync 偵測到來源和目的地位置中的中繼資料不相符。

**Contents**
+ [建立用於檔案系統存取的 DataSync IAM 角色](#create-efs-location-iam-role)
+ [允許 DataSync 存取的檔案系統政策範例](#create-efs-location-iam-policy)

#### 建立用於檔案系統存取的 DataSync IAM 角色
<a name="create-efs-location-iam-role"></a>

如果您有限制透過 IAM 政策存取的 Amazon EFS 檔案系統，您可以建立 IAM 角色，提供 DataSync 許可，以便從檔案系統讀取或寫入資料。然後，您可能需要在[檔案系統政策](#create-efs-location-iam-policy)中指定該角色。

**建立 DataSync IAM 角色**

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

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

1. 在**選取信任的實體**頁面上，針對**信任的實體類型**，選擇**自訂信任政策**。

1. 將下列 JSON 貼到政策編輯器中：

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [{
           "Effect": "Allow",
           "Principal": {
               "Service": "datasync.amazonaws.com"
           },
           "Action": "sts:AssumeRole"
       }]
   }
   ```

------

1. 選擇**下一步**。在 **Add permissions** (新增許可) 頁面上，選擇 **Next** (下一步)。

1. 為您的角色命名，然後選擇**建立角色**。

您可以在[建立位置](#create-efs-location-how-to)時指定此角色。

#### 允許 DataSync 存取的檔案系統政策範例
<a name="create-efs-location-iam-policy"></a>

下列範例檔案系統政策顯示如何限制對 Amazon EFS 檔案系統的存取 （在政策中識別為 `fs-1234567890abcdef0`)，但仍允許透過名為 的 IAM 角色存取 DataSync`MyDataSyncRole`：

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "ExampleEFSFileSystemPolicy",
    "Statement": [{
        "Sid": "AccessEFSFileSystem",
        "Effect": "Allow",
        "Principal": {
            "AWS": "arn:aws:iam::111122223333:role/MyDataSyncRole"
        },
        "Action": [
            "elasticfilesystem:ClientMount",
            "elasticfilesystem:ClientWrite",
            "elasticfilesystem:ClientRootAccess"
        ],
        "Resource": "arn:aws:elasticfilesystem:us-east-1:111122223333:file-system/fs-1234567890abcdef0",
        "Condition": {
            "Bool": {
                "aws:SecureTransport": "true"
            },
            "StringEquals": {
                "elasticfilesystem:AccessPointArn": "arn:aws:elasticfilesystem:us-east-1:111122223333:access-point/fsap-abcdef01234567890"
            }
        }
    }]
}
```

------
+ `Principal` – 指定 [IAM 角色](#create-efs-location-iam)，提供 DataSync 存取檔案系統的許可。
+ `Action` – 提供 DataSync 根存取權，並允許讀取和寫入檔案系統。
+ `aws:SecureTransport` – 需要 NFS 用戶端在連線至檔案系統時使用 TLS。
+ `elasticfilesystem:AccessPointArn` – 僅允許透過特定存取點存取檔案系統。

## Amazon EFS 傳輸的網路考量事項
<a name="efs-network-considerations"></a>

搭配 DataSync VPCs 必須具有預設租用。不支援具有專用租用VPCs。

## Amazon EFS 傳輸的效能考量
<a name="efs-considerations"></a>

Amazon EFS 檔案系統的輸送量模式可能會影響傳輸期間和檔案系統在傳輸期間的效能。考慮下列各項：
+ 為了獲得最佳結果，我們建議您使用彈性輸送量模式。如果您不使用彈性輸送量模式，則傳輸可能需要更長的時間。
+ 如果您使用爆量輸送量模式，檔案系統應用程式的效能可能會受到影響，因為 DataSync 會使用檔案系統爆量額度。
+ 如何[設定 DataSync 來驗證傳輸的資料](configure-data-verification-options.md)可能會影響檔案系統效能和資料存取成本。

如需詳細資訊，請參閱《[Amazon Elastic File System 使用者指南》中的 Amazon EFS 效能](https://docs.aws.amazon.com/efs/latest/ug/performance.html)和 [Amazon EFS 定價](https://aws.amazon.com/efs/pricing/)頁面。 *Amazon Elastic File System * 

## 建立 Amazon EFS 轉移位置
<a name="create-efs-location-how-to"></a>

若要建立傳輸位置，您需要現有的 Amazon EFS 檔案系統。如果您沒有 Amazon [ EFS，請參閱《Amazon Elastic File System 使用者指南](https://docs.aws.amazon.com/efs/latest/ug/getting-started.html)*Amazon Elastic File System *EFS 入門。

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

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

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

1. 針對**位置類型**，選擇 **Amazon EFS 檔案系統**。

   您稍後會將此位置設定為來源或目的地。

1. 針對**檔案系統**，選擇您要用作位置的 Amazon EFS 檔案系統。

1. 針對**掛載路徑**，輸入 Amazon EFS 檔案系統的掛載路徑。

   這會指定 DataSync 在檔案系統上讀取或寫入資料的位置 （取決於這是來源或目的地位置）。

   根據預設，DataSync 會使用根目錄 （如果您為 EFS [存取點](https://docs.aws.amazon.com/efs/latest/ug/efs-access-points.html)設定提供存取點）。 **EFS ** 您也可以使用斜線指定子目錄 （例如，`/path/to/directory`)。

1. 針對**子網路**，選擇您希望 DataSync 建立[網路介面](required-network-interfaces.md)以管理資料傳輸流量的子網路。

   子網路必須位於：
   + 在與檔案系統相同的 VPC 中。
   + 在與至少一個檔案系統掛載目標相同的可用區域中。
**注意**  
您不需要指定包含檔案系統掛載目標的子網路。

1. 針對**安全群組**，選擇與 Amazon EFS 檔案系統掛載目標相關聯的安全群組。您可以選擇多個安全群組。
**注意**  
您指定的安全群組必須允許 NFS 連接埠 2049 上的傳入流量。如需詳細資訊，請參閱[判斷掛載目標的子網路和安全群組](#create-efs-location-mount-target)。

1. 對於**傳輸中加密**，選擇您是否希望 DataSync 在將資料傳輸至檔案系統或從檔案系統傳輸資料時使用 Transport Layer Security (TLS) 加密。
**注意**  
您必須啟用此設定，以使用 Amazon EFS 位置設定存取點、IAM 角色或兩者。

1. （選用） 針對 **EFS 存取點**，選擇 DataSync 可用來掛載檔案系統的存取點。

   如需詳細資訊，請參閱[存取受限檔案系統](#create-efs-location-iam)。

1. （選用） 對於 **IAM 角色**，指定允許 DataSync 存取檔案系統的角色。

   如需有關建立此角色的詳細資訊，請參閱 [建立用於檔案系統存取的 DataSync IAM 角色](#create-efs-location-iam-role)。

1. （選用） 選取**新增標籤**以標記您的檔案系統。

   *標籤*是協助您管理、篩選及搜尋位置的索引鍵/值組。

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

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

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

   ```
   aws datasync create-location-efs \
       --efs-filesystem-arn 'arn:aws:elasticfilesystem:region:account-id:file-system/file-system-id' \
       --subdirectory /path/to/your/subdirectory \
       --ec2-config SecurityGroupArns='arn:aws:ec2:region:account-id:security-group/security-group-id',SubnetArn='arn:aws:ec2:region:account-id:subnet/subnet-id' \
       --in-transit-encryption TLS1_2 \
       --access-point-arn 'arn:aws:elasticfilesystem:region:account-id:access-point/access-point-id' \
       --file-system-access-role-arn 'arn:aws:iam::account-id:role/datasync-efs-access-role
   ```

1. 針對 `--efs-filesystem-arn`，指定您要從中轉移之 Amazon EFS 檔案系統的 Amazon Resource Name (ARN)。

1. 針對 `--subdirectory`，指定檔案系統的掛載路徑。

   這是 DataSync 在檔案系統上讀取或寫入資料 （取決於這是來源或目的地位置） 的位置。

   根據預設，DataSync 會使用根目錄 （如果您提供 ，則為[存取點](https://docs.aws.amazon.com/efs/latest/ug/efs-access-points.html)`--access-point-arn`)。您也可以使用斜線指定子目錄 （例如，`/path/to/directory`)。

1. 針對 `--ec2-config`，請執行下列作業：
   + 針對 `SecurityGroupArns`，指定與檔案系統掛載目標相關聯之安全群組的 ARN。您可以指定多個安全群組。
**注意**  
您指定的安全群組必須允許 NFS 連接埠 2049 上的傳入流量。如需詳細資訊，請參閱[判斷掛載目標的子網路和安全群組](#create-efs-location-mount-target)。
   + 針對 `SubnetArn`，指定您希望 DataSync 建立[網路介面](required-network-interfaces.md)以管理資料傳輸流量的子網路 ARN。

     子網路必須位於：
     + 在與檔案系統相同的 VPC 中。
     + 在與至少一個檔案系統掛載目標相同的可用區域中。
**注意**  
您不需要指定包含檔案系統掛載目標的子網路。

1. 對於 `--in-transit-encryption`，指定您是否希望 DataSync 在將資料傳輸至檔案系統或從檔案系統傳輸資料時使用 Transport Layer Security (TLS) 加密。
**注意**  
您必須將此設定為 ，`TLS1_2`以使用 Amazon EFS 位置設定存取點、IAM 角色或兩者。

1. （選用） 針對 `--access-point-arn`，指定 DataSync 可用來掛載檔案系統的存取點 ARN。

   如需詳細資訊，請參閱[存取受限檔案系統](#create-efs-location-iam)。

1. （選用） 針對 `--file-system-access-role-arn`，指定允許 DataSync 存取檔案系統的 IAM 角色 ARN。

   如需有關建立此角色的詳細資訊，請參閱 [建立用於檔案系統存取的 DataSync IAM 角色](#create-efs-location-iam-role)。

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

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

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

# 使用 FSx for Windows File Server 設定傳輸
<a name="create-fsx-location"></a>

若要在 Amazon FSx for Windows File Server 檔案系統之間傳輸資料，您必須建立 AWS DataSync 傳輸*位置*。DataSync 可以使用此位置做為傳輸資料的來源或目的地。

## 提供 FSx for Windows File Server 檔案系統的 DataSync 存取權
<a name="create-fsx-location-access"></a>

DataSync 會使用伺服器訊息區塊 (SMB) 通訊協定連線至 FSx for Windows File Server 檔案系統，並使用[網路介面](required-network-interfaces.md)從虛擬私有雲端 (VPC) 掛載。

**注意**  
搭配 DataSync VPCs 必須具有預設租用。不支援具有專用租用VPCs。

**Topics**
+ [所需的許可](#create-fsx-windows-location-permissions)
+ [必要的身分驗證通訊協定](#configuring-fsx-windows-authentication-protocols)
+ [DFS 命名空間](#configuring-fsx-windows-location-dfs)

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

您必須為 DataSync 使用者提供必要的權限，以掛載和存取 FSx for Windows File Server 檔案、資料夾和檔案中繼資料。

我們建議此使用者屬於 Microsoft Active Directory 群組，以管理您的檔案系統。此群組的詳細資訊取決於您的 Active Directory 設定：
+ 如果您使用 AWS Directory Service for Microsoft Active Directory 搭配 FSx for Windows File Server，則使用者必須是**AWS 委派 FSx 管理員**群組的成員。
+ 如果您使用自我管理 Active Directory 搭配 FSx for Windows File Server，則使用者必須是兩個群組之一的成員：
  + **網域管理員**群組，這是預設委派管理員群組。
  + 具有使用者許可的自訂委派管理員群組，允許 DataSync 複製物件擁有權許可和 Windows 存取控制清單 ACLs)。
**重要**  
在部署檔案系統之後，您無法變更委派管理員群組。您必須重新部署檔案系統，或從備份還原檔案系統，才能使用具有 DataSync 複製中繼資料所需下列使用者權限的自訂委派管理員群組。    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/datasync/latest/userguide/create-fsx-location.html)
+ 如果您想要複製 Windows ACLs，並在 SMB 檔案伺服器與 FSx for Windows File Server 檔案系統之間或在 FSx for Windows File Server 檔案系統之間傳輸，則您提供 DataSync 的使用者必須屬於相同的 Active Directory 網域，或在其網域之間具有 Active Directory 信任關係。

**警告**  
您的 FSx for Windows File Server 檔案系統的 SYSTEM 使用者必須擁有檔案系統中所有資料夾**的完整控制**許可。請勿在您的資料夾上變更此使用者的 NTFS ACL 許可。如果您這麼做，DataSync 可以變更檔案系統的許可，讓您的檔案共用無法存取，並防止檔案系統備份可供使用。如需檔案層級和資料夾層級存取的詳細資訊，請參閱*[ Amazon FSx for Windows File Server 使用者指南](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/limit-access-file-folder.html)*。

### 必要的身分驗證通訊協定
<a name="configuring-fsx-windows-authentication-protocols"></a>

您的 FSx for Windows File Server 必須使用 DataSync 的 NTLM 身分驗證來存取它。DataSync 無法存取使用 Kerberos 身分驗證的檔案伺服器。

### DFS 命名空間
<a name="configuring-fsx-windows-location-dfs"></a>

DataSync 不支援 Microsoft 分散式檔案系統 (DFS) 命名空間。我們建議您在建立 DataSync 位置時，改為指定基礎檔案伺服器或共用。

如需詳細資訊，請參閱《*Amazon FSx for Windows* [File Server 使用者指南》中的使用 DFS 命名空間分組多個檔案系統](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/group-file-systems.html)。

## 建立 FSx for Windows File Server 傳輸位置
<a name="create-fsx-location-how-to"></a>

開始之前，請確定您的 中已有 FSx for Windows File Server AWS 區域。如需詳細資訊，請參閱[《Amazon FSx for Windows File Server 使用者指南](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/getting-started.html)*》中的 Amazon FSx *入門。

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

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

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

1. 針對**位置類型**，選擇 **Amazon FSx**。

1. 對於 **FSx 檔案系統**，選擇您要用作位置的 FSx for Windows File Server 檔案系統。

1. 針對**共用名稱**，使用斜線輸入 FSx for Windows File Server 的掛載路徑。

   這會指定 DataSync 讀取或寫入資料的路徑 （取決於這是來源或目的地位置）。

   您也可以包含子目錄 （例如 `/path/to/directory`)。

1. 針對**安全群組**，選擇最多五個 Amazon EC2 安全群組，可讓您存取檔案系統偏好的子網路。

   您選擇的安全群組必須能夠與檔案系統的安全群組通訊。如需有關為檔案系統存取設定安全群組的資訊，請參閱 [https://docs.aws.amazon.com/fsx/latest/WindowsGuide/limit-access-security-groups.html](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/limit-access-security-groups.html)。
**注意**  
如果您選擇不允許其本身連線的安全群組，請執行下列其中一項操作：  
設定安全群組以允許其自行通訊。
選擇可與掛載目標安全群組通訊的不同安全群組。

1. 針對**使用者**，輸入可存取 FSx for Windows File Server 的使用者名稱。

   如需詳細資訊，請參閱[所需的許可](#create-fsx-windows-location-permissions)。

1. 針對**密碼**，輸入使用者名稱的密碼。

1. （選用） 對於**網域**，輸入 FSx for Windows File Server 檔案系統所屬的 Windows 網域名稱。

   如果您的環境中有多個 Active Directory 網域，請設定此設定可確保 DataSync 連線至正確的檔案系統。

1. （選用） 輸入**金鑰**和**值**欄位的值，以標記 FSx for Windows File Server。

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

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

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

**使用 建立 FSx for Windows File Server 位置 AWS CLI**
+ 使用下列命令來建立 Amazon FSx 位置。

  ```
  aws datasync create-location-fsx-windows \
      --fsx-filesystem-arn arn:aws:fsx:region:account-id:file-system/filesystem-id \
      --security-group-arns arn:aws:ec2:region:account-id:security-group/group-id \
      --user smb-user --password password
  ```

  在 `create-location-fsx-windows`命令中，執行下列動作：
  + `fsx-filesystem-arn` – 指定您要從中傳輸的檔案系統的 Amazon Resource Name (ARN)。
  + `security-group-arns` – 指定最多五個 Amazon EC2 安全群組的 ARNs，這些安全群組可讓您存取檔案系統偏好的子網路。

    您指定的安全群組必須能夠與檔案系統的安全群組通訊。如需為檔案系統存取設定安全群組的相關資訊，請參閱 [https://docs.aws.amazon.com/fsx/latest/WindowsGuide/limit-access-security-groups.html](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/limit-access-security-groups.html)。
**注意**  
如果您選擇不允許其本身連線的安全群組，請執行下列其中一項操作：  
設定安全群組以允許其自行通訊。
選擇可與掛載目標安全群組通訊的不同安全群組。
  +  AWS 區域 – 您指定的區域是您的目標 Amazon FSx 檔案系統所在的區域。

上述命令會傳回類似如下的位置 ARN。

```
{ 
    "LocationArn": "arn:aws:datasync:us-west-2:111222333444:location/loc-07db7abfc326c50fb" 
}
```

# 使用 FSx for Lustre 設定 DataSync 傳輸
<a name="create-lustre-location"></a>

若要在 Amazon FSx for Lustre 檔案系統之間傳輸資料，您必須建立 AWS DataSync 傳輸*位置*。DataSync 可以使用此位置做為傳輸資料的來源或目的地。

## 提供 FSx for Lustre 檔案系統的 DataSync 存取權
<a name="create-lustre-location-access"></a>

DataSync 會使用 Lustre 用戶端存取 FSx for Lustre 檔案系統。DataSync 需要存取 FSx for Lustre 檔案系統上的所有資料。若要擁有此層級的存取，DataSync 會使用 的使用者 ID (UID) 和群組 ID (GID)，將您的檔案系統掛載為根使用者`0`。

DataSync 使用[網路介面](required-network-interfaces.md)從您的虛擬私有雲端 (VPC) 掛載檔案系統。DataSync 會代表您完整管理這些網路介面的建立、使用和刪除。

**注意**  
搭配 DataSync VPCs 必須具有預設租用。不支援具有專用租用VPCs。

## 建立 FSx for Lustre 傳輸位置
<a name="create-lustre-location-how-to"></a>

若要建立傳輸位置，您需要現有的 FSx for Lustre 檔案系統。如需詳細資訊，請參閱[《Amazon FSx for Lustre 使用者指南](https://docs.aws.amazon.com/fsx/latest/LustreGuide/getting-started.html)*》中的 Amazon FSx for Lustre* 入門。

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

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

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

1. 針對**位置類型**，選擇 **Amazon FSx**。

   您稍後會將此位置設定為來源或目的地。

1. 對於 **FSx 檔案系統**，選擇您要用作位置的 FSx for Lustre 檔案系統。

1. 針對**掛載路徑**，輸入 FSx for Lustre 檔案系統的掛載路徑。

   此路徑可包含子目錄。當位置用作來源時，DataSync 會從掛載路徑讀取資料。當位置用作目的地時，DataSync 會將所有資料寫入掛載路徑。如果未提供子目錄，DataSync 會使用根目錄 (`/`)。

1. 針對**安全群組**，選擇最多五個提供 FSx for Lustre 檔案系統存取權的安全群組。

   安全群組必須能夠存取檔案系統的連接埠。檔案系統也必須允許來自安全群組的存取。

   如需安全群組的詳細資訊，請參閱《[Amazon FSx for Lustre 使用者指南》中的使用 Amazon VPC 的檔案系統存取控制](https://docs.aws.amazon.com/fsx/latest/LustreGuide/limit-access-security-groups.html)。 * FSx *

1. （選用） 輸入**金鑰**和**值**欄位的值，以標記 FSx for Lustre 檔案系統。

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

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

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

**使用 建立 FSx for Lustre 位置 AWS CLI**
+ 使用下列命令來建立 FSx for Lustre 位置。

  ```
  aws datasync create-location-fsx-lustre \
      --fsx-filesystem-arn arn:aws:fsx:region:account-id:file-system:filesystem-id \
      --security-group-arns arn:aws:ec2:region:account-id:security-group/group-id
  ```

  `create-location-fsx-lustre` 命令中需要下列參數。
  + `fsx-filesystem-arn` – 您要讀取或寫入的檔案系統的完整 Amazon Resource Name (ARN)。
  + `security-group-arns` – 要套用至檔案系統偏好子網路之[網路介面](required-network-interfaces.md)的 Amazon EC2 安全群組 ARN。

上述命令會傳回類似下列位置的 ARN。

```
{
    "LocationArn": "arn:aws:datasync:us-west-2:111222333444:location/loc-07sb7abfc326c50fb"
}
```

# 使用 Amazon FSx for OpenZFS 設定 DataSync 傳輸
<a name="create-openzfs-location"></a>

若要在 Amazon FSx for OpenZFS 檔案系統之間傳輸資料，您必須建立 AWS DataSync 傳輸*位置*。DataSync 可以使用此位置做為傳輸資料的來源或目的地。

## 提供 FSx for OpenZFS 檔案系統的 DataSync 存取權
<a name="create-openzfs-access"></a>

DataSync 使用[網路介面](required-network-interfaces.md)從您的虛擬私有雲端 (VPC) 掛載 FSx for OpenZFS 檔案系統。DataSync 會代表您完整管理這些網路介面的建立、使用和刪除。

**注意**  
搭配 DataSync VPCs 必須具有預設租用。不支援具有專用租用VPCs。

## 設定 FSx for OpenZFS 檔案系統授權
<a name="configure-openzfs-authorization"></a>

DataSync 會以 NFS 用戶端身分存取 FSx for OpenZFS 檔案系統，將檔案系統掛載為使用者 ID (UID) 和群組 ID (GID) 為 的根使用者`0`。

若要讓 DataSync 複製所有檔案中繼資料，您必須使用 在檔案系統磁碟區上設定 NFS 匯出設定`no_root_squash`。不過，您可以將此存取層級限制為僅限特定 DataSync 任務。

如需詳細資訊，請參閱《Amazon FSx for OpenZFS 使用者指南》中的[磁碟區屬性](https://docs.aws.amazon.com/fsx/latest/OpenZFSGuide/managing-volumes.html#volume-properties)。

### 設定 DataSync 特定的 NFS 匯出 （建議）
<a name="configure-nfs-export-recommended"></a>

您可以為僅由 DataSync 任務存取的每個磁碟區設定特定的 NFS 匯出。針對您在建立 FSx for OpenZFS 位置時指定的掛載路徑的最新上階磁碟區執行此操作。

**設定 DataSync 特有的 NFS 匯出**

1. 建立 [DataSync 任務](create-task-how-to.md)。

   這會建立您在 NFS 匯出設定中指定的任務網路介面。

1. 使用 Amazon EC2 主控台或 找出任務網路介面的私有 IP 地址 AWS CLI。

1. 針對 FSx for OpenZFS 檔案系統磁碟區，請為每個任務的網路介面設定下列 NFS 匯出設定：
   + **用戶端地址**：輸入網路界面的私有 IP 地址 （例如 `10.24.34.0`)。
   + **NFS 選項**：輸入 `rw,no_root_squash`。

### 為所有用戶端設定 NFS 匯出
<a name="configure-nfs-export-general"></a>

您可以指定允許根存取所有用戶端的 NFS 匯出。

**為所有用戶端設定 NFS 匯出**
+ 對於 FSx for OpenZFS 檔案系統磁碟區，請設定下列 NFS 匯出設定：
  + **用戶端地址**：輸入 `*`。
  + **NFS 選項**：輸入 `rw,no_root_squash`。

## 建立 FSx for OpenZFS 傳輸位置
<a name="create-openzfs-location-how-to"></a>

若要建立位置，您需要現有的 FSx for OpenZFS 檔案系統。如果您沒有，請參閱[《Amazon FSx for OpenZFS 使用者指南](https://docs.aws.amazon.com/fsx/latest/OpenZFSGuide/getting-started.html)*》中的 Amazon FSx for OpenZFS *入門。

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

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

1. 在左側導覽窗格中，選擇**位置**，然後選擇**建立位置**。

1. 針對**位置類型**，選擇 **Amazon FSx**。

   您稍後會將此位置設定為來源或目的地。

1. 對於 **FSx 檔案系統**，選擇您要用作位置的 FSx for OpenZFS 檔案系統。

1. 針對**掛載路徑**，輸入 FSx for OpenZFS 檔案系統的掛載路徑。

   路徑必須以 開頭`/fsx`，並且可以是檔案系統中任何現有的目錄路徑。當位置用作來源時，DataSync 會從掛載路徑讀取資料。當位置用作目的地時，DataSync 會將所有資料寫入掛載路徑。如果未提供子目錄，DataSync 會使用根磁碟區目錄 （例如 `/fsx`)。

1. 針對**安全群組**，選擇最多五個提供 FSx for OpenZFS 檔案系統網路存取權的安全群組。

   安全群組必須提供 FSx for OpenZFS 檔案系統所使用的網路連接埠存取權。檔案系統必須允許來自安全群組的網路存取。

   如需安全群組的詳細資訊，請參閱《[Amazon FSx for OpenZFS 使用者指南》中的使用 Amazon VPC 的檔案系統存取控制](https://docs.aws.amazon.com/fsx/latest/OpenZFSGuide/limit-access-security-groups.html)。 * FSx OpenZFS *

1. （選用） 展開**其他設定**，針對 **NFS 版本**選擇 DataSync 用來存取檔案系統的 NFS 版本。

   根據預設，DataSync 會使用 NFS 4.1 版。

1. （選用） 輸入**金鑰**和**值**欄位的值，以標記 FSx for OpenZFS 檔案系統。

   標籤可協助您管理、篩選和搜尋您的位置。建議您為位置建立至少一個名稱標籤。

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

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

**使用 建立 FSx for OpenZFS 位置 AWS CLI**

1. 複製下列`create-location-fsx-open-zfs`命令：

   ```
   aws datasync create-location-fsx-open-zfs \
      --fsx-filesystem-arn arn:aws:fsx:region:account-id:file-system/filesystem-id \
      --security-group-arns arn:aws:ec2:region:account-id:security-group/group-id \
      --protocol NFS={}
   ```

1. 在 命令中指定下列必要選項：
   + 針對 `fsx-filesystem-arn`，指定位置檔案系統的完整 Amazon Resource Name (ARN)。這包括 AWS 區域 檔案系統所在的 AWS 帳戶、 和 檔案系統 ID。
   + 針對 `security-group-arns`，指定 Amazon EC2 安全群組的 ARN，該安全群組可讓您存取 FSx for OpenZFS 檔案系統偏好子網路[的網路介面](required-network-interfaces.md)。這包括 AWS 區域 Amazon EC2 執行個體所在的 AWS 帳戶、 和安全群組 ID。

     如需安全群組的詳細資訊，請參閱《[Amazon FSx for OpenZFS 使用者指南》中的使用 Amazon VPC 的檔案系統存取控制](https://docs.aws.amazon.com/fsx/latest/OpenZFSGuide/limit-access-security-groups.html)。 * FSx OpenZFS *
   + 針對 `protocol`，指定 DataSync 用來存取檔案系統的通訊協定。(DataSync 目前僅支援 NFS。)

1. 執行 命令。您會收到回應，顯示您剛建立的位置。

   ```
   { 
       "LocationArn": "arn:aws:datasync:us-west-2:123456789012:location/loc-abcdef01234567890" 
   }
   ```

# 使用 Amazon FSx for NetApp ONTAP 設定傳輸
<a name="create-ontap-location"></a>

若要在 Amazon FSx for NetApp ONTAP 檔案系統之間傳輸資料，您必須建立 AWS DataSync 傳輸*位置*。DataSync 可以使用此位置做為傳輸資料的來源或目的地。

## 提供 FSx for ONTAP 檔案系統的 DataSync 存取權
<a name="create-ontap-location-access"></a>

若要存取 FSx for ONTAP 檔案系統，DataSync 會使用虛擬私有雲端 (VPC) 中的[網路介面](required-network-interfaces.md)，在您的檔案系統上掛載儲存虛擬機器 (SVM)。只有在您建立包含 FSx for ONTAP 位置的任務時，DataSync 才會在檔案系統偏好的子網路中建立這些網路介面。

**注意**  
搭配 DataSync VPCs 必須具有預設租用。不支援具有專用租用VPCs。

DataSync 可以連線至 FSx for ONTAP 檔案系統的 SVM，並使用網路檔案系統 (NFS) 或伺服器訊息區塊 (SMB) 通訊協定複製資料。

**Topics**
+ [使用 NFS 通訊協定](#create-ontap-location-supported-protocols)
+ [使用 SMB 通訊協定](#create-ontap-location-smb)
+ [不支援的通訊協定](#create-ontap-location-unsupported-protocols)
+ [選擇正確的通訊協定](#create-ontap-location-choosing-protocol)
+ [存取 SnapLock 磁碟區](#create-ontap-location-snaplock)

### 使用 NFS 通訊協定
<a name="create-ontap-location-supported-protocols"></a>

使用 NFS 通訊協定時，DataSync 會使用使用者 ID (UID) 和群組 ID (GID) `AUTH_SYS`的安全機制`0`來驗證您的 SVM。

**注意**  
DataSync 目前僅支援 NFS 第 3 版搭配 FSx for ONTAP 位置。

### 使用 SMB 通訊協定
<a name="create-ontap-location-smb"></a>

透過 SMB 通訊協定，DataSync 會使用您提供的登入資料來驗證您的 SVM。

**支援的 SMB 版本**  
根據預設，DataSync 會根據與 SMB 檔案伺服器的交涉，自動選擇 SMB 通訊協定的版本。您也可以將 DataSync 設定為使用特定版本，但我們建議只在 DataSync 無法自動與 SMB 檔案伺服器交涉時執行此操作。基於安全考量，我們建議您使用 SMB 3.0.2 版或更新版本。  
如需使用 FSx for ONTAP 位置設定 SMB 版本的 DataSync 主控台和 API 選項清單，請參閱下表：      
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/datasync/latest/userguide/create-ontap-location.html)

**所需的許可**  
您必須為 SVM 中的本機使用者或 Microsoft Active Directory 中的網域使用者提供 DataSync，具有掛載和存取檔案、資料夾和檔案中繼資料的必要權限。  
如果您在 Active Directory 中提供使用者，請注意下列事項：  
+ 如果您使用的是 AWS Directory Service for Microsoft Active Directory，使用者必須是**AWS 委派 FSx 管理員**群組的成員。
+ 如果您使用的是自我管理 Active Directory，使用者必須是兩個群組之一的成員：
  + **網域管理員**群組，這是預設委派管理員群組。
  + 具有使用者許可的自訂委派管理員群組，允許 DataSync 複製物件擁有權許可和 Windows 存取控制清單 ACLs)。
**重要**  
在部署檔案系統之後，您無法變更委派管理員群組。您必須重新部署檔案系統或從備份還原，才能使用自訂委派管理員群組，其中包含 DataSync 複製中繼資料所需的下列使用者權限。    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/datasync/latest/userguide/create-ontap-location.html)
+ 如果您想要複製 Windows ACLs，並使用 SMB （或使用 SMB 的其他類型的檔案系統） 在 FSx for ONTAP 檔案系統之間傳輸，則您提供 DataSync 的使用者必須屬於相同的 Active Directory 網域，或在其網域之間具有 Active Directory 信任關係。

**必要的身分驗證通訊協定**  
若要讓 DataSync 存取 SMB 共享，您的 FSx for ONTAP 檔案系統必須使用 NTLM 身分驗證。DataSync 無法存取使用 Kerberos 身分驗證的 FSx for ONTAP 檔案系統。

**DFS 命名空間**  
DataSync 不支援 Microsoft 分散式檔案系統 (DFS) 命名空間。我們建議您在建立 DataSync 位置時，改為指定基礎檔案伺服器或共用。

### 不支援的通訊協定
<a name="create-ontap-location-unsupported-protocols"></a>

DataSync 無法使用 iSCSI （網際網路小型電腦系統界面） 通訊協定存取 FSx for ONTAP 檔案系統。

### 選擇正確的通訊協定
<a name="create-ontap-location-choosing-protocol"></a>

若要在 FSx 中保留檔案中繼資料以進行 ONTAP 遷移，請將 DataSync 來源和目的地位置設定為使用相同的通訊協定。在支援的通訊協定之間，SMB 會保留具有最高保真度的中繼資料 （如需詳細資訊[了解 DataSync 如何處理檔案和物件中繼資料](metadata-copied.md)，請參閱 )。

從透過 NFS 為使用者提供服務的 Unix (Linux) 伺服器或網路連接儲存 (NAS) 共用遷移時，請執行下列動作：

1. 為 Unix (Linux) 伺服器或 NAS 共用區[建立 NFS 位置](create-nfs-location.md)。（這將是您的來源位置。)

1. 使用 [Unix 安全樣式](https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/managing-volumes.html#volume-security-style)設定您要傳輸資料的 FSx for ONTAP 磁碟區。

1. 為針對 NFS 設定的 FSx for ONTAP 檔案系統建立位置。（這將是您的目的地位置。)

從透過 SMB 為使用者提供服務的 Windows 伺服器或 NAS 共用區遷移時，請執行下列動作：

1. 為 Windows 伺服器或 NAS 共用[區建立 SMB 位置](create-smb-location.md)。（這將是您的來源位置。)

1. 使用 [NTFS 安全樣式](https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/managing-volumes.html#volume-security-style)，設定您要傳輸資料的 FSx for ONTAP 磁碟區。

1. 為針對 SMB 設定的 FSx for ONTAP 檔案系統建立位置。（這將是您的目的地位置。)

如果您的 FSx for ONTAP 環境使用多個通訊協定，我們建議您與 AWS 儲存專家合作。若要了解多協定存取的最佳實務，請參閱[使用 Amazon FSx for NetApp ONTAP 啟用多協定工作負載](https://aws.amazon.com/blogs/storage/enabling-multiprotocol-workloads-with-amazon-fsx-for-netapp-ontap/)。

### 存取 SnapLock 磁碟區
<a name="create-ontap-location-snaplock"></a>

如果您要將資料傳輸到 FSx for ONTAP 檔案系統的 [SnapLock 磁碟](https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/snaplock.html)區，請確定在傳輸期間磁碟區上已停用 SnapLock 設定**自動遞交**和**磁碟區附加模式**。您可以在完成資料傳輸時重新啟用這些設定。

## 建立 FSx for ONTAP 傳輸位置
<a name="create-ontap-location-how-to"></a>

若要建立位置，您需要現有的 FSx for ONTAP 檔案系統。如果您沒有，請參閱《[Amazon FSx for NetApp ONTAP 使用者指南](https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/getting-started.html)*》中的 Amazon FSx for NetApp ONTAP* 入門。

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

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

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

1. 針對**位置類型**，選擇 **Amazon FSx**。

   您稍後會將此位置設定為來源或目的地。

1. 對於 **FSx 檔案系統**，選擇您要用作位置的 FSx for ONTAP 檔案系統。

1. 針對**儲存虛擬機器**，選擇檔案系統中您要將資料複製到其中或從中複製資料的儲存虛擬機器 (SVM)。

1. 對於**掛載路徑**，請在您要複製資料的 SVM 中指定檔案共享的路徑。

   您可以指定接合路徑 (也稱為掛載點)、qtree 路徑 (用於 NFS 檔案共用) 或共用名稱 (用於 SMB 檔案共用)。例如，您的掛載路徑可能是 `/vol1`、`/vol1/tree1` 或 `/share1`。
**提示**  
請勿在 SVM 的根磁碟區中指定路徑。如需詳細資訊，請參閱《Amazon FSx for NetApp ONTAP 使用者指南》中的[管理 FSx for ONTAP 儲存虛擬機器](https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/managing-svms.html)。

1. 針對**安全群組**，選擇最多五個 Amazon EC2 安全群組，可讓您存取檔案系統偏好的子網路。

   安全群組必須允許下列連接埠上的傳出流量 （取決於您使用的通訊協定）：
   + **NFS** – TCP 連接埠 111、635 和 2049 
   + **SMB** – TCP 連接埠 445

   檔案系統的安全群組也必須允許相同連接埠上的傳入流量。

1. 針對**通訊協定**，選擇 DataSync 用來存取檔案系統 SVM 的資料傳輸通訊協定。

   如需詳細資訊，請參閱[選擇正確的通訊協定](#create-ontap-location-choosing-protocol)。

------
#### [ NFS ]

   DataSync 使用 NFS 第 3 版。

------
#### [ SMB ]

   設定 SMB 版本、使用者、密碼和 Active Directory 網域名稱 （如有需要） 以存取 SVM。
   + （選用） 展開**其他設定**，並為 DataSync 選擇存取 SVM 時使用的 **SMB 版本**。

     根據預設，DataSync 會根據與 SMB 檔案伺服器的交涉自動選擇版本。如需詳細資訊，請參閱[使用 SMB 通訊協定](#create-ontap-location-smb)。
   + 對於**使用者**，輸入可掛載和存取要在 SVM 中傳輸之檔案、資料夾和中繼資料的使用者名稱。

     如需詳細資訊，請參閱[使用 SMB 通訊協定](#create-ontap-location-smb)。
   + 針對**密碼**，輸入您指定可存取 SVM 之使用者的密碼。
   + （選用） 針對 **Active Directory 網域名稱**，輸入 SVM 所屬 Active Directory 的完整網域名稱 (FQDN)。

     如果您的環境中有多個網域，設定此設定可確保 DataSync 連線至正確的 SVM。

------

1. （選用） 輸入**金鑰**和**值**欄位的值，以標記 FSx for ONTAP 檔案系統。

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

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

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

**使用 建立 FSx for ONTAP 位置 AWS CLI**

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

   ```
   aws datasync create-location-fsx-ontap \
      --storage-virtual-machine-arn arn:aws:fsx:region:account-id:storage-virtual-machine/fs-file-system-id \
      --security-group-arns arn:aws:ec2:region:account-id:security-group/group-id \
      --protocol data-transfer-protocol={}
   ```

1. 在 命令中指定下列必要選項：
   + 對於 `storage-virtual-machine-arn`，請在您要將資料複製至其中或從中複製資料的檔案系統中，指定儲存虛擬機器 (SVM) 的完整 Amazon Resource Name (ARN)。

     此 ARN 包含 AWS 區域 檔案系統所在的 AWS 帳戶、 和 檔案系統和 SVM IDs。
   + 針對 `security-group-arns`，指定 Amazon EC2 安全群組ARNs，該安全群組可讓您存取檔案系統偏好子網路[的網路介面](required-network-interfaces.md)。

     這包括 AWS 區域 Amazon EC2 執行個體所在的 AWS 帳戶、 和安全群組 IDs。您最多可以指定五個安全群組 ARNs。

     如需安全群組的詳細資訊，請參閱《[Amazon FSx for NetApp ONTAP 使用者指南》中的使用 Amazon VPC 的檔案系統存取控制](https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/limit-access-security-groups.html)。 * FSx NetApp *
   + 針對 `protocol`，設定 DataSync 用來存取檔案系統 SVM 的通訊協定。
     + 對於 NFS，您可以使用預設組態：

       `--protocol NFS={}`
     + 對於 SMB，您必須指定可存取 SVM 的使用者名稱和密碼：

       `--protocol SMB={User=smb-user,Password=smb-password}`

1. 執行 命令。

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

   ```
   { 
       "LocationArn": "arn:aws:datasync:us-west-2:123456789012:location/loc-abcdef01234567890" 
   }
   ```

# 使用 往返其他雲端儲存體的傳輸 AWS DataSync
<a name="transferring-other-cloud-storage"></a>

使用 AWS DataSync，您可以在一些其他雲端提供者和 AWS 儲存服務之間傳輸資料。如需詳細資訊，請參閱[在哪裡可以使用 DataSync 傳輸資料？](working-with-locations.md)

**Topics**
+ [規劃往返第三方雲端儲存系統的傳輸](third-party-cloud-transfer-considerations.md)
+ [使用 Google Cloud Storage 設定 AWS DataSync 傳輸](tutorial_transfer-google-cloud-storage.md)
+ [使用 設定傳輸 Microsoft Azure Blob Storage](creating-azure-blob-location.md)
+ [使用 Microsoft Azure Files SMB 共用設定 AWS DataSync 傳輸](transferring-azure-files.md)
+ [使用其他雲端物件儲存體設定傳輸](creating-other-cloud-object-location.md)

# 規劃往返第三方雲端儲存系統的傳輸
<a name="third-party-cloud-transfer-considerations"></a>

規劃跨雲端資料傳輸時，請考慮下列事項：
+ **使用代理程式：**只有在使用基本模式任務時，代理程式才需要存取其他雲端中的儲存體。[增強型模式任務](https://docs.aws.amazon.com/datasync/latest/userguide/choosing-task-mode.html)不需要 代理程式。如果您決定使用 代理程式，您可以在從雲端提供者的 S3-compatible物件儲存體傳輸時將其部署為 [Amazon EC2 執行個體](https://docs.aws.amazon.com/datasync/latest/userguide/deploy-agents.html#ec2-deploy-agent)，或分別將其部署為從這些特定儲存服務傳輸的 Google Compute Engine 或 Azure 虛擬機器。從 Google 和 Azure 中的檔案系統傳輸時，我們建議將代理程式部署為 Google 或 Azure VM，以便代理程式盡可能接近檔案系統。此外，DataSync 會將來自代理程式的資料壓縮到 AWS，這有助於降低輸出成本。DataSync 提供[經過驗證的雲端位置](https://docs.aws.amazon.com/datasync/latest/userguide/creating-other-cloud-object-location.html)清單，可提供所需的 [Amazon S3 API 相容性](https://docs.aws.amazon.com/datasync/latest/userguide/creating-other-cloud-object-location.html#other-cloud-access)。
+ **另一個雲端的物件儲存端點：**第三方雲端供應商的儲存端點通常是區域或帳戶特定。區域端點會與指定的儲存貯體名稱搭配使用，做為 DataSync 物件儲存位置中的伺服器。
+ **來源物件的儲存類別：**與 Amazon S3 一樣，某些雲端供應商支援在能夠存取封存物件之前需要還原的封存層。例如，在資料傳輸之前，必須擷取 Azure Blob 封存層中的物件以進行標準存取。Google Cloud Storage 封存層中的物件可以立即存取，不需要還原，但有與直接封存層存取相關聯的擷取成本。在開始資料傳輸之前，請檢閱您的跨雲端儲存類別文件，以判斷存取需求和擷取費用。如需在 Amazon S3 中還原封存物件的詳細資訊，請參閱《*Amazon Simple Storage Service 使用者指南*》中的[還原封存物件](https://docs.aws.amazon.com/AmazonS3/latest/userguide/restoring-objects.html)。
+ **物件儲存體存取：**在第三方雲端提供者之間傳輸資料需要以身分驗證金鑰的形式存取其他雲端的物件儲存體。例如，若要提供對 Google Cloud Storage 的存取權，您可以設定 DataSync 物件儲存位置，以連線至 [Google Cloud Storage XML API](https://cloud.google.com/storage/docs/xml-api/overview)，並使用服務帳戶的[雜湊型訊息驗證碼 (HMAC) 金鑰](https://docs.aws.amazon.com/datasync/latest/userguide/tutorial_transfer-google-cloud-storage.html#transfer-google-cloud-storage-create-hmac-key)進行驗證。對於 Azure Blob 儲存，您可以設定使用 [SAS 字符](https://docs.aws.amazon.com/datasync/latest/userguide/creating-azure-blob-location.html#azure-blob-access)進行身分驗證的專用 [Azure Blob DataSync 位置](https://docs.aws.amazon.com/datasync/latest/userguide/creating-azure-blob-location.html#creating-azure-blob-location-how-to)。DataSync 使用 AWS Secrets Manager 安全地存放物件儲存憑證。如需詳細資訊，請參閱[保護儲存位置登入](https://docs.aws.amazon.com/datasync/latest/userguide/location-credentials.html)資料。
+ **物件標籤支援：**
  + 與 Amazon S3 不同，並非所有雲端提供者都支援[物件標籤](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-tagging.html)。如果雲端提供者不支援透過 Amazon S3 API 的物件標籤，或您提供的登入資料不足以擷取標籤，DataSync 任務可能會在嘗試從來源位置讀取標籤時失敗。如果不支援物件標籤，或者您不想保留標籤，DataSync 會提供任務選項，以在傳輸期間關閉讀取和複製物件標籤。 [https://docs.aws.amazon.com/datasync/latest/userguide/API_Options.html#DataSync-Type-Options-ObjectTags](https://docs.aws.amazon.com/datasync/latest/userguide/API_Options.html#DataSync-Type-Options-ObjectTags)檢閱您的雲端提供者文件，判斷是否支援物件標籤，並在啟動傳輸之前驗證傳輸任務的物件標籤設定。
  + 您可以使用 Amazon S3 API 來檢查雲端提供者是否會傳回`get-object-tagging`請求。如需詳細資訊，請參閱《 *AWS CLI 命令參考*》中的 [get-object-tagging](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/get-object-tagging.html)。

    支援物件標籤的雲端提供者將傳回類似下列範例的回應：

    ```
    aws s3api get-object-tagging --bucket BUCKET_NAME --endpoint- url=https://BUCKET_ENDPOINT --key prefix/file1
                                        
    {
    
        "TagSet": []
    
    }
    ```

    不支援 的雲端供應商`get-object-tagging`將傳回下列訊息：

    ```
    aws s3api get-object-tagging --bucket BUCKET_NAME --endpoint- url=https://BUCKET_ENDPOINT --key prefix/file1
    
    An error occurred (OperationNotSupported) when calling the GetObjectTagging operation: The operation is not supported for this resource
    ```
+ **請求和資料輸出的相關成本：**從雲端物件儲存體傳輸資料的[請求和輸出成本](https://docs.aws.amazon.com/datasync/latest/userguide/creating-other-cloud-object-location.html#other-cloud-considerations-costs)與讀取資料和資料傳輸相關聯。在適用的情況下，請求費用會因雲端提供者和儲存類別而異。請參閱雲端供應商文件，了解與您計劃讀取之儲存體方案相關的請求特定成本。如需 DataSync 為資料傳輸產生的請求費用概觀，請參閱[使用 DataSync 和定價時評估 S3 請求成本](https://docs.aws.amazon.com/datasync/latest/userguide/create-s3-location.html#create-s3-location-s3-requests)。 [AWS DataSync](https://aws.amazon.com/datasync/pricing/)從特定雲端提供者傳輸資料會產生輸出費用。資料傳輸成本因雲端提供者而異，而且也取決於存放資料的區域。
+ **物件儲存請求率：**雲端提供者的物件儲存平台具有各種效能和請求率特性。檢閱其他雲端供應商的請求率，並判斷套用請求限制的位置。事先規劃由多個代理程式組成的高度平行傳輸，其中可能需要特定的分割或效能提高。

  Amazon S3 已記錄您可以據以建置解決方案的請求率。Amazon S3 請求率是以每個分割字首為單位，並可跨多個字首進行擴展。如需詳細資訊，請參閱《[Amazon Simple Storage Service 使用者指南》中的最佳實務設計模式：最佳化 Amazon S3 效能](https://docs.aws.amazon.com/AmazonS3/latest/userguide/optimizing-performance.html)。 **

# 使用 Google Cloud Storage 設定 AWS DataSync 傳輸
<a name="tutorial_transfer-google-cloud-storage"></a>

使用 AWS DataSync，您可以在 Google Cloud Storage 與下列 AWS 儲存服務之間傳輸資料：
+ Amazon S3
+ Amazon EFS
+ Amazon FSx for Windows File Server
+ Amazon FSx for Lustre
+ Amazon FSx for OpenZFS
+ Amazon FSx for NetApp ONTAP

若要開始傳輸設定，請為您的 Google Cloud Storage 建立位置。此位置可以做為您的傳輸來源或目的地。只有在您在 Google Cloud Storage 與 Amazon EFS 或 Amazon FSx 之間傳輸資料，或使用**基本模式**任務時，才需要 DataSync 代理程式。Google Cloud Storage 和 Amazon S3 之間的**增強型模式**資料傳輸不需要代理程式。

**注意**  
對於 Google Cloud Storage 與 之間的私有雲端連線 AWS，請搭配 代理程式使用基本模式。

## 概觀
<a name="transfer-google-cloud-storage-overview"></a>

DataSync 使用 [Google Cloud Storage XML API](https://cloud.google.com/storage/docs/xml-api/overview) 進行資料傳輸。此 API 提供 Amazon S3 相容界面，用於使用 Google Cloud Storage 儲存貯體讀取和寫入資料。

當您使用基本模式進行傳輸時，您可以在 Google Cloud Storage 或 Amazon VPC 中部署代理程式。

------
#### [ Agent in Google Cloud ]

1. 您可以在 Google Cloud 環境中部署 DataSync 代理程式。

1. 代理程式會使用雜湊型訊息驗證碼 (HMAC) 金鑰讀取您的 Google Cloud Storage 儲存貯體。

1. 來自 Google Cloud Storage 儲存貯體的物件 AWS 雲端 會使用公有端點，透過 TLS 1.3 安全地傳輸到 。

1. DataSync 服務會將資料寫入 S3 儲存貯體。

下圖說明轉移。

![\[範例 DataSync 傳輸顯示物件資料如何從 Google Cloud Storage 儲存貯體傳輸到 S3 儲存貯體。首先，DataSync 代理程式會部署在您的 Google Cloud 環境中。然後，DataSync 代理程式會讀取 Google Cloud Storage 儲存貯體。資料會透過公有端點安全地移動到 AWS，DataSync 會將物件寫入您使用 DataSync AWS 區域 的相同 中的 S3 儲存貯體。\]](http://docs.aws.amazon.com/zh_tw/datasync/latest/userguide/images/diagram-transfer-google-cloud-storage-public.png)


------
#### [ Agent in your VPC ]

1. 您可以在 AWS 環境中的虛擬私有雲端 (VPC) 中部署 DataSync 代理程式。

1. 代理程式會使用雜湊型訊息驗證碼 (HMAC) 金鑰讀取您的 Google Cloud Storage 儲存貯體。

1. 來自 Google Cloud Storage 儲存貯體的物件會使用私有 VPC 端點 AWS 雲端 ，透過 TLS 1.3 安全地傳輸到 。

1. DataSync 服務會將資料寫入 S3 儲存貯體。

下圖說明轉移。

![\[範例 DataSync 傳輸顯示物件資料如何從 Google Cloud Storage 儲存貯體傳輸到 S3 儲存貯體。首先，DataSync 代理程式會部署在 VPC 中 AWS。然後，DataSync 代理程式會讀取 Google Cloud Storage 儲存貯體。資料會透過 VPC 端點安全地移動到 AWS，其中 DataSync 會將物件寫入 AWS 區域 與 VPC 相同的 S3 儲存貯體。\]](http://docs.aws.amazon.com/zh_tw/datasync/latest/userguide/images/diagram-transfer-google-cloud-storage.png)


------

## 成本
<a name="transfer-google-cloud-storage-cost"></a>

與此遷移相關聯的費用可能包括：
+ 執行 Google [Compute Engine](https://cloud.google.com/compute/all-pricing) 虛擬機器 (VM) 執行個體 （如果您在 Google Cloud 中部署 DataSync 代理程式）
+ 執行 [Amazon EC2](https://aws.amazon.com/ec2/pricing/) 執行個體 （如果您在 VPC 內部署 DataSync 代理程式 AWS)
+ 使用 [DataSync](https://aws.amazon.com/datasync/pricing/) 傳輸資料，包括與 [Google Cloud Storage](https://cloud.google.com/storage/pricing) 和 [Amazon S3](create-s3-location.md#create-s3-location-s3-requests) 相關的請求費用 （如果 S3 是您的其中一個傳輸位置）
+ 從 [Google Cloud Storage](https://cloud.google.com/storage/pricing) 傳輸資料
+ 在 [Amazon S3](https://aws.amazon.com/s3/pricing/) 中存放資料

## 先決條件
<a name="transfer-google-cloud-storage-prerequisites"></a>

開始之前，如果您尚未執行下列動作：
+ 使用您要傳輸的物件[建立 Google Cloud Storage 儲存貯](https://cloud.google.com/storage/docs/creating-buckets)體 AWS。
+ [註冊 AWS 帳戶](https://portal.aws.amazon.com/billing/signup)。
+ [建立 Amazon S3 儲存貯](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html)體，以在物件進入後存放物件 AWS。

## 為您的 Google Cloud Storage 儲存貯體建立 HMAC 金鑰
<a name="transfer-google-cloud-storage-create-hmac-key"></a>

DataSync 使用與您的 Google 服務帳戶相關聯的 HMAC 金鑰來驗證和讀取您要從中傳輸資料的儲存貯體。（如需如何建立 HMAC 金鑰的詳細說明，請參閱 [Google Cloud Storage 文件](https://cloud.google.com/storage/docs/authentication/hmackeys)。)

**建立 HMAC 金鑰**

1. 為您的 Google 服務帳戶建立 HMAC 金鑰。

1. 請確定您的 Google 服務帳戶至少具有 `Storage Object Viewer` 許可。

1. 將 HMAC 金鑰的存取 ID 和秘密儲存在安全的位置。

   稍後您將需要這些項目來設定 DataSync 來源位置。

## 步驟 2：設定您的網路
<a name="transfer-google-cloud-storage-configure-network"></a>

只有在將 DataSync 代理程式與傳輸搭配使用時，才需要網路組態。此遷移的網路需求取決於您選擇部署代理程式的位置。

### 對於 Google Cloud 中的 DataSync 代理程式
<a name="transfer-google-cloud-storage-configure-public"></a>

如果您想要在 Google Cloud 中託管 DataSync 代理程式，請將您的網路設定為[允許透過公有端點進行 DataSync 傳輸](datasync-network.md#using-public-endpoints)。

### 對於 VPC 中的 DataSync 代理程式
<a name="transfer-google-cloud-storage-configure-vpc"></a>

如果您想要在 中託管代理程式 AWS，則需要具有介面端點的 VPC。DataSync 使用 VPC 端點來協助傳輸。

**設定 VPC 端點的網路**

1. 如果您沒有 [VPC，請在與 S3 儲存貯體相同的 中建立 VPC](https://docs.aws.amazon.com/vpc/latest/userguide/working-with-vpcs.html#Create-VPC)。 AWS 區域 S3 

1. [為您的 VPC 建立私有子網路](https://docs.aws.amazon.com/vpc/latest/userguide/create-subnets.html)。

1. 為 DataSync [建立 VPC 服務端點](https://docs.aws.amazon.com/vpc/latest/privatelink/create-interface-endpoint.html)。

1. 設定您的網路以[允許 DataSync 透過 VPC 服務端點傳輸](datasync-network.md#using-vpc-endpoint)。

   若要這樣做，請修改與您的 VPC 服務端點相關聯的[安全群組](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-security-groups.html)。

## 步驟 3：建立 DataSync 代理程式 （選用）
<a name="transfer-google-cloud-storage-create-agent"></a>

只有在使用**基本**模式任務時，才需要 DataSync 代理程式。如果您使用**增強**模式在 Google Cloud Storage (GCS) 和 Amazon S3 之間傳輸，則不需要代理程式。如果您想要使用**基本**模式，則需要可存取 GCS 儲存貯體的 DataSync 代理程式。

### 對於 Google Cloud
<a name="transfer-google-cloud-storage-choose-endpoint"></a>

在此案例中，DataSync 代理程式會在您的 Google Cloud 環境中執行。

**開始之前**：[安裝 Google Cloud CLI](https://cloud.google.com/sdk/docs/install)。

**建立 Google Cloud 的代理程式**

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

1. 在左側導覽窗格中，選擇**客服人員**，然後選擇**建立客服人員**。

1. 針對 **Hypervisor**，選擇 **VMware ESXi**，然後選擇**下載映像**以下載包含代理程式`.zip`的檔案。

1. 開啟終端機。執行下列命令來解壓縮映像：

   ```
   unzip AWS-DataSync-Agent-VMWare.zip
   ```

1. 執行下列命令，`aws-datasync`從 開始解壓縮代理程式`.ova`檔案的內容：

   ```
   tar -xvf aws-datasync-2.0.1655755445.1-x86_64.xfs.gpt.ova
   ```

1. 執行下列 Google Cloud CLI 命令，將代理程式`.vmdk`的檔案匯入 Google Cloud：

   ```
   gcloud compute images import aws-datasync-2-test \
      --source-file INCOMPLETE-aws-datasync-2.0.1655755445.1-x86_64.xfs.gpt-disk1.vmdk \
      --os centos-7
   ```
**注意**  
匯入`.vmdk`檔案最多可能需要兩個小時。

1. 為您剛匯入的代理程式映像建立並啟動 VM 執行個體。

   執行個體需要代理程式的下列組態。（如需如何建立執行個體的詳細說明，請參閱 [Google Cloud Compute Engine 文件](https://cloud.google.com/compute/docs/instances)。)
   + 針對機器類型，選擇下列其中一項：
     + **e2-standard-8** – 適用於使用最多 2，000 萬個物件的 DataSync 任務執行。
     + **e2-standard-16** – 適用於使用超過 2，000 萬個物件的 DataSync 任務執行。
   + 如需開機磁碟設定，請前往自訂映像區段。然後選擇您剛匯入的 DataSync 代理程式映像。
   + 針對服務帳戶設定，選擇您的 Google 服務帳戶 （您在[步驟 1](#transfer-google-cloud-storage-create-hmac-key) 中使用的相同帳戶）。
   + 針對防火牆設定，選擇允許 HTTP （連接埠 80) 流量的選項。

     若要啟用 DataSync 代理程式，必須在代理程式上開啟連接埠 80。連接埠不需要可公開存取。啟用後，DataSync 會關閉連接埠。

1. 執行 VM 執行個體後，請記下其公有 IP 地址。

   您需要此 IP 地址才能啟用代理程式。

1. 返回 DataSync 主控台。在您下載客服人員映像的**建立**客服人員畫面上，執行下列動作以啟用您的客服人員：
   + 針對**端點類型**，選擇公有服務端點選項 （例如，**美國俄亥俄東部的公有服務端點**)。
   + 針對**啟用金鑰**，選擇**從您的代理程式自動取得啟用金鑰**。
   + 針對**客服人員地址**，輸入您剛建立之客服人員 VM 執行個體的公有 IP 地址。
   + 選擇**取得金鑰**。

1. 為您的客服人員命名，然後選擇**建立客服人員**。

您的代理程式已上線並準備好傳輸資料。

### 適用於您的 VPC
<a name="transfer-google-cloud-storage-deploy-agent"></a>

在此案例中，代理程式會在與您的 相關聯的 VPC 中以 Amazon EC2 執行個體執行 AWS 帳戶。

**開始之前**：[設定 AWS Command Line Interface (AWS CLI)](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html)。

**為您的 VPC 建立代理程式**

1. 開啟終端機。請務必將 AWS CLI 設定檔設定為使用與 S3 儲存貯體相關聯的帳戶。

1. 複製以下命令。`vpc-region` 將 取代 AWS 區域 為 VPC 所在的 （例如 `us-east-1`)。

   ```
   aws ssm get-parameter --name /aws/service/datasync/ami --region vpc-region
   ```

1. 執行 命令。在輸出中，記下 `"Value"` 屬性。

   此值是您指定的區域的 DataSync Amazon Machine Image (AMI) ID。例如，AMI ID 可能看起來像 `ami-1234567890abcdef0`。

1. 複製下列 URL。同樣地， AWS 區域 請將 取代`vpc-region`為 VPC 所在的 。然後，`ami-id`以您在上一個步驟中記下的 AMI ID 取代 。

   ```
   https://console.aws.amazon.com/ec2/v2/home?region=vpc-region#LaunchInstanceWizard:ami=ami-id
   ```

1. 將 URL 貼到瀏覽器。

    AWS 管理主控台 會顯示 中的 Amazon EC2 執行個體啟動頁面。

1. 針對**執行個體類型**，選擇 [ DataSync 代理程式建議的其中一個 Amazon EC2 執行個體](agent-requirements.md#ec2-instance-types)。

1. 針對**金鑰對**，選擇現有的金鑰對，或建立新的金鑰對。

1. 針對**網路設定**，選擇您要部署代理程式的 VPC 和子網路。

1. 選擇**啟動執行個體**。

1. 執行 Amazon EC2 執行個體後，[請選擇您的 VPC 端點](choose-service-endpoint.md#datasync-in-vpc)。

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

## 步驟 4：為您的 Google Cloud Storage 儲存貯體建立 DataSync 來源位置
<a name="transfer-google-cloud-storage-create-source"></a>

若要設定 Google Cloud Storage 儲存貯體的 DataSync 位置，您需要在[步驟 1 中建立的 HMAC 金鑰的存取 ID ](#transfer-google-cloud-storage-create-hmac-key)和秘密。

**建立 DataSync 來源位置**

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

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

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

1. 針對**伺服器**，輸入 **storage.googleapis.com**。

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

1. 針對**資料夾**，輸入物件字首。

   DataSync 只會複製具有此字首的物件。

1. 如果您的轉接需要客服人員，請選擇**使用客服人員**，然後選擇您在[步驟 3 ](#transfer-google-cloud-storage-create-agent)中建立的客服人員。

1. 展開 **Additional settings** (其他設定)。針對**伺服器通訊協定**，選擇 **HTTPS**。針對**伺服器連接埠**，選擇 **443**。

1. 向下捲動至**身分驗證**區段。確定已選取**需要登入**資料核取方塊，然後執行下列動作：
   + 針對**存取金鑰**，輸入 HMAC 金鑰的存取 ID。
   + 對於**私密金鑰**，請直接輸入 HMAC 金鑰的私密金鑰，或指定包含金鑰的 AWS Secrets Manager 私密。如需詳細資訊，請參閱[提供儲存位置的登入](https://docs.aws.amazon.com/datasync/latest/userguide/location-credentials.html)資料。

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

## 步驟 5：為您的 S3 儲存貯體建立 DataSync 目的地位置
<a name="transfer-google-cloud-storage-create-destination"></a>

您需要資料最終目的地的 DataSync 位置。

**建立 DataSync 目的地位置**

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

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

1. [建立 S3 儲存貯體的 DataSync 位置](create-s3-location.md)。

   如果您在 VPC 中部署 DataSync 代理程式，本教學假設 S3 儲存貯體與您的 VPC 和 DataSync 代理程式 AWS 區域 位於相同的 中。

## 步驟 6：建立和啟動 DataSync 任務
<a name="transfer-google-cloud-storage-start-task"></a>

設定來源和目的地位置後，您就可以開始將資料移至其中 AWS。

**建立和啟動 DataSync 任務**

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

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

1. 在**設定來源位置**頁面上，執行下列動作：

   1. 選擇**選擇現有位置**。

   1. 選擇您在[步驟 4 ](#transfer-google-cloud-storage-create-source)中建立的來源位置，然後選擇**下一步**。

1. 在**設定目的地位置**頁面上，執行下列動作：

   1. 選擇**選擇現有位置**。

   1. 選擇您在[步驟 5 ](#transfer-google-cloud-storage-create-destination)中建立的目的地位置，然後選擇**下一步**。

1. 在**設定設定**頁面上，執行下列動作：

   1. 在**資料傳輸組態**下，展開**其他設定**並清除**複製物件標籤**核取方塊。
**重要**  
由於 Google Cloud Storage XML API 不支援讀取或寫入物件標籤，因此如果您嘗試複製物件標籤，則 DataSync 任務可能會失敗。

   1. 設定您想要的任何其他任務設定，然後選擇**下一步**。

1. 在**檢閱**頁面上，檢閱您的設定，然後選擇**建立任務**。

1. 在任務的詳細資訊頁面上，選擇**開始**，然後選擇下列其中一項：
   + 若要在不修改的情況下執行任務，請選擇**從預設值開始**。
   + 若要在執行任務之前修改任務，請選擇**從覆寫選項開始**。

任務完成後，您會在 S3 儲存貯體中看到 Google Cloud Storage 儲存貯體中的物件。

# 使用 設定傳輸 Microsoft Azure Blob Storage
<a name="creating-azure-blob-location"></a>

使用 AWS DataSync，您可以在 Microsoft Azure Blob Storage（包括 Blob Azure Data Lake Storage Gen2 儲存） 與下列 AWS 儲存服務之間傳輸資料：
+ [Amazon S3](create-s3-location.md)
+ [Amazon EFS](create-efs-location.md)
+ [Amazon FSx for Windows File Server](create-fsx-location.md)
+ [Amazon FSx for Lustre](create-lustre-location.md)
+ [Amazon FSx for OpenZFS](create-openzfs-location.md)
+ [Amazon FSx for NetApp ONTAP](create-ontap-location.md)

若要設定這種傳輸，您可以為 建立[位置](how-datasync-transfer-works.md#sync-locations)Azure Blob Storage。您可以使用此位置做為傳輸來源或目的地。只有在 Azure Blob 與 Amazon EFS 或 Amazon FSx 之間傳輸資料，或使用**基本**模式任務時，才需要 DataSync 代理程式。您不需要代理程式，即可使用**增強**模式在 Azure Blob 和 Amazon S3 之間傳輸資料。

## 提供 DataSync 存取您的 Azure Blob Storage
<a name="azure-blob-access"></a>

DataSync 如何存取您的 Azure Blob Storage 取決於幾個因素，包括您要往返 Blob 儲存體，以及您正在使用的[共用存取簽章 (SAS) 字符](#azure-blob-sas-tokens)。您的物件也必須位於 DataSync 可以使用的[存取層](#azure-blob-access-tiers)中。

**Topics**
+ [SAS 字符](#azure-blob-sas-tokens)
+ [存取層](#azure-blob-access-tiers)

### SAS 字符
<a name="azure-blob-sas-tokens"></a>

SAS 權杖會指定 Blob 儲存體的存取許可。（如需 SAS 的詳細資訊，請參閱 [Azure Blob Storage 文件](https://learn.microsoft.com/azure/storage/common/storage-sas-overview)。)

您可以產生 SAS 權杖，以提供不同層級的存取。DataSync 支援具有下列存取層級的字符：
+ 帳戶
+ 容器

DataSync 需要的存取許可取決於權杖的範圍。沒有正確的許可可能會導致傳輸失敗。例如，如果您要將具有標籤的物件移至 ，Azure Blob Storage但您的 SAS 字符沒有標籤許可，則傳輸不會成功。

**Topics**
+ [帳戶層級存取的 SAS 字符許可](#account-sas-tokens)
+ [容器層級存取的 SAS 字符許可](#container-sas-tokens)
+ [SAS 過期政策](#azure-blob-sas-expiration-policies)

#### 帳戶層級存取的 SAS 字符許可
<a name="account-sas-tokens"></a>

DataSync 需要具有下列許可的帳戶層級存取權杖 （取決於您是從 轉移或從 轉移Azure Blob Storage)。

------
#### [ Transfers from blob storage ]
+ **允許的服務** – Blob
+ **允許的資源類型** – 容器、物件

  如果您未包含這些許可，DataSync 就無法傳輸物件中繼資料，包括[物件標籤](#azure-blob-considerations-object-tags)。
+ **允許許可** – 讀取、列出
+ **允許 Blob 索引許可** – 讀取/寫入 （如果您希望 DataSync 複製[物件標籤](#azure-blob-considerations-object-tags))

------
#### [ Transfers to blob storage ]
+ **允許的服務** – Blob
+ **允許的資源類型** – 容器、物件

  如果您未包含這些許可，DataSync 就無法傳輸物件中繼資料，包括[物件標籤](#azure-blob-considerations-object-tags)。
+ **允許許可** – 讀取、寫入、列出、刪除 （如果您希望 DataSync 移除不在傳輸來源中的檔案）
+ **允許 Blob 索引許可** – 讀取/寫入 （如果您希望 DataSync 複製[物件標籤](#azure-blob-considerations-object-tags))

------

#### 容器層級存取的 SAS 字符許可
<a name="container-sas-tokens"></a>

DataSync 需要具有下列許可的容器層級存取權杖 （取決於您是從 傳輸）Azure Blob Storage。

------
#### [ Transfers from blob storage ]
+ 讀取
+ 清單
+ 標籤 （如果您希望 DataSync 複製[物件標籤](#azure-blob-considerations-object-tags))
**注意**  
在Azure入口網站中產生 SAS 字符時，您無法新增標籤許可。若要新增標籤許可，請改用 [https://learn.microsoft.com/en-us/azure/vs-azure-tools-storage-manage-with-storage-explorer](https://learn.microsoft.com/en-us/azure/vs-azure-tools-storage-manage-with-storage-explorer) 應用程式產生字符，或產生[提供帳戶層級存取權的 SAS 字符](#account-sas-tokens)。

------
#### [ Transfers to blob storage ]
+ 讀取
+ 寫入
+ 清單
+ 刪除 （如果您希望 DataSync 移除不在傳輸來源中的檔案）
+ 標籤 （如果您希望 DataSync 複製[物件標籤](#azure-blob-considerations-object-tags))
**注意**  
在Azure入口網站中產生 SAS 字符時，您無法新增標籤許可。若要新增標籤許可，請改為使用 [https://learn.microsoft.com/en-us/azure/vs-azure-tools-storage-manage-with-storage-explorer](https://learn.microsoft.com/en-us/azure/vs-azure-tools-storage-manage-with-storage-explorer) 應用程式產生字符，或產生[提供帳戶層級存取權的 SAS 字符](#account-sas-tokens)。

------

#### SAS 過期政策
<a name="azure-blob-sas-expiration-policies"></a>

在預期完成傳輸之前，請確定您的 SAS 不會過期。如需設定 SAS 過期政策的資訊，請參閱 [Azure Blob Storage 文件](https://learn.microsoft.com/en-us/azure/storage/common/sas-expiration-policy)。

如果 SAS 在傳輸期間過期，DataSync 就無法再存取您的Azure Blob Storage位置。（您可能會看到無法開啟目錄錯誤。) 如果發生這種情況，請使用新的 SAS 字符[更新您的位置](#azure-blob-update-location)，並重新啟動 DataSync 任務。

### 存取層
<a name="azure-blob-access-tiers"></a>

從 傳輸時Azure Blob Storage，DataSync 可以複製熱和冷層中的物件。對於封存存取層中的物件，您必須先將這些物件重新補充至熱或冷層，然後才能複製它們。

轉移到 時Azure Blob Storage，DataSync 可以將物件複製到熱、冷和封存存取層。如果您要將物件複製到封存存取層，如果您嘗試驗證目的地中的所有資料，則 DataSync 無法驗證傳輸。 [設定 AWS DataSync 如何驗證資料完整性](configure-data-verification-options.md)

DataSync 不支援冷存取層。如需存取層的詳細資訊，請參閱 [Azure Blob Storage 文件](https://learn.microsoft.com/en-us/azure/storage/blobs/access-tiers-overview?tabs=azure-portal)。

## Azure Blob Storage 轉移的考量事項
<a name="azure-blob-considerations"></a>

計劃Azure Blob Storage使用 DataSync 往返傳輸資料時，請注意一些事項。

**Topics**
+ [成本](#azure-blob-considerations-costs)
+ [Blob 類型](#blob-types)
+ [AWS 區域 可用性](#azure-blob-considerations-regions)
+ [複製物件標籤](#azure-blob-considerations-object-tags)
+ [轉移至 Amazon S3](#azure-blob-considerations-s3)
+ [刪除傳輸目的地中的目錄](#azure-blob-considerations-deleted-files)
+ [限制](#azure-blob-limitations)

### 成本
<a name="azure-blob-considerations-costs"></a>

將資料移入或移出 的相關費用Azure Blob Storage可能包括：
+ 執行[Azure虛擬機器 (VM)](https://azure.microsoft.com/en-us/pricing/details/virtual-machines/linux/) （如果您在 中部署 DataSync 代理程式Azure)
+ 執行 [Amazon EC2](https://aws.amazon.com/ec2/pricing/) 執行個體 （如果您在 VPC 內部署 DataSync 代理程式 AWS)
+ 使用 [DataSync](https://aws.amazon.com/datasync/pricing/) 傳輸資料，包括與 [https://azure.microsoft.com/en-us/pricing/details/storage/blobs/](https://azure.microsoft.com/en-us/pricing/details/storage/blobs/)和 [Amazon S3](create-s3-location.md#create-s3-location-s3-requests) 相關的請求費用 （如果 S3 是您的其中一個傳輸位置）
+ 將資料傳入或傳出 [https://azure.microsoft.com/en-us/pricing/details/storage/blobs/](https://azure.microsoft.com/en-us/pricing/details/storage/blobs/)
+ 在 DataSync 支援的[AWS 儲存服務](working-with-locations.md)中存放資料

### Blob 類型
<a name="blob-types"></a>

DataSync 如何使用 Blob 類型，取決於您要從 傳輸。 Azure Blob Storage當您將資料移至 Blob 儲存體時，DataSync 傳輸的物件或檔案只能是區塊 Blob。當您將資料移出 Blob 儲存體時，DataSync 可以傳輸區塊、頁面和附加 Blob。

如需 Blob 類型的詳細資訊，請參閱 [Azure Blob Storage 文件](https://learn.microsoft.com/en-us/rest/api/storageservices/understanding-block-blobs--append-blobs--and-page-blobs)。

### AWS 區域 可用性
<a name="azure-blob-considerations-regions"></a>

您可以在 [AWS 區域 DataSync 支援](https://docs.aws.amazon.com/general/latest/gr/datasync.html#datasync-region)的任何 中建立Azure Blob Storage傳輸位置。

### 複製物件標籤
<a name="azure-blob-considerations-object-tags"></a>

在來回傳輸時，DataSync 保留物件標籤的能力Azure Blob Storage取決於下列因素：
+ **物件標籤的大小** – DataSync 無法傳輸標籤超過 2 KB 的物件。
+ **DataSync 是否設定為複製物件標籤** – DataSync 預設會[複製物件標籤](configure-metadata.md)。
+ **Azure 儲存體帳戶使用的命名空間** – 如果您的Azure儲存體帳戶使用一般命名空間，但您的帳戶使用階層式命名空間 ( 的功能），則 DataSync 可以複製物件標籤Azure Data Lake Storage Gen2。如果您嘗試複製物件標籤，且您的儲存帳戶使用階層式命名空間，則 DataSync 任務將會失敗。
+ **您的 SAS 權杖是否授權標記** – 您需要複製物件標籤的許可會根據權杖提供的存取層級而有所不同。如果您嘗試複製物件標籤，且權杖沒有適當的標記許可，您的任務將會失敗。如需詳細資訊，請檢查[帳戶層級存取權杖](#account-sas-tokens)或[容器層級存取權杖](#container-sas-tokens)的許可需求。

### 轉移至 Amazon S3
<a name="azure-blob-considerations-s3"></a>

傳輸至 Amazon S3 時，DataSync 不會傳輸大於 5 TB 的Azure Blob Storage物件，或中繼資料大於 2 KB 的物件。

### 刪除傳輸目的地中的目錄
<a name="azure-blob-considerations-deleted-files"></a>

轉移至 時Azure Blob Storage，DataSync 可以[移除 Blob 儲存體中不存在於傳輸來源中的物件](configure-metadata.md)。（您可以透過清除 DataSync 主控台中的**保留已刪除檔案**設定來設定此選項。 您的 [SAS 字符](#azure-blob-sas-tokens)也必須具有刪除許可。)

當您以這種方式設定傳輸時，如果您的Azure儲存體帳戶使用階層式命名空間，則 DataSync 不會刪除 Blob 儲存體中的目錄。在此情況下，您必須手動刪除目錄 （例如，使用 [https://learn.microsoft.com/en-us/azure/storage/blobs/data-lake-storage-explorer](https://learn.microsoft.com/en-us/azure/storage/blobs/data-lake-storage-explorer))。

### 限制
<a name="azure-blob-limitations"></a>

在 之間傳輸資料時，請記住下列限制Azure Blob Storage：
+ DataSync 會在位置中[建立一些目錄](filtering.md#directories-ignored-during-transfers)，以協助促進傳輸。如果 Azure Blob Storage 是目的地位置，而您的儲存帳戶使用階層式命名空間，您可能會在 `/.aws-datasync` 資料夾中注意到任務特定的子目錄 （例如 `task-000011112222abcde`)。DataSync 通常會在傳輸後刪除這些子目錄。如果未發生這種情況，只要任務未執行，您就可以自行刪除這些任務特定的目錄。
+ DataSync 不支援使用 SAS 字符僅存取Azure Blob Storage容器中的特定資料夾。
+ 您無法為 DataSync 提供用於存取 Blob 儲存的使用者委派 SAS 字符。

## 建立 DataSync 代理程式 （選用）
<a name="azure-blob-creating-agent"></a>

只有在 Azure Blob 與 Amazon EFS 或 Amazon FSx 之間傳輸資料，或使用**基本**模式任務時，才需要 DataSync 代理程式。您不需要代理程式，即可使用**增強**模式在 Azure Blob 和 Amazon S3 之間傳輸資料。本節說明如何部署和啟用 代理程式。

**提示**  
雖然您可以在 Amazon EC2 執行個體上部署代理程式，但使用Microsoft Hyper-V代理程式可能會導致網路延遲降低和資料壓縮更多。

### Microsoft Hyper-V 代理程式
<a name="azure-blob-creating-agent-hyper-v"></a>

您可以使用Microsoft Hyper-V映像直接在 中部署 DataSync Azure 代理程式。

**提示**  
在繼續之前，請考慮使用 shell 指令碼，以協助您Azure更快速地部署 Hyper-V 代理程式。您可以在 [GitHub](https://github.com/aws-samples/aws-datasync-deploy-agent-azure) 上取得更多資訊並下載程式碼。  
如果您使用指令碼，您可以跳到有關 的章節[取得代理程式的啟用金鑰](#azure-blob-creating-agent-hyper-v-3)。

**Topics**
+ [先決條件](#azure-blob-creating-agent-hyper-v-0)
+ [下載和準備您的代理程式](#azure-blob-creating-agent-hyper-v-1)
+ [在 中部署您的代理程式 Azure](#azure-blob-creating-agent-hyper-v-2)
+ [取得代理程式的啟用金鑰](#azure-blob-creating-agent-hyper-v-3)
+ [啟用您的代理程式](#azure-blob-creating-agent-hyper-v-4)

#### 先決條件
<a name="azure-blob-creating-agent-hyper-v-0"></a>

若要準備 DataSync 代理程式並將其部署在 中Azure，您必須執行下列動作：
+ Hyper-V 在本機電腦上啟用 。
+ 安裝 [https://learn.microsoft.com/en-us/powershell/scripting/install/installing-powershell?view=powershell-7.3&viewFallbackFrom=powershell-7.1](https://learn.microsoft.com/en-us/powershell/scripting/install/installing-powershell?view=powershell-7.3&viewFallbackFrom=powershell-7.1)（包括 Hyper-V Module)。
+ 安裝 [Azure CLI](https://learn.microsoft.com/en-us/cli/azure/install-azure-cli)。
+ 安裝 [https://learn.microsoft.com/en-us/azure/storage/common/storage-use-azcopy-v10?toc=%2Fazure%2Fstorage%2Fblobs%2Ftoc.json&bc=%2Fazure%2Fstorage%2Fblobs%2Fbreadcrumb%2Ftoc.json](https://learn.microsoft.com/en-us/azure/storage/common/storage-use-azcopy-v10?toc=%2Fazure%2Fstorage%2Fblobs%2Ftoc.json&bc=%2Fazure%2Fstorage%2Fblobs%2Fbreadcrumb%2Ftoc.json)。

#### 下載和準備您的代理程式
<a name="azure-blob-creating-agent-hyper-v-1"></a>

從 DataSync 主控台下載代理程式。在 中部署代理程式之前Azure，您必須將其轉換為固定大小的虛擬硬碟 (VHD)。如需詳細資訊，請參閱 [Azure 文件](https://learn.microsoft.com/en-us/azure/virtual-machines/windows/prepare-for-upload-vhd-image)。

**下載並準備您的代理程式**

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

1. 在左側導覽窗格中，選擇**客服人員**，然後選擇**建立客服人員**。

1. 針對 **Hypervisor**，選擇 **Microsoft Hyper-V**，然後選擇**下載映像**。

   代理程式會在包含 `.zip` 檔案的`.vhdx`檔案中下載 。

1. 在本機電腦上解壓縮 `.vhdx` 檔案。

1. 開啟 PowerShell，並執行下列動作：

   1. 複製下列 `Convert-VHD` cmdlet：

      ```
      Convert-VHD -Path .\local-path-to-vhdx-file\aws-datasync-2.0.1686143940.1-x86_64.xfs.gpt.vhdx `
      -DestinationPath .\local-path-to-vhdx-file\aws-datasync-2016861439401-x86_64.vhd -VHDType Fixed
      ```

   1. 將 的每個執行個體取代`local-path-to-vhdx-file`為本機電腦上`.vhdx`檔案的位置。

   1. 執行 命令。

   您的代理程式現在是固定大小的 VHD （使用`.vhd`檔案格式），並準備好在 中部署Azure。

#### 在 中部署您的代理程式 Azure
<a name="azure-blob-creating-agent-hyper-v-2"></a>

在 中部署 DataSync 代理程式Azure包括：
+ 在 中建立受管磁碟 Azure
+ 將您的代理程式上傳至該受管磁碟
+ 將受管磁碟連接至Linux虛擬機器

**在 中部署您的代理程式 Azure**

1. 在 中PowerShell，前往包含代理程式`.vhd`檔案的目錄。

1. 執行 `ls`命令並儲存 `Length`值 （例如 `85899346432`)。

   這是代理程式映像的大小，以位元組為單位，您在建立可存放映像的受管磁碟時需要此大小。

1. 執行下列動作來建立受管磁碟：

   1. 複製下列 Azure CLI 命令：

      ```
      az disk create -n your-managed-disk `
      -g your-resource-group `
      -l your-azure-region `
      --upload-type Upload `
      --upload-size-bytes agent-size-bytes `
      --sku standard_lrs
      ```

   1. `your-managed-disk` 將 取代為受管磁碟的名稱。

   1. `your-resource-group` 以儲存體帳戶所屬Azure的資源群組名稱取代 。

   1. `your-azure-region` 將 取代為資源群組所在的Azure區域。

   1. `agent-size-bytes` 將 取代為代理程式映像的大小。

   1. 執行 命令。

   此命令會使用[標準 SKU](https://learn.microsoft.com/en-us/rest/api/storagerp/srp_sku_types) 建立空的受管磁碟，您可以在其中上傳 DataSync 代理程式。

1. 若要產生允許寫入受管磁碟的共用存取簽章 (SAS)，請執行下列動作：

   1. 複製下列 Azure CLI 命令：

      ```
      az disk grant-access -n your-managed-disk `
      -g your-resource-group `
      --access-level Write `
      --duration-in-seconds 86400
      ```

   1. `your-managed-disk` 將 取代為您建立的受管磁碟名稱。

   1. `your-resource-group` 以儲存體帳戶所屬Azure的資源群組名稱取代 。

   1. 執行 命令。

      在輸出中，記下 SAS URI。上傳代理程式到 時，您需要此 URIAzure。

   SAS 可讓您寫入磁碟長達一小時。這表示您有一小時的時間將代理程式上傳到受管磁碟。

1. 若要在 中將代理程式上傳至受管磁碟Azure，請執行下列動作：

   1. 複製下列`AzCopy`命令：

      ```
      .\azcopy copy local-path-to-vhd-file sas-uri --blob-type PageBlob
      ```

   1. `local-path-to-vhd-file` 將 取代為本機電腦上代理程式`.vhd`檔案的位置。

   1. `sas-uri` 將 取代為您執行 `az disk grant-access`命令時取得的 SAS URI。

   1. 執行 命令。

1. 當代理程式上傳完成時，撤銷對受管磁碟的存取權。若要執行此作業，請複製下列 Azure CLI 命令：

   ```
   az disk revoke-access -n your-managed-disk -g your-resource-group
   ```

   1. `your-resource-group` 以儲存體帳戶所屬Azure的資源群組名稱取代 。

   1. `your-managed-disk` 將 取代為您建立的受管磁碟名稱。

   1. 執行 命令。

1. 執行下列動作，將受管磁碟連接至新的 Linux VM：

   1. 複製下列 Azure CLI 命令：

      ```
      az vm create --resource-group your-resource-group `
      --location eastus `
      --name your-agent-vm `
      --size Standard_E4as_v4 `
      --os-type linux `
      --attach-os-disk your-managed-disk
      ```

   1. `your-resource-group` 以儲存體帳戶所屬Azure的資源群組名稱取代 。

   1. `your-agent-vm` 將 取代為您可以記住的 VM 名稱。

   1. `your-managed-disk` 將 取代為您連接至 VM 的受管磁碟名稱。

   1. 執行 命令。

您已部署 代理程式。您必須先啟用代理程式，才能開始設定資料傳輸。

#### 取得代理程式的啟用金鑰
<a name="azure-blob-creating-agent-hyper-v-3"></a>

若要手動取得 DataSync 代理程式的啟用金鑰，請遵循下列步驟。

或者，[DataSync 可以自動為您取得啟用金鑰](activate-agent.md)，但這種方法需要一些網路組態。

**取得代理程式的啟用金鑰**

1. 在 Azure 入口網站中，透過選擇**使用自訂儲存帳戶設定啟用**並指定您的Azure儲存帳戶，[為您的代理程式啟用 VM 的開機診斷](https://learn.microsoft.com/en-us/azure/virtual-machines/boot-diagnostics)。

   啟用代理程式 VM 的開機診斷後，您可以存取代理程式的本機主控台以取得啟用金鑰。

1. 仍在Azure入口網站時，請前往您的 VM 並選擇**序列主控台**。

1. 在客服人員的本機主控台中，使用以下預設登入資料登入：
   + **使用者名稱** – **admin**
   + **密碼** – **password**

   我們建議在某個時間點至少變更客服人員的密碼。在客服人員的本機主控台中，在主功能表**5**中輸入 ，然後使用 `passwd`命令來變更密碼。

1. 輸入 **0** 以取得代理程式的啟用金鑰。

1. 輸入您使用 DataSync AWS 區域 的 （例如 **us-east-1**)。

1. 選擇代理程式用來連線[的服務端點](choose-service-endpoint.md) AWS。

1. 儲存`Activation key`輸出的值。

#### 啟用您的代理程式
<a name="azure-blob-creating-agent-hyper-v-4"></a>

擁有啟用金鑰後，您可以完成建立 DataSync 代理程式。

**啟用您的代理程式**

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

1. 在左側導覽窗格中，選擇**客服人員**，然後選擇**建立客服人員**。

1. 針對 **Hypervisor**，選擇 **Microsoft Hyper-V**。

1. 針對**端點類型**，選擇您在取得代理程式啟用金鑰時指定的相同服務端點類型 （例如，在***區域名稱*中選擇公有服務端點**)。

1. 設定您的網路以使用代理程式正在使用的服務端點類型。如需服務端點網路需求，請參閱下列主題：
   + [VPC 端點](datasync-network.md#using-vpc-endpoint)
   + [公有端點](datasync-network.md#using-public-endpoints)
   + [聯邦資訊處理標準 (FIPS) 端點](datasync-network.md#using-public-endpoints)

1. 對於**啟用金鑰**，請執行下列動作：

   1. 選擇**手動輸入代理程式的啟用金鑰**。

   1. 輸入您從客服人員的本機主控台取得的啟用金鑰。

1. 選擇**建立代理程式**。

您的代理程式已準備好與您的 連線Azure Blob Storage。如需詳細資訊，請參閱[建立您的Azure Blob Storage傳輸位置](#creating-azure-blob-location-how-to)。

### Amazon EC2 代理程式
<a name="azure-blob-creating-agent-ec2"></a>

您可以在 Amazon EC2 執行個體上部署 DataSync 代理程式。

**建立 Amazon EC2 代理程式**

1. [部署 Amazon EC2 代理程式](deploy-agents.md#ec2-deploy-agent)。

1. [選擇代理程式用來與 通訊的服務端點](choose-service-endpoint.md) AWS。

   在這種情況下，我們建議您使用虛擬私有雲端 (VPC) 服務端點。

1. 設定您的網路以使用 [VPC 服務端點](datasync-network.md#using-vpc-endpoint)。

1. [啟用代理程式](https://docs.aws.amazon.com/datasync/latest/userguide/activate-agent.html)。

## 建立您的Azure Blob Storage傳輸位置
<a name="creating-azure-blob-location-how-to"></a>

您可以將 DataSync 設定為使用 Azure Blob Storage 做為傳輸來源或目的地。

**開始之前**  
請確定您知道 [ DataSync 如何存取Azure Blob Storage](#azure-blob-access)和使用[存取層](#azure-blob-access-tiers)和 [Blob 類型](#blob-types)。您也需要可以連線至Azure Blob Storage容器的 [DataSync 代理](#azure-blob-creating-agent)程式。

### 使用 DataSync 主控台
<a name="creating-azure-blob-location-console"></a>

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

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

1. 在 **Location type (位置類型)** 中，選擇 **Microsoft Azure Blob Storage**。

1. 針對**容器 URL**，輸入傳輸所涉及之容器的 URL。

1. （選用） 對於**做為目的地的存取層**，選擇您希望物件或檔案傳輸到的[存取層](#azure-blob-access-tiers)。

1. 對於**資料夾**，如果您想要將傳輸限制在容器中的虛擬目錄 （例如，)，請輸入路徑區段`/my/images`。

1. 如果您的傳輸需要代理程式，請選擇**使用代理程式**，然後選擇可與Azure Blob Storage容器連線的 DataSync 代理程式。

1. 針對 **SAS 字符**，請提供 DataSync 存取 Blob 儲存所需的登入資料。Azure Blob 儲存體上的某些公有資料集不需要登入資料。您可以直接輸入 SAS 字符，或指定包含字符的 AWS Secrets Manager 秘密。如需詳細資訊，請參閱[提供儲存位置的登入](https://docs.aws.amazon.com/datasync/latest/userguide/location-credentials.html)資料。

   您的 SAS 字符是 SAS URI 字串的一部分，該字串出現在您的儲存資源 URI 和問號 () 之後`?`。字符看起來像這樣：

   ```
   sp=r&st=2023-12-20T14:54:52Z&se=2023-12-20T22:54:52Z&spr=https&sv=2021-06-08&sr=c&sig=aBBKDWQvyuVcTPH9EBp%2FXTI9E%2F%2Fmq171%2BZU178wcwqU%3D
   ```

1. （選用） 輸入索引**鍵**和**值**欄位的值以標記位置。

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

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

### 使用 AWS CLI
<a name="creating-azure-blob-location-cli"></a>

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

   ```
   aws datasync create-location-azure-blob \
     --container-url "https://path/to/container" \
     --authentication-type "SAS" \
     --sas-configuration '{
         "Token": "your-sas-token"
       }' \
     --agent-arns my-datasync-agent-arn \
     --subdirectory "/path/to/my/data" \
     --access-tier "access-tier-for-destination" \
     --tags [{"Key": "key1","Value": "value1"}]
   ```

1. 針對 `--container-url` 參數，指定傳輸所涉及之Azure Blob Storage容器的 URL。

1. 針對 `--authentication-type` 參數，請指定 `SAS`。如果您存取的公有資料集不需要身分驗證，請指定 `NONE`。

1. 針對 `--sas-configuration` 參數`Token`的選項，指定允許 DataSync 存取 Blob 儲存體的 SAS 字符。

   您也可以提供使用 保護金鑰的其他參數 AWS Secrets Manager。如需詳細資訊，請參閱[提供儲存位置的登入](https://docs.aws.amazon.com/datasync/latest/userguide/location-credentials.html)資料。

   您的 SAS 字符是 SAS URI 字串的一部分，該字串出現在您的儲存資源 URI 和問號 () 之後`?`。字符看起來像這樣：

   ```
   sp=r&st=2023-12-20T14:54:52Z&se=2023-12-20T22:54:52Z&spr=https&sv=2021-06-08&sr=c&sig=aBBKDWQvyuVcTPH9EBp%2FXTI9E%2F%2Fmq171%2BZU178wcwqU%3D
   ```

1. （選用） 針對 `--agent-arns` 參數，指定可連線至容器之 DataSync 代理程式的 Amazon Resource Name (ARN)。

   以下是客服人員 ARN 的範例： `arn:aws:datasync:us-east-1:123456789012:agent/agent-01234567890aaabfb`

   您可以指定多個代理程式。如需詳細資訊，請參閱[使用多個 DataSync 代理程式](do-i-need-datasync-agent.md#multiple-agents)。

1. 針對 `--subdirectory` 參數，如果您想要將傳輸限制為容器中的虛擬目錄 （例如，)，請指定路徑區段`/my/images`。

1. （選用） 對於 `--access-tier` 參數，指定您要物件或檔案傳輸到的[存取層](#azure-blob-access-tiers) (`COOL`、 `HOT`或 `ARCHIVE`)。

   此參數僅適用於使用此位置做為傳輸目的地時。

1. （選用） 針對 `--tags` 參數，指定可協助您管理、篩選和搜尋位置的鍵/值對。

   建議您為位置建立名稱標籤。

1. 執行 `create-location-azure-blob` 命令。

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

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

## 檢視您的Azure Blob Storage傳輸位置
<a name="azure-blob-view-location"></a>

您可以取得 現有 DataSync 傳輸位置的詳細資訊Azure Blob Storage。

### 使用 DataSync 主控台
<a name="azure-blob-view-location-console"></a>

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

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

1. 選擇您的Azure Blob Storage位置。

   您可以查看位置的詳細資訊，包括任何正在使用該位置的 DataSync 傳輸任務。

### 使用 AWS CLI
<a name="azure-blob-view-location-cli"></a>

1. 複製下列`describe-location-azure-blob`命令：

   ```
   aws datasync describe-location-azure-blob \
     --location-arn "your-azure-blob-location-arn"
   ```

1. 針對 `--location-arn` 參數，指定您建立Azure Blob Storage位置的 ARN （例如 `arn:aws:datasync:us-east-1:123456789012:location/loc-12345678abcdefgh`)。

1. 執行 `describe-location-azure-blob` 命令。

   您會收到顯示位置詳細資訊的回應。例如：

   ```
   {
       "LocationArn": "arn:aws:datasync:us-east-1:123456789012:location/loc-12345678abcdefgh",
       "LocationUri": "azure-blob://my-user.blob.core.windows.net/container-1",
       "AuthenticationType": "SAS",
       "Subdirectory": "/my/images",
       "AgentArns": ["arn:aws:datasync:us-east-1:123456789012:agent/agent-01234567890deadfb"],
   }
   ```

## 更新您的Azure Blob Storage傳輸位置
<a name="azure-blob-update-location"></a>

如有需要，您可以在 主控台或使用 修改位置的組態 AWS CLI。

### 使用 AWS CLI
<a name="azure-blob-update-location-cli"></a>

1. 複製下列`update-location-azure-blob`命令：

   ```
   aws datasync update-location-azure-blob \
     --location-arn "your-azure-blob-location-arn" \
     --authentication-type "SAS" \
     --sas-configuration '{
         "Token": "your-sas-token"
       }' \
     --agent-arns my-datasync-agent-arn \
     --subdirectory "/path/to/my/data" \
     --access-tier "access-tier-for-destination"
   ```

1. 針對 `--location-arn` 參數，指定您要更新之Azure Blob Storage位置的 ARN （例如 `arn:aws:datasync:us-east-1:123456789012:location/loc-12345678abcdefgh`)。

1. 針對 `--authentication-type` 參數，請指定 `SAS`。

1. 針對 `--sas-configuration` 參數`Token`的選項，指定允許 DataSync 存取 Blob 儲存體的 SAS 字符。

   字符是 SAS URI 字串的一部分，位於儲存資源 URI 和問號 () 之後`?`。字符看起來像這樣：

   ```
   sp=r&st=2022-12-20T14:54:52Z&se=2022-12-20T22:54:52Z&spr=https&sv=2021-06-08&sr=c&sig=qCBKDWQvyuVcTPH9EBp%2FXTI9E%2F%2Fmq171%2BZU178wcwqU%3D
   ```

1. 針對 `--agent-arns` 參數，指定您要連線至容器之 DataSync 代理程式的 Amazon Resource Name (ARN)。

   以下是客服人員 ARN 的範例： `arn:aws:datasync:us-east-1:123456789012:agent/agent-01234567890aaabfb`

   您可以指定多個代理程式。如需詳細資訊，請參閱[使用多個 DataSync 代理程式](do-i-need-datasync-agent.md#multiple-agents)。

1. 針對 `--subdirectory` 參數，如果您想要將傳輸限制為容器中的虛擬目錄 （例如，)，請指定路徑區段`/my/images`。

1. （選用） 針對 `--access-tier` 參數，指定要將物件傳輸至其中的[存取層](#azure-blob-access-tiers) (`COOL`、 `HOT`或 `ARCHIVE`)。

   此參數僅適用於使用此位置做為傳輸目的地時。

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

完成為 建立 DataSync 位置後Azure Blob Storage，您可以繼續設定傳輸。以下是一些需要考慮的後續步驟：

1. 如果您還沒有，請[建立另一個您計劃將資料傳輸到 或從中傳輸資料的位置](working-with-locations.md)Azure Blob Storage。

1. 了解 DataSync 如何處理[中繼資料和特殊檔案](metadata-copied.md)，特別是如果您的傳輸位置沒有類似的中繼資料結構時。

1. 設定資料傳輸的方式。例如，您只能[傳輸一部分的資料，](filtering.md)或刪除 Blob 儲存體中不在來源位置的檔案 （只要您的 [SAS 字符](#azure-blob-sas-tokens)具有刪除許可）。

1. [開始傳輸](run-task.md)。

# 使用 Microsoft Azure Files SMB 共用設定 AWS DataSync 傳輸
<a name="transferring-azure-files"></a>

您可以將 設定為在Microsoft Azure Files伺服器訊息區塊 (SMB) 共用之間 AWS DataSync 傳輸資料。

**提示**  
如需將資料從 Azure Files SMB 共用移至其中的完整逐步解說 AWS，請參閱[AWS 儲存部落格](https://aws.amazon.com/blogs/storage/how-to-move-data-from-azure-files-smb-shares-to-aws-using-aws-datasync/)。

## 提供對 SMB 共享的 DataSync 存取權
<a name="configuring-smb-azure-files"></a>

DataSync 會使用 SMB 通訊協定連線至 SMB 共用，並使用您提供的登入資料進行驗證。

**Topics**
+ [支援的 SMB 通訊協定版本](#configuring-smb-version-azure-files)
+ [所需的許可](#configuring-smb-permissions-azure-files)

### 支援的 SMB 通訊協定版本
<a name="configuring-smb-version-azure-files"></a>

根據預設，DataSync 會根據與 SMB 檔案伺服器的交涉，自動選擇 SMB 通訊協定的版本。

您也可以將 DataSync 設定為使用特定 SMB 版本，但我們建議只在 DataSync 自動與 SMB 檔案伺服器交涉發生問題時，才這麼做。DataSync 支援 SMB 1.0 版和更新版本。基於安全考量，我們建議您使用 SMB 3.0.2 版或更新版本。舊版，例如 SMB 1.0，包含攻擊者可用來入侵資料的已知安全漏洞。

如需 DataSync 主控台和 API 中的選項清單，請參閱下表：


| 主控台選項 | API 選項 | Description | 
| --- | --- | --- | 
| 自動 |  `AUTOMATIC`  |  DataSync 和 SMB 檔案伺服器會交涉它們在 2.1 和 3.1.1 之間相互支援的 SMB 最高版本。 這是預設和建議的選項。如果您改為選擇檔案伺服器不支援的特定版本，可能會收到 `Operation Not Supported` 錯誤。  | 
|  SMB 3.0.2  |  `SMB3`  |  將通訊協定交涉限制為僅限 SMB 3.0.2 版。  | 
| SMB 2.1 |  `SMB2`  | 將通訊協定交涉限制為僅限 SMB 2.1 版。 | 
| SMB 2.0 | `SMB2_0` | 將通訊協定交涉限制為僅限 SMB 2.0 版。 | 
| SMB 1.0 | `SMB1` | 將通訊協定交涉限制為僅限 SMB 1.0 版。 | 

### 所需的許可
<a name="configuring-smb-permissions-azure-files"></a>

DataSync 需要具有掛載和存取 SMB 位置許可的使用者。這可以是 Windows 檔案伺服器上的本機使用者，或 Microsoft Active Directory 中定義的網域使用者。

若要設定物件擁有權，DataSync 需要 `SE_RESTORE_NAME`權限，通常授予內建 Active Directory 群組的成員 **Backup Operators** 和 **Domain Admins**。使用此權限將使用者提供給 DataSync 也有助於確保檔案、資料夾和檔案中繼資料的足夠許可，但 NTFS 系統存取控制清單 SACLs) 除外。

需要其他權限才能複製 SACLs。具體而言，這需要授予**網域管理員**群組成員的 Windows `SE_SECURITY_NAME`權限。如果您將任務設定為複製 SACL，請確定使用者擁有必要的權限。若要進一步了解如何設定任務以複製 SACLs，請參閱 [設定如何處理檔案、物件和中繼資料](configure-metadata.md)。

當您在 SMB 檔案伺服器和 Amazon FSx for Windows File Server 檔案系統之間複製資料時，來源和目的地位置必須屬於相同的 Microsoft Active Directory 網域，或其網域之間具有 Active Directory 信任關係。

## 使用 主控台建立 Azure 檔案傳輸位置
<a name="create-azure-files-smb-location-how-to"></a>

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

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

1. 在 **Location type (位置類型)** 中，選擇 **Server Message Block (SMB) (伺服器訊息區塊 (SMB))**。

   您稍後會將此位置設定為來源或目的地。

1. 針對**代理**程式，選擇您要連線至 SMB 共享的一個或多個 DataSync 代理程式。

   如果您選擇多個客服人員，請確定您了解[在某個位置使用多個客服人員](do-i-need-datasync-agent.md#multiple-agents)。

1. 針對 **SMB Server**，輸入 DataSync 代理程式將掛載之 SMB 共用的網域名稱系統 (DNS) 名稱或 IP 地址。
**注意**  
您無法指定 IP 第 6 版 (IPv6) 地址。

1. 針對**共用名稱**，輸入由 SMB 共用匯出的共用名稱，DataSync 會在其中讀取或寫入資料。

   您可以在共用路徑中包含子目錄 （例如，`/path/to/subdirectory`)。請確定您網路中的其他 SMB 用戶端也可以掛載此路徑。

   若要複製子目錄中的所有資料，DataSync 必須能夠掛載 SMB 共用並存取其所有資料。如需詳細資訊，請參閱[所需的許可](create-smb-location.md#configuring-smb-permissions)。

1. （選用） 展開**其他設定**，並選擇存取 **SMB 共用時要使用的 DataSync SMB 版本**。 DataSync 

   根據預設，DataSync 會根據與 SMB 共享的交涉自動選擇版本。如需相關資訊，請參閱[支援的 SMB 版本](create-smb-location.md#configuring-smb-version)。

1. 針對**使用者**，輸入可掛載 SMB 共用的使用者名稱，並具有存取傳輸中涉及之檔案和資料夾的許可。

   如需詳細資訊，請參閱[所需的許可](create-smb-location.md#configuring-smb-permissions)。

1. 針對**密碼**，輸入可掛載 SMB 共用且具有許可存取傳輸中涉及之檔案和資料夾的使用者密碼。

1. （選用） 對於**網域**，輸入 SMB 共用所屬的 Windows 網域名稱。

   如果您的環境中有多個網域，請設定此設定可確保 DataSync 連線至正確的共用。

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

   *標籤*是索引鍵/值對，可協助您管理、篩選和搜尋位置。建議您為位置建立至少一個名稱標籤。

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

# 使用其他雲端物件儲存體設定傳輸
<a name="creating-other-cloud-object-location"></a>

使用 AWS DataSync，您可以在[AWS 儲存服務](transferring-aws-storage.md)與下列雲端物件儲存提供者之間傳輸資料：
+ [https://docs.wasabi.com/](https://docs.wasabi.com/)
+ [https://docs.digitalocean.com/](https://docs.digitalocean.com/)
+ [https://docs.oracle.com/iaas/Content/home.htm](https://docs.oracle.com/iaas/Content/home.htm)
+ [https://developers.cloudflare.com/r2/](https://developers.cloudflare.com/r2/)
+ [https://www.backblaze.com/docs/cloud-storage](https://www.backblaze.com/docs/cloud-storage)
+ [https://guide.ncloud-docs.com/docs/](https://guide.ncloud-docs.com/docs/)
+ [https://www.alibabacloud.com/help/en/oss/product-overview/what-is-oss](https://www.alibabacloud.com/help/en/oss/product-overview/what-is-oss)
+ [https://cloud.ibm.com/docs/cloud-object-storage?topic=cloud-object-storage-getting-started-cloud-object-storage](https://cloud.ibm.com/docs/cloud-object-storage?topic=cloud-object-storage-getting-started-cloud-object-storage)
+ [https://help.lyvecloud.seagate.com/en/product-features.html](https://help.lyvecloud.seagate.com/en/product-features.html)

只有在其他雲端的儲存系統與 Amazon EFS 或 Amazon FSx 之間傳輸資料，或使用**基本**模式任務時，才需要 DataSync 代理程式。您不需要代理程式，即可在其他雲端的儲存系統與使用**增強**模式的 Amazon S3 之間傳輸資料。

無論您是否使用 代理程式，您也必須建立雲端物件儲存的傳輸[位置](how-datasync-transfer-works.md#sync-locations) （特別是**物件儲存**位置）。DataSync 可以使用此位置做為傳輸的來源或目的地。

## 提供對其他雲端物件儲存體的 DataSync 存取權
<a name="other-cloud-access"></a>

DataSync 存取雲端物件儲存的方式取決於幾個因素，包括您的儲存體是否與 Amazon S3 API 相容，以及 DataSync 存取儲存體所需的許可和憑證。

**Topics**
+ [Amazon S3 API 相容性](#other-cloud-s3-compatibility)
+ [儲存許可和端點](#other-cloud-permissions)
+ [儲存憑證](#other-cloud-credentials)

### Amazon S3 API 相容性
<a name="other-cloud-s3-compatibility"></a>

您的雲端物件儲存體必須與下列 [Amazon S3 API 操作](https://docs.aws.amazon.com/AmazonS3/latest/API/API_Operations.html)相容，DataSync 才能與其連線：
+ `AbortMultipartUpload`
+ `CompleteMultipartUpload`
+ `CopyObject`
+ `CreateMultipartUpload`
+ `DeleteObject`
+ `DeleteObjects`
+ `DeleteObjectTagging`
+ `GetBucketLocation`
+ `GetObject`
+ `GetObjectTagging`
+ `HeadBucket`
+ `HeadObject`
+ `ListObjectsV2`
+ `PutObject`
+ `PutObjectTagging`
+ `UploadPart`

### 儲存許可和端點
<a name="other-cloud-permissions"></a>

您必須設定允許 DataSync 存取雲端物件儲存體的許可。如果您的物件儲存體是來源位置，則 DataSync 需要讀取和列出要從中傳輸資料的儲存貯體的許可。如果您的物件儲存體是目的地位置，則 DataSync 需要讀取、列出、寫入和刪除儲存貯體的許可。

DataSync 也需要端點 （或伺服器） 才能連線至您的儲存體。下表說明 DataSync 可用來存取其他雲端物件儲存體的端點：


| 其他雲端供應商 | Endpoint | 
| --- | --- | 
| Wasabi Cloud Storage |  `S3.region.wasabisys.com`  | 
| DigitalOcean Spaces |  `region.digitaloceanspaces.com`  | 
| Oracle Cloud Infrastructure Object Storage |  `namespace.compat.objectstorage.region.oraclecloud.com`  | 
|  Cloudflare R2 Storage  |  `account-id.r2.cloudflarestorage.com`  | 
|  Backblaze B2 Cloud Storage  |  `S3.region.backblazeb2.com`  | 
| NAVER Cloud Object Storage |  `region.object.ncloudstorage.com` （大多數區域）  | 
| Alibaba Cloud Object Storage Service | `region.aliyuncs.com` | 
| IBM Cloud Object Storage | `s3.region.cloud-object-storage.appdomain.cloud` | 
| Seagate Lyve Cloud | `s3.region.lyvecloud.seagate.com` | 

**重要**  
如需如何設定儲存貯體許可和儲存端點更新資訊的詳細資訊，請參閱雲端供應商的文件。

### 儲存憑證
<a name="other-cloud-credentials"></a>

DataSync 也需要登入資料才能存取傳輸中涉及的物件儲存貯體。根據您的雲端儲存提供者如何參考這些登入資料，這可能是存取金鑰和私密金鑰或類似內容。

如需詳細資訊，請參閱雲端供應商的文件。

## 從其他雲端物件儲存體傳輸時的考量事項
<a name="other-cloud-considerations"></a>

計劃使用 DataSync 將物件傳輸到另一個雲端儲存提供者或從中傳輸物件時，請注意一些事項。

**Topics**
+ [成本](#other-cloud-considerations-costs)
+ [儲存類別](#other-cloud-considerations-storage-classes)
+ [物件標籤](#other-cloud-considerations-object-tags)
+ [轉移至 Amazon S3](#other-cloud-considerations-s3)

### 成本
<a name="other-cloud-considerations-costs"></a>

將資料移入和移出另一個雲端儲存供應商的相關費用可能包括：
+ 為您的 DataSync 代理程式執行 [Amazon EC2](https://aws.amazon.com/ec2/pricing/) 執行個體
+ 使用 [DataSync](https://aws.amazon.com/datasync/pricing/) 傳輸資料，包括與雲端物件儲存和 [Amazon S3](create-s3-location.md#create-s3-location-s3-requests) 相關的請求費用 （如果 S3 是您的傳輸目的地）
+ 將資料傳入或傳出雲端儲存體 （檢查雲端供應商的定價）
+ 在 DataSync 支援的[AWS 儲存服務](transferring-aws-storage.md)中存放資料
+ 將資料存放在另一個雲端提供者 （檢查雲端提供者的定價）

### 儲存類別
<a name="other-cloud-considerations-storage-classes"></a>

有些雲端儲存供應商具有儲存類別 （類似 [Amazon S3](create-s3-location.md#using-storage-classes))，若未先還原，則無法讀取 DataSync。例如， Oracle Cloud Infrastructure Object Storage 具有封存儲存類別。您需要在該儲存類別中還原物件，DataSync 才能傳輸它們。如需詳細資訊，請參閱雲端供應商的文件。

### 物件標籤
<a name="other-cloud-considerations-object-tags"></a>

並非所有雲端提供者都支援物件標籤。不允許透過 Amazon S3 API 查詢標籤。在這兩種情況下，如果您嘗試複製物件標籤，則 DataSync 傳輸任務可能會失敗。

您可以在建立、啟動或更新任務時清除 DataSync 主控台中的**複製物件標籤**核取方塊，以避免這種情況。

### 轉移至 Amazon S3
<a name="other-cloud-considerations-s3"></a>

傳輸至 Amazon S3 時，DataSync 無法傳輸大於 5 TB 的物件。DataSync 也只能複製最多 2 KB 的物件中繼資料。

## 建立 DataSync 代理程式
<a name="other-cloud-creating-agent"></a>

只有在其他雲端的儲存系統與 Amazon EFS 或 Amazon FSx 之間傳輸資料，或使用**基本**模式任務時，才需要 DataSync 代理程式。您不需要代理程式，即可在其他雲端的儲存系統與使用**增強**模式的 Amazon S3 之間傳輸資料。本節說明如何在 中的虛擬私有雲端 (VPC) 中的 Amazon EC2 執行個體上部署和啟用代理程式 AWS。

**建立 Amazon EC2 代理程式**

1. [部署 Amazon EC2 代理程式](deploy-agents.md#ec2-deploy-agent)。

1. [選擇代理程式用來與之通訊的服務端點](choose-service-endpoint.md) AWS。

   在這種情況下，我們建議您使用 VPC 服務端點。

1. 設定您的網路以使用 [VPC 服務端點](datasync-network.md#using-vpc-endpoint)。

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

## 為您的其他雲端物件儲存體建立傳輸位置
<a name="creating-other-cloud-location-how-to"></a>

您可以將 DataSync 設定為使用雲端物件儲存做為來源或目的地位置。

**開始之前**  
請確定您知道 [ DataSync 如何存取您的雲端物件儲存](#other-cloud-access)體。您也需要可以連線至雲端物件儲存體的 [DataSync 代理程式](#other-cloud-creating-agent)。

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

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

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

1. 針對**伺服器**，輸入 DataSync 可用來存取雲端物件儲存體的[端點](#other-cloud-permissions)：
   + **Wasabi Cloud Storage** – `S3.region.wasabisys.com`
   + **DigitalOcean Spaces** – `region.digitaloceanspaces.com`
   + **Oracle Cloud Infrastructure Object Storage** – `namespace.compat.objectstorage.region.oraclecloud.com`
   + **Cloudflare R2 Storage** – `account-id.r2.cloudflarestorage.com`
   + **Backblaze B2 Cloud Storage** – `S3.region.backblazeb2.com`
   + **NAVER Cloud Object Storage** – `region.object.ncloudstorage.com`（大多數區域）
   + **Alibaba Cloud Object Storage Service** – `region.aliyuncs.com`
   + **IBM Cloud Object Storage** – `s3.region.cloud-object-storage.appdomain.cloud`
   + **Seagate Lyve Cloud** – `s3.region.lyvecloud.seagate.com`

1. 針對**儲存貯體名稱**，輸入您要從中傳輸資料之物件儲存貯體的名稱。

1. 針對**資料夾**，輸入物件字首。DataSync 只會傳輸具有此字首的物件。

1. 如果您的傳輸需要代理程式，請選擇**使用代理程式**，然後選擇可與雲端物件儲存體連線的 DataSync 代理程式。

1. 展開 **Additional settings** (其他設定)。針對**伺服器通訊協定**，選擇 **HTTPS**。針對**伺服器連接埠**，選擇 **443**。

1. 向下捲動至**身分驗證**區段。確定已選取**需要登入**資料核取方塊，然後提供 DataSync 您的[儲存登入](#other-cloud-credentials)資料。
   + 針對**存取金鑰**，輸入 ID 以存取您的雲端物件儲存體。
   + 針對**私密金鑰**，請提供私密金鑰以存取您的雲端物件儲存體。您可以直接輸入金鑰，或指定包含金鑰的 AWS Secrets Manager 秘密。如需詳細資訊，請參閱[提供儲存位置的登入](https://docs.aws.amazon.com/datasync/latest/userguide/location-credentials.html)資料。

1. （選用） 輸入索引**鍵**和**值**欄位的值以標記位置。

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

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

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

完成為雲端物件儲存體建立 DataSync 位置後，您可以繼續設定傳輸。以下是一些需要考慮的後續步驟：

1. 如果您還沒有，請在[另一個位置建立](transferring-aws-storage.md)您計劃在 中來回傳輸資料的位置 AWS。

1. 了解 DataSync 如何處理物件儲存位置的[中繼資料和特殊檔案](metadata-copied.md)。

1. 設定資料傳輸的方式。例如，您可能只想要[傳輸一部分的資料](filtering.md)。
**重要**  
請務必設定 DataSync 如何正確複製物件標籤。如需詳細資訊，請參閱 [物件標籤](#other-cloud-considerations-object-tags)的考量事項。

1. [開始傳輸](run-task.md)。

 

# 建立傳輸資料的任務
<a name="create-task-how-to"></a>

*任務*說明 AWS DataSync 資料傳輸的位置和方式。任務包含下列項目：
+ [**來源位置**](working-with-locations.md) – DataSync 從中傳輸資料的儲存系統或服務。
+ [**目的地位置**](working-with-locations.md) – DataSync 將資料傳輸到的儲存系統或服務。
+ [**任務選項**](task-options.md) – 設定，例如要傳輸哪些檔案、如何驗證資料、何時執行任務等。
+ [**任務執行**](run-task.md) – 當您執行任務時，稱為*任務執行*。

## 建立您的任務
<a name="create-task-steps"></a>

當您建立 DataSync 任務時，您可以指定來源和目的地位置。您也可以選擇傳輸哪些檔案、中繼資料的處理方式、設定排程等，來自訂任務。

建立任務之前，請確定您了解 [ DataSync 傳輸的運作方式](how-datasync-transfer-works.md#transferring-files)並檢閱[任務配額](datasync-limits.md#task-hard-limits)。

**重要**  
如果您打算在 Amazon S3 位置之間傳輸資料，請在開始之前檢閱 [ DataSync 如何影響您的 S3 請求費用](create-s3-location.md#create-s3-location-s3-requests)和 [DataSync 定價頁面](https://aws.amazon.com/datasync/pricing/)。

### 使用 DataSync 主控台
<a name="create-task-console"></a>

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

1. 請確定您位於 AWS 區域 您計劃傳輸資料的其中一個 中。

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

1. 在**設定來源位置**頁面上，[建立](transferring-data-datasync.md)或選擇來源位置，然後選擇**下一步**。

1. 在**設定目的地位置**頁面上，[建立](transferring-data-datasync.md)或選擇目的地位置，然後選擇**下一步**。

1. （建議） 在**設定設定**頁面上，為您的任務提供您可以記住的名稱。

1. 仍在**設定設定**頁面上時，請選擇您的任務選項或使用預設設定。

   您可能對下列一些選項感興趣：
   + 指定您要使用[的任務模式](choosing-task-mode.md)。
   + 使用[資訊清單](transferring-with-manifest.md)或[篩選條件](filtering.md)指定要傳輸的資料。
   + 設定 如何處理[檔案中繼資料](configure-metadata.md)和[驗證資料完整性](configure-data-verification-options.md)。
   + 使用[任務報告](task-reports.md)或 [Amazon CloudWatch](monitor-datasync.md) 監控您的傳輸。建議您為任務設定某種監控。

   完成後，請選擇 **Next (下一步)**。

1. 檢閱您的任務組態，然後選擇**建立任務**。

您已準備好[開始任務](run-task.md)。

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

[建立 DataSync 來源和目的地位置](transferring-data-datasync.md)後，您就可以建立任務。

1. 在您的 AWS CLI 設定中，請確定您正在使用您 AWS 區域 計劃傳輸資料的其中一個 。

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

   ```
   aws datasync create-task \
     --source-location-arn "arn:aws:datasync:us-east-1:account-id:location/location-id" \
     --destination-location-arn "arn:aws:datasync:us-east-1:account-id:location/location-id" \
     --name "task-name"
   ```

1. 針對 `--source-location-arn`，指定來源位置的 Amazon Resource Name (ARN)。

1. 針對 `--destination-location-arn`，指定目的地位置的 ARN。

   如果您要跨 AWS 區域 或 帳戶轉移，請確定 ARN 包含其他區域或帳戶 ID。

1. （建議） 針對 `--name`，指定您可以記住的任務名稱。

1. 視需要指定其他任務選項。您可能對下列一些選項感興趣：
   + 使用[資訊清單](transferring-with-manifest.md)或[篩選條件](filtering.md)指定要傳輸的資料。
   + 設定 如何處理[檔案中繼資料](configure-metadata.md)和[驗證資料完整性](configure-data-verification-options.md)。
   + 使用[任務報告](task-reports.md)或 [Amazon CloudWatch](monitor-datasync.md) 監控您的傳輸。建議您為任務設定某種監控。

   如需更多選項，請參閱 [create-task](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/datasync/create-task.html)。以下是指定數個選項的範例`create-task`命令：

   ```
   aws datasync create-task \
     --source-location-arn "arn:aws:datasync:us-east-1:account-id:location/location-id" \
     --destination-location-arn "arn:aws:datasync:us-east-1:account-id:location/location-id" \
     --cloud-watch-log-group-arn "arn:aws:logs:region:account-id" \
     --name "task-name" \
     --options VerifyMode=NONE,OverwriteMode=NEVER,Atime=BEST_EFFORT,Mtime=PRESERVE,Uid=INT_VALUE,Gid=INT_VALUE,PreserveDevices=PRESERVE,PosixPermissions=PRESERVE,PreserveDeletedFiles=PRESERVE,TaskQueueing=ENABLED,LogLevel=TRANSFER
   ```

1. 執行 `create-task` 命令。

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

   ```
   { 
       "TaskArn": "arn:aws:datasync:us-east-1:111222333444:task/task-08de6e6697796f026" 
   }
   ```

您已準備好[開始任務](run-task.md)。

## 任務狀態
<a name="understand-task-creation-statuses"></a>

當您建立 DataSync 任務時，您可以檢查其狀態，以查看是否已準備好執行。


| 主控台狀態 | API 狀態 | Description | 
| --- | --- | --- | 
| Available |  `AVAILABLE`  |  任務已準備好開始傳輸資料。  | 
| 執行中 |  `RUNNING`  | 任務執行正在進行中。如需詳細資訊，請參閱[任務執行狀態](run-task.md#understand-task-execution-statuses)。 | 
|  Unavailable  |  `UNAVAILABLE`  |  任務使用的 DataSync 代理程式已離線。如需詳細資訊，請參閱[如果我的客服人員離線，該怎麼辦？](troubleshooting-datasync-agents.md#troubleshoot-agent-offline)  | 
|  佇列  |  `QUEUED`  |  另一個使用相同 DataSync 代理程式的任務執行正在進行中。如需詳細資訊，請參閱[了解您的任務何時排入佇列](run-task.md#queue-task-execution)。  | 

## 透過多項任務分割大型資料集
<a name="multiple-tasks-large-dataset"></a>

如果您要傳輸大型資料集，例如[遷移](datasync-large-migration.md)數百萬個檔案或物件，建議您使用 DataSync 增強模式進行傳輸，這可以傳輸具有幾乎無限個檔案數量的資料集。對於非常大型的資料集，使用數十億個檔案，您應該考慮使用多個 DataSync 任務分割資料集。將資料分割到多個任務 （以及可能的[客服人員](do-i-need-datasync-agent.md#multiple-agents)，視您的位置而定），有助於縮短 DataSync 準備和傳輸資料所需的時間。

考慮您可以跨數個 DataSync 任務分割大型資料集的一些方式：
+ 建立轉移個別資料夾的任務。例如，您可以在來源儲存`/FolderB`中建立兩個分別以 `/FolderA`和 為目標的任務。
+ 使用[資訊](transferring-with-manifest.md)清單或[篩選條件](filtering.md)建立傳輸檔案、物件和資料夾子集的任務。

請注意，此方法可以增加儲存體的 I/O 操作，並影響您的網路頻寬。如需詳細資訊，請參閱[如何使用 DataSync 橫向擴展架構加速資料傳輸](https://aws.amazon.com/blogs/storage/how-to-accelerate-your-data-transfers-with-aws-datasync-scale-out-architectures/)的部落格。

## 使用多個任務分割傳輸的資料
<a name="multiple-tasks-organize-transfer"></a>

如果您要將不同的資料集傳輸到相同的目的地，您可以建立多個任務，以協助分割您傳輸的資料。

例如，如果您要轉移到名為 的相同 S3 儲存貯體`MyBucket`，您可以在對應到每個任務的儲存貯體中建立不同的字首。此方法可防止檔案名稱與資料集衝突，並可讓您為每個字首設定不同的許可。以下是您可以設定此項目的方式：

1. 在`MyBucket`名為 `task1`、 `task2`和 的目的地中建立三個字首`task3`：
   + `s3://MyBucket/task1`
   + `s3://MyBucket/task2`
   + `s3://MyBucket/task3`

1. 建立三個名為 `task1`、 `task2`和 的 DataSync 任務`task3`，該任務會傳輸至 中的對應字首`MyBucket`。

# 為您的資料傳輸選擇任務模式
<a name="choosing-task-mode"></a>

您的 AWS DataSync 任務可以在下列其中一種模式中執行：
+ **增強型模式** – 傳輸幾乎無限數量的檔案或物件，其效能高於基本模式。增強型模式任務透過平行列出、準備、傳輸和驗證資料來最佳化資料傳輸程序。增強型模式目前可用於 Amazon S3 位置之間的傳輸、在沒有代理程式的情況下在 Azure Blob與 Amazon S3 之間傳輸、在其他雲端與 Amazon S3 之間在沒有代理程式的情況下傳輸，以及使用增強型模式代理程式在 NFS 或 SMB 檔案伺服器與 Amazon S3 之間傳輸。
+ **基本模式** – 在 AWS 儲存體和所有其他支援的 DataSync 位置之間傳輸檔案或物件。基本模式任務會受到資料集中檔案、物件和目錄數量[的配額](datasync-limits.md)限制。基本模式會循序準備、傳輸和驗證資料，使其比大多數工作負載的增強模式慢。

## 了解任務模式差異
<a name="task-mode-differences"></a>

下列資訊可協助您判斷要使用的任務模式。


| 功能 | 增強型模式行為 | 基本模式行為 | 
| --- | --- | --- | 
| [效能](how-datasync-transfer-works.md#transferring-files) | DataSync 會同時列出、準備、傳輸和驗證您的資料。為大多數工作負載提供比基本模式更高的效能 （例如傳輸大型物件） | DataSync 會依序準備、傳輸和驗證您的資料。大多數工作負載的效能比增強型模式慢 | 
| DataSync 可在每個任務執行中使用之資料集中的項目數量 |  幾乎無限制的物件數量  |  [配額](datasync-limits.md#task-hard-limits)適用  | 
|  資料傳輸[計數器](transfer-performance-counters.md)和[指標](monitor-datasync.md)  |  比基本模式更多的計數器和指標，例如 DataSync 在來源位置找到的物件數量、每個任務執行期間準備多少物件，以及類似於檔案和物件計數器的資料夾計數器  |  計數器和指標少於增強型模式  | 
|  [日誌](configure-logging.md)  | 結構化日誌 (JSON 格式） | 非結構化日誌 | 
|  [支援的位置](working-with-locations.md)  | 目前用於 Amazon S3 位置之間的傳輸、在沒有代理程式的情況下在 Azure Blob和 Amazon S3 之間傳輸、在沒有代理程式的情況下在其他雲端和 Amazon S3 之間傳輸，以及使用增強模式代理程式在 NFS 或 SMB 檔案伺服器和 Amazon S3 之間傳輸。 |  對於 DataSync 支援的所有位置之間的傳輸  | 
|  [資料驗證選項](configure-data-verification-options.md)  | DataSync 只會驗證傳輸的資料 | DataSync 預設會驗證所有資料 | 
| Cost | 如需詳細資訊，請參閱 [DataSync 定價](https://aws.amazon.com/datasync/pricing)頁面 | 如需詳細資訊，請參閱 [DataSync 定價](https://aws.amazon.com/datasync/pricing)頁面 | 
| 不支援物件標籤的失敗處理 | 對於往返不支援物件標記之位置的雲端儲存傳輸，如果ObjectTags選項未分割或設定為 ，則任務執行會立即失敗PRESERVE。 | 對於往返不支援物件標記的位置的雲端儲存傳輸，任務執行將正常執行，但如果未指定 ObjectTags選項或將 設定為 ，則會針對已標記的物件報告每個物件失敗PRESERVE。 | 

## 選擇任務模式
<a name="choosing-task-mode-how-to"></a>

您只能為 Amazon S3 位置之間的傳輸選擇增強型模式、在沒有代理程式的情況下在 Azure Blob與 Amazon S3 之間傳輸、在其他雲端與 Amazon S3 之間在沒有代理程式的情況下傳輸，以及使用增強型模式代理程式在 NFS 或 SMB 檔案伺服器與 Amazon S3 之間傳輸。否則，您必須使用基本模式。例如，從現場部署 [HDFS 位置](create-hdfs-location.md)到 S3 位置的傳輸需要基本模式。

您的任務選項和效能可能會因您選擇的任務模式而有所不同。建立任務後，您就無法變更任務模式。

**所需的許可**  
若要建立增強型模式任務，搭配 使用 DataSync 的 IAM 角色必須具有 `iam:CreateServiceLinkedRole`許可。  
針對 DataSync 使用者許可，請考慮使用 [AWSDataSyncFullAccess](security-iam-awsmanpol.md#security-iam-awsmanpol-awsdatasyncfullaccess)。這是 AWS 受管政策，可讓使用者完整存取 DataSync，並盡量減少對其相依性的存取。

### 使用 DataSync 主控台
<a name="choosing-task-mode-console"></a>

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

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

1. 設定任務的來源和目的地位置。

   如需詳細資訊，請參閱[我可以將資料傳輸到哪裡 AWS DataSync？](working-with-locations.md)

1. 針對**任務模式**，選擇下列其中一個選項：
   + **增強型**
   + **基本**

   如需詳細資訊，請參閱[了解任務模式差異](#task-mode-differences)。

1. 仍在**設定設定**頁面上時，請選擇其他任務選項或使用預設設定。

   您可能對下列一些選項感興趣：
   + 使用[資訊清單](transferring-with-manifest.md)或[篩選條件](filtering.md)指定要傳輸的資料。
   + 設定 如何處理[檔案中繼資料](configure-metadata.md)和[驗證資料完整性](configure-data-verification-options.md)。
   + 使用[任務報告](task-reports.md)或 [Amazon CloudWatch Logs ](monitor-datasync.md)監控您的傳輸。

   完成後，請選擇 **Next (下一步)**。

1. 檢閱您的任務組態，然後選擇**建立任務**。

### 使用 AWS CLI
<a name="choosing-task-mode-cli"></a>

1. 在您的 AWS CLI 設定中，請確定您使用您 AWS 區域 計劃傳輸資料的其中一個 。

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

   ```
   aws datasync create-task \
     --source-location-arn "arn:aws:datasync:us-east-1:account-id:location/location-id" \
     --destination-location-arn "arn:aws:datasync:us-east-1:account-id:location/location-id" \
     --task-mode "ENHANCED-or-BASIC"
   ```

1. 針對 `--source-location-arn`，指定來源位置的 Amazon Resource Name (ARN)。

1. 針對 `--destination-location-arn`，指定目的地位置的 ARN。

   如果您要跨 AWS 區域 或 帳戶轉移，請確定 ARN 包含其他區域或帳戶 ID。

1. 針對 `--task-mode`，指定 `ENHANCED`或 `BASIC`。

   如需詳細資訊，請參閱[了解任務模式差異](#task-mode-differences)。

1. 視需要指定其他任務選項。您可能對下列一些選項感興趣：
   + 使用[資訊清單](transferring-with-manifest.md)或[篩選條件](filtering.md)指定要傳輸的資料。
   + 設定 如何處理[檔案中繼資料](configure-metadata.md)和[驗證資料完整性](configure-data-verification-options.md)。
   + 使用[任務報告](task-reports.md)或 [Amazon CloudWatch Logs ](monitor-datasync.md)監控您的傳輸。

   如需更多選項，請參閱 [create-task](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/datasync/create-task.html)。以下是指定增強模式和其他幾個選項的範例`create-task`命令：

   ```
   aws datasync create-task \
     --source-location-arn "arn:aws:datasync:us-east-1:account-id:location/location-id" \
     --destination-location-arn "arn:aws:datasync:us-east-1:account-id:location/location-id" \
     --name "task-name" \
     --task-mode "ENHANCED" \
     --options TransferMode=CHANGED,VerifyMode=ONLY_FILES_TRANSFERRED,ObjectTags=PRESERVE,LogLevel=TRANSFER
   ```

1. 執行 `create-task` 命令。

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

   ```
   { 
       "TaskArn": "arn:aws:datasync:us-east-1:111222333444:task/task-08de6e6697796f026" 
   }
   ```

### 使用 DataSync API
<a name="choosing-task-mode-api"></a>

您可以在 [CreateTask](https://docs.aws.amazon.com/datasync/latest/userguide/API_CreateTask.html) 操作中設定 `TaskMode` 參數，以指定 DataSync 任務模式。

# 選擇哪些 AWS DataSync 傳輸
<a name="task-options"></a>

AWS DataSync 可讓您選擇要傳輸的內容，以及您希望資料處理的方式。某些選項包括：
+ 使用資訊清單傳輸檔案或物件的確切清單。
+ 使用篩選條件在傳輸中包含或排除特定類型的資料。
+ 對於重複傳輸，僅移動自上次傳輸以來變更的資料
+ 覆寫目的地位置中的資料，以符合來源位置中的內容。
+ 選擇要在儲存位置之間保留哪些檔案或物件中繼資料。

**Topics**
+ [使用資訊清單傳輸特定檔案或物件](transferring-with-manifest.md)
+ [使用篩選條件傳輸特定檔案、物件和資料夾](filtering.md)
+ [了解 DataSync 如何處理檔案和物件中繼資料](metadata-copied.md)
+ [由 複製的連結和目錄 AWS DataSync](special-files-copied.md)
+ [設定如何處理檔案、物件和中繼資料](configure-metadata.md)

# 使用資訊清單傳輸特定檔案或物件
<a name="transferring-with-manifest"></a>

*資訊清單*是您要 AWS DataSync 傳輸的檔案或物件清單。例如，DataSync 不需要傳輸 S3 儲存貯體中所有可能具有數百萬個物件的內容，而只會傳輸您在資訊清單中列出的物件。

資訊清單類似於[篩選條件](filtering.md)，但可讓您確切識別要傳輸哪些檔案或物件，而不是符合篩選條件模式的資料。

**注意**  
具有增強型模式任務的資訊清單檔案允許的大小上限為 20 GB。

## 建立資訊清單
<a name="transferring-with-manifest-create"></a>

資訊清單是逗號分隔值 (CSV) 格式的檔案，列出您要 DataSync 傳輸之來源位置中的檔案或物件。如果您的來源是 S3 儲存貯體，您也可以包含要傳輸的物件版本。

**Topics**
+ [指導方針](#transferring-with-manifest-guidelines)
+ [範例資訊清單](#manifest-examples)

### 指導方針
<a name="transferring-with-manifest-guidelines"></a>

使用這些準則來協助您建立可搭配 DataSync 使用的資訊清單。

------
#### [ Do ]
+ 指定您要傳輸之每個檔案或物件的完整路徑。

  您無法僅指定意圖轉移其所有內容的目錄或資料夾。對於這些情況，請考慮使用[包含篩選條件](filtering.md)而非資訊清單。
+ 請確定每個檔案或物件路徑與您在設定 DataSync 來源位置時指定的掛載路徑、資料夾、目錄或字首相關。

  例如，假設您使用名為 的字首[來設定 S3 位置](create-s3-location.md#create-s3-location-how-to)`photos`。該字首包含您要傳輸`my-picture.png`的物件。在資訊清單中，您接著只需要指定物件 (`my-picture.png`) 而非字首和物件 (`photos/my-picture.png`)。
+ 若要指定 Amazon S3 物件版本 IDs，請使用逗號分隔物件的路徑和版本 ID。

  下列範例顯示包含兩個欄位的資訊清單項目。第一個欄位包含名為 的物件`picture1.png`。第二個欄位以逗號分隔，並包含 的版本 ID`111111`：

  ```
  picture1.png,111111
  ```
+ 在下列情況下使用引號：
  + 當路徑包含特殊字元 （逗號、引號和行尾） 時：

    `"filename,with,commas.txt"`
  + 當路徑跨越多行時：

    ```
    "this
    is
    a
    filename.txt"
    ```
  + 當路徑包含引號時：

    `filename""with""quotes.txt`

    這表示名為 的路徑`filename"with"quotes.txt`。

  這些引號規則也適用於版本 ID 欄位。一般而言，如果資訊清單欄位有引號，您必須使用另一個引號逸出它。
+ 使用新行分隔每個檔案或物件項目。

  您可以使用 Linux （換行或換行） 或 Windows （換行後接換行） 樣式換行來分隔行。
+ 儲存資訊清單 （例如， `my-manifest.csv`或 `my-manifest.txt`)。
+ 將資訊清單上傳至 [DataSync 可存取](#transferring-with-manifest-access)的 S3 儲存貯體。

  此儲存貯體不必位於您使用 DataSync 的相同 AWS 區域 或 帳戶中。

------
#### [ Don't ]
+ 僅指定旨在傳輸其所有內容的目錄或資料夾。

  資訊清單只能包含您要傳輸之檔案或物件的完整路徑。如果您將來源位置設定為使用特定掛載路徑、資料夾、目錄或字首，則不需要將其包含在資訊清單中。
+ 指定超過 4，096 個字元的檔案或物件路徑。
+ 指定超過 1，024 個位元組的檔案路徑、物件路徑或 Amazon S3 物件版本 ID。
+ 指定重複的檔案或物件路徑。
+ 如果您的來源位置不是 S3 儲存貯體，請包含物件版本 ID。
+ 在資訊清單項目中包含兩個以上的欄位。

  項目只能包含檔案或物件路徑，以及 （如適用） Amazon S3 物件版本 ID。
+ 包含不符合 UTF-8 編碼的字元。
+ 在引號外的輸入欄位中包含意外空格。

------

### 範例資訊清單
<a name="manifest-examples"></a>

使用這些範例來協助您建立可搭配 DataSync 使用的資訊清單。

**具有完整檔案或物件路徑的資訊清單**  
下列範例顯示資訊清單，其中包含要傳輸的完整檔案或物件路徑。  

```
photos/picture1.png
photos/picture2.png
photos/picture3.png
```

**僅具有物件索引鍵的資訊清單**  
下列範例顯示資訊清單，其中包含要從 Amazon S3 來源位置傳輸的物件。由於[位置是以](create-s3-location.md#create-s3-location-how-to)字首 設定`photos`，因此只會指定物件金鑰。  

```
picture1.png
picture2.png
picture3.png
```

**具有物件路徑和版本 IDs清單**  
下列資訊清單範例中的前兩個項目包含要傳輸的特定 Amazon S3 物件版本。  

```
photos/picture1.png,111111
photos/picture2.png,121212
photos/picture3.png
```

**帶有 UTF-8 字元的資訊清單**  
下列範例顯示包含 UTF-8 字元的檔案資訊清單。  

```
documents/résumé1.pdf
documents/résumé2.pdf
documents/résumé3.pdf
```

## 提供對資訊清單的 DataSync 存取權
<a name="transferring-with-manifest-access"></a>

您需要一個 AWS Identity and Access Management (IAM) 角色，讓 DataSync 存取 S3 儲存貯體中的資訊清單。此角色必須包含下列許可：
+ `s3:GetObject`
+ `s3:GetObjectVersion`

您可以在 DataSync 主控台中自動產生此角色，或自行建立角色。

**注意**  
如果您的資訊清單位於不同的 AWS 帳戶中，您必須手動建立此角色。

### 自動建立 IAM 角色
<a name="creating-manfiest-role-automatically"></a>

在主控台中建立或啟動傳輸任務時，DataSync 可以使用存取資訊清單所需的 `s3:GetObject`和 `s3:GetObjectVersion`許可，為您建立 IAM 角色。

**自動建立角色所需的許可**  
若要自動建立角色，請確定您用來存取 DataSync 主控台的角色具有下列許可：  
+ `iam:CreateRole`
+ `iam:CreatePolicy`
+ `iam:AttachRolePolicy`

### 建立 IAM 角色 （相同帳戶）
<a name="creating-manfiest-role-automatically-same-account"></a>

您可以手動建立 DataSync 存取資訊清單所需的 IAM 角色。下列指示假設您使用 DataSync AWS 帳戶 的所在位置與資訊清單的 S3 儲存貯體所在的位置相同。

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** 索引標籤，並將下列範例政策貼到政策編輯器中：

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [{
           "Sid": "DataSyncAccessManifest",
           "Effect": "Allow",
           "Action": [
               "s3:GetObject",
               "s3:GetObjectVersion"
           ],
           "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/my-manifest.csv"
       }]
   }
   ```

------

1. 在您剛貼上的範例政策中，將下列值取代為您自己的值：

   1. `amzn-s3-demo-bucket` 將 取代為託管資訊清單的 S3 儲存貯體名稱。

   1. `my-manifest.csv` 將 取代為您資訊清單的檔案名稱。

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": "555555555555"
                  },
                  "ArnLike": {
                  "aws:SourceArn": "arn:aws:datasync:us-east-1:555555555555:*"
                  }
              }
            }
        ]
      }
      ```

------
      + `account-id` 使用 DataSync 所在的 AWS 帳戶 ID 取代每個執行個體。
      + `region` 將 取代為您使用 DataSync AWS 區域 的 。

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

您已建立允許 DataSync 存取資訊清單的 IAM 角色。在[建立](#manifest-creating-task)或[啟動](#manifest-starting-task)任務時指定此角色。

### 建立 IAM 角色 （不同的帳戶）
<a name="creating-manfiest-role-automatically-different-account"></a>

如果您的資訊清單位於屬於不同 的 S3 儲存貯體中 AWS 帳戶，您必須手動建立 DataSync 用來存取資訊清單的 IAM 角色。然後，在 AWS 帳戶 資訊清單所在的 中，您需要在 S3 儲存貯體政策中包含 角色。

#### 建立 角色
<a name="creating-manfiest-role-automatically-different-account-1"></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** 索引標籤，並將下列範例政策貼到政策編輯器中：

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [{
           "Sid": "DataSyncAccessManifest",
           "Effect": "Allow",
           "Action": [
               "s3:GetObject",
               "s3:GetObjectVersion"
           ],
           "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/my-manifest.csv"
       }]
   }
   ```

------

1. 在您剛貼上的範例政策中，將下列值取代為您自己的值：

   1. `amzn-s3-demo-bucket` 將 取代為託管資訊清單的 S3 儲存貯體名稱。

   1. `my-manifest.csv` 將 取代為您資訊清單的檔案名稱。

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": "000000000000"
                  },
                  "ArnLike": {
                  "aws:SourceArn": "arn:aws:datasync:us-east-1:000000000000:*"
                  }
              }
           }
        ]
      }
      ```

------
      + `account-id` 使用 DataSync 所在的 AWS 帳戶 ID 取代 的每個執行個體。
      + `region` 將 取代為您使用 DataSync AWS 區域 的 。

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

您已建立可以包含在 S3 儲存貯體政策中的 IAM 角色。

#### 使用 角色更新您的 S3 儲存貯體政策
<a name="creating-manfiest-role-automatically-different-account-2"></a>

建立 IAM 角色之後，您必須將其新增至 AWS 帳戶 資訊清單所在的另一個 中的 S3 儲存貯體政策。

1. 在 中 AWS 管理主控台，使用您 Manfiest 的 S3 儲存貯體切換到帳戶。

1. 開啟位於 [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/) 的 Amazon S3 主控台。

1. 在儲存貯體的詳細資訊頁面上，選擇**許可**索引標籤。

1. 在**儲存貯體政策**下，選擇**編輯**並執行下列動作來修改 S3 儲存貯體政策：

   1. 更新編輯器中的內容，以包含下列政策陳述式：

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

****  

      ```
      {
        "Version":"2012-10-17",		 	 	 
        "Statement": [
          {
            "Sid": "DataSyncAccessManifestBucket",
            "Effect": "Allow",
            "Action": [
              "s3:GetObject",
              "s3:GetObjectVersion"
            ],
            "Resource": "arn:aws:s3:::amzn-s3-demo-bucket"
          }
        ]
      }
      ```

------

   1. `account-id` 將 取代為您使用 DataSync 之帳戶的 AWS 帳戶 ID。

   1. `datasync-role` 將 取代為您剛建立的 IAM 角色，以允許 DataSync 存取您的資訊清單。

   1. `amzn-s3-demo-bucket` 將 取代為在另一個 中託管資訊清單的 S3 儲存貯體名稱 AWS 帳戶。

1. 選擇**儲存變更**。

您已建立 IAM 角色，允許 DataSync 存取您在其他帳戶中的資訊清單。在[建立](#manifest-creating-task)或[啟動](#manifest-starting-task)任務時指定此角色。

## 在建立任務時指定資訊清單
<a name="manifest-creating-task"></a>

您可以指定您要 DataSync 在建立任務時使用的資訊清單。

### 使用 DataSync 主控台
<a name="manifest-creating-task-console"></a>

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

1. 在左側導覽窗格中，選擇**任務**，然後選擇**建立任務**。

1. 設定任務的來源和目的地位置。

   如需詳細資訊，請參閱[我可以將資料傳輸到哪裡 AWS DataSync？](working-with-locations.md)

1. 針對**要掃描的內容**，選擇**特定檔案、物件和資料夾**，然後選取**使用資訊清單**。

1. 針對 **S3 URI**，選擇託管在 S3 儲存貯體上的資訊清單。

   或者，您可以輸入 URI （例如，`s3://bucket/prefix/my-manifest.csv`)。

1. 針對**物件版本**，選擇您希望 DataSync 使用的資訊清單版本。

   根據預設，DataSync 會使用物件的最新版本。

1. 對於**資訊清單存取角色**，請執行下列其中一項操作：
   + 選擇**自動產生** DataSync，以自動建立具有存取 S3 儲存貯體中資訊清單所需許可的 IAM 角色。
   + 選擇可存取資訊清單的現有 IAM 角色。

   如需詳細資訊，請參閱[提供對資訊清單的 DataSync 存取權](#transferring-with-manifest-access)。

1. 設定您需要的任何其他任務設定，然後選擇**下一步**。

1. 選擇 **Create task (建立任務)**。

### 使用 AWS CLI
<a name="manifest-creating-task-cli"></a>

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

   ```
   aws datasync create-task \
     --source-location-arn arn:aws:datasync:us-east-1:123456789012:location/loc-12345678abcdefgh \
     --destination-location-arn arn:aws:datasync:us-east-1:123456789012:location/loc-abcdefgh12345678 \
     --manifest-config {
         "Source": {
           "S3": {
               "ManifestObjectPath": "s3-object-key-of-manifest",
               "BucketAccessRoleArn": "bucket-iam-role",
               "S3BucketArn": "amzn-s3-demo-bucket-arn",
               "ManifestObjectVersionId": "manifest-version-to-use" 
           }
         }
     }
   ```

1. 針對 `--source-location-arn` 參數，指定您要從中傳輸資料之位置的 Amazon Resource Name (ARN)。

1. 針對 `--destination-location-arn` 參數，指定您要傳輸資料之位置的 ARN。

1. 針對 `--manifest-config` 參數，請執行下列動作：
   + `ManifestObjectPath` – 指定資訊清單的 S3 物件金鑰。
   + `BucketAccessRoleArn` – 指定允許 DataSync 存取 S3 儲存貯體中資訊清單的 IAM 角色。

     如需詳細資訊，請參閱[提供對資訊清單的 DataSync 存取權](#transferring-with-manifest-access)。
   + `S3BucketArn` – 指定託管資訊清單之 S3 儲存貯體的 ARN。
   + `ManifestObjectVersionId` – 指定您希望 DataSync 使用的資訊清單版本。

     根據預設，DataSync 會使用物件的最新版本。

1. 執行 `create-task`命令來建立您的任務。

當您準備好時，可以[開始傳輸任務](run-task.md)。

## 在開始任務時指定資訊清單
<a name="manifest-starting-task"></a>

您可以指定您希望 DataSync 在執行任務時使用的資訊清單。

### 使用 DataSync 主控台
<a name="manifest-starting-task-console"></a>

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

1. 在左側導覽窗格中，選擇**任務**，然後選擇您要開始的任務。

1. 在任務概觀頁面中，選擇**開始**，然後選擇**從覆寫選項開始**。

1. 針對**要掃描的內容**，選擇**特定檔案、物件和資料夾**，然後選取**使用資訊清單**。

1. 針對 **S3 URI**，選擇託管在 S3 儲存貯體上的資訊清單。

   或者，您可以輸入 URI （例如，`s3://bucket/prefix/my-manifest.csv`)。

1. 針對**物件版本**，選擇您希望 DataSync 使用的資訊清單版本。

   根據預設，DataSync 會使用物件的最新版本。

1. 對於**資訊清單存取角色**，請執行下列其中一項操作：
   + 選擇**自動產生** DataSync 以自動建立 IAM 角色，以存取 S3 儲存貯體中的資訊清單。
   + 選擇可存取資訊清單的現有 IAM 角色。

   如需詳細資訊，請參閱[提供對資訊清單的 DataSync 存取權](#transferring-with-manifest-access)。

1. 選擇**開始**以開始轉移。

### 使用 AWS CLI
<a name="manifest-starting-task-cli"></a>

1. 複製下列`start-task-execution`命令：

   ```
   aws datasync start-task-execution \
     --task-arn arn:aws:datasync:us-east-1:123456789012:task/task-12345678abcdefgh \
     --manifest-config {
         "Source": {
           "S3": {
               "ManifestObjectPath": "s3-object-key-of-manifest",
               "BucketAccessRoleArn": "bucket-iam-role",
               "S3BucketArn": "amzn-s3-demo-bucket-arn",
               "ManifestObjectVersionId": "manifest-version-to-use" 
           }
         }
     }
   ```

1. 針對 `--task-arn` 參數，指定您要啟動之任務的 Amazon Resource Name (ARN)。

1. 針對 `--manifest-config` 參數，請執行下列動作：
   + `ManifestObjectPath` – 指定資訊清單的 S3 物件金鑰。
   + `BucketAccessRoleArn` – 指定允許 DataSync 存取 S3 儲存貯體中資訊清單的 IAM 角色。

     如需詳細資訊，請參閱[提供對資訊清單的 DataSync 存取權](#transferring-with-manifest-access)。
   + `S3BucketArn` – 指定託管資訊清單之 S3 儲存貯體的 ARN。
   + `ManifestObjectVersionId` – 指定您希望 DataSync 使用的資訊清單版本。

     根據預設，DataSync 會使用物件的最新版本。

1. 執行 `start-task-execution`命令以開始傳輸。

## 限制
<a name="transferring-with-manifest-limitations"></a>
+ 您無法將資訊清單與[篩選條件](filtering.md)一起使用。
+ 您無法只指定旨在傳輸其所有內容的目錄或資料夾。對於這些情況，請考慮使用[包含篩選條件](filtering.md)而非資訊清單。
+ 您無法使用**保留已刪除的檔案**任務選項 (`PreserveDeletedFiles`在 [API](https://docs.aws.amazon.com/datasync/latest/userguide/API_Options.html#DataSync-Type-Options-PreserveDeletedFiles) 中） 來[維護目的地中不在來源中的檔案或物件](configure-metadata.md)。DataSync 只會傳輸資訊清單中列出的內容，而不會刪除目的地中的任何內容。

## 疑難排解
<a name="manifests-troubleshooting"></a>

**與 `HeadObject`或 相關的錯誤 `GetObjectTagging`**  
如果您要從 S3 儲存貯體傳輸具有特定版本 IDs物件，您可能會看到與 `HeadObject`或 相關的錯誤`GetObjectTagging`。例如，以下是與 相關的錯誤`GetObjectTagging`：

```
[WARN] Failed to read metadata for file /picture1.png (versionId: 111111): S3 Get Object Tagging Failed
[ERROR] S3 Exception: op=GetObjectTagging photos/picture1.png, code=403, type=15, exception=AccessDenied, 
msg=Access Denied req-hdrs: content-type=application/xml, x-amz-api-version=2006-03-01 rsp-hdrs: content-type=application/xml, 
date=Wed, 07 Feb 2024 20:16:14 GMT, server=AmazonS3, transfer-encoding=chunked, 
x-amz-id-2=IOWQ4fDEXAMPLEQM+ey7N9WgVhSnQ6JEXAMPLEZb7hSQDASK+Jd1vEXAMPLEa3Km, x-amz-request-id=79104EXAMPLEB723
```

如果您看到這些錯誤，請驗證 DataSync 用來存取 S3 來源位置的 IAM 角色具有下列許可：
+ `s3:GetObjectVersion`
+ `s3:GetObjectVersionTagging`

如果您需要使用這些許可更新角色，請參閱 [為 DataSync 建立 IAM 角色以存取您的 Amazon S3 位置](create-s3-location.md#create-role-manually)。

**錯誤：`ManifestFileDoesNotExist`**  
此錯誤表示在來源找不到資訊清單內的檔案。檢閱建立資訊清單的[指導方針](#transferring-with-manifest-guidelines)。

## 後續步驟
<a name="manifests-next-steps"></a>

如果您尚未開始任務，請[啟動您的任務](run-task.md)。否則，請[監控任務的活動](monitoring-overview.md)。

# 使用篩選條件傳輸特定檔案、物件和資料夾
<a name="filtering"></a>

AWS DataSync 可讓您套用篩選條件，以在傳輸中包含或排除來源位置的資料。例如，如果您不想傳輸結尾為 的暫存檔案`.tmp`，您可以建立排除篩選條件，讓這些檔案不會前往目的地位置。

您可以使用排除的組合，並在相同的傳輸任務中包含篩選條件。如果您修改任務的篩選條件，這些變更會在您下次執行任務時套用。

## 篩選詞彙、定義和語法
<a name="filter-overview"></a>

熟悉與 DataSync 篩選相關的概念：

**篩選條件 **  
組成特定篩選條件的整個字串 （例如 `*.tmp``|``*.temp`或 `/folderA|/folderB`)。  
篩選條件是由使用管道 (\$1) 分隔的模式組成。當您在 DataSync 主控台中新增模式時，不需要分隔符號，因為您分別新增每個模式。  
篩選條件區分大小寫。例如，篩選條件`/folderA`不符合 `/FolderA`。

**模式**  
篩選條件的模式。例如， `*.tmp` 是屬於`*.tmp``|``*.temp`篩選條件的模式。如果您的篩選條件有多個模式，您可以使用管道 (\$1) 分隔每個模式。

**資料夾**  
+ 所有篩選條件皆相對於來源位置路徑。例如，假設您在建立來源位置和任務時將 指定`/my_source/`為來源路徑，並指定包含篩選條件 `/transfer_this/`。在此情況下，DataSync 只會傳輸目錄`/my_source/transfer_this/`及其內容。
+ 若要直接在來源位置下方指定資料夾，請在資料夾名稱前面包含正斜線 (/)。在之前的範例中，模式使用 `/transfer_this` 而非 `transfer_this`。
+ DataSync 會以相同方式解譯下列模式，並同時符合資料夾及其內容。

  `/dir` 

  `/dir/`
+ 當您在 Amazon S3 儲存貯體之間傳輸資料時，DataSync 會將物件金鑰中的`/`字元視為檔案系統上資料夾的同等項目。

**特殊字元**  
以下是可用於篩選條件的特殊字元。      
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/datasync/latest/userguide/filtering.html)

## 範例篩選條件
<a name="sample-filters"></a>

下列範例顯示您可以搭配 DataSync 使用的常見篩選條件。

**注意**  
您可以在篩選條件中使用多少字元有限制。如需詳細資訊，請參閱[DataSync 配額](datasync-limits.md#task-hard-limits)。

**從來源位置排除一些資料夾**  
在某些情況下，您想要排除來源位置中的資料夾，以免它們複製到目的地位置。例如，如果您有臨時work-in-progress資料夾，您可以使用如下篩選條件：

`*/.temp`

若要排除具有類似內容 （例如 `/reports2021`和 `/reports2022)`) 的資料夾，您可以使用排除篩選條件，如下所示：

`/reports*`

若要排除檔案階層中任何層級的資料夾，您可以使用如下所示的排除篩選條件。

`*/folder-to-exclude-1`\$1`*/folder-to-exclude-2`

若要排除來源位置最上層的資料夾，您可以使用排除篩選條件，如下所示。

`/top-level-folder-to-exclude-1`\$1`/top-level-folder-to-exclude-2`

**包含來源位置上的資料夾子集**  
在某些情況下，您的來源位置可能是大型共用，而且您需要在根目錄下轉移一部分的資料夾。若要包含特定資料夾，請啟動任務執行並包含篩選條件如下。

`/folder-to-transfer/*`

**排除特定檔案類型**  
若要排除傳輸特定檔案類型，您可以建立任務執行並包含排除篩選條件，例如 `*.temp`。

**傳輸您指定的個別檔案**  
若要傳輸個別檔案的清單，請使用包含篩選條件的 啟動任務執行，如下所示："`/folder/subfolder/file1.txt`\$1`/folder/subfolder/file2.txt`\$1`/folder/subfolder/file2.txt`"

## 建立包含篩選條件
<a name="include-filters"></a>

包含篩選條件可定義您希望 DataSync 傳輸的檔案、物件和資料夾。您可以在建立、編輯或啟動任務時設定包含篩選條件。

DataSync 只會掃描和傳輸符合包含篩選條件的檔案和資料夾。例如，若要包含來源資料夾的子集，您可以指定 `/important_folder_1`\$1`/important_folder_2`。

**注意**  
包含篩選條件僅支援萬用字元 (\$1) 字元做為模式中最右側的字元。例如，支援 `/documents*`\$1`/code*`，但`*.txt`不支援。

### 使用 DataSync 主控台
<a name="include-filters-console"></a>

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

1. 在左側導覽窗格中，選擇**任務**，然後選擇**建立任務**。

1. 設定任務的來源和目的地位置。

   如需詳細資訊，請參閱[我可以將資料傳輸到哪裡 AWS DataSync？](working-with-locations.md)

1. 針對**要掃描的內容**，選擇**特定檔案、物件和資料夾**，然後選取**使用篩選條件**。

1. 對於**包含**，輸入您的篩選條件 （例如，`/important_folders`要包含重要目錄），然後選擇**新增模式**。

1. 視需要新增其他包含篩選條件。

### 使用 AWS CLI
<a name="include-filters-cli"></a>

使用 時 AWS CLI，如果您有多個篩選條件，則必須在篩選條件周圍使用單引號 (`'`)，並使用 \$1 （管道） 做為分隔符號。

下列範例會在執行 `create-task`命令`/important_folder2`時指定兩個包含篩選條件 `/important_folder1`和 。

```
aws datasync create-task
   --source-location-arn 'arn:aws:datasync:region:account-id:location/location-id' \
   --destination-location-arn 'arn:aws:datasync:region:account-id:location/location-id' \
   --includes FilterType=SIMPLE_PATTERN,Value='/important_folder1|/important_folder2'
```

## 建立排除篩選條件
<a name="exclude-filters"></a>

排除篩選條件會定義您不希望 DataSync 傳輸之來源位置中的檔案、物件和資料夾。您可以在建立、編輯或啟動任務時設定這些篩選條件。

**Topics**
+ [預設排除的資料](#directories-ignored-during-transfers)

### 預設排除的資料
<a name="directories-ignored-during-transfers"></a>

DataSync 會自動排除某些資料傳輸：
+ `.snapshot` – DataSync 會忽略結尾為 的任何路徑`.snapshot`，通常用於儲存系統檔案或目錄的point-in-time快照。
+ `/.aws-datasync` 和 `/.awssync` – DataSync 會在您的位置建立這些資料夾，以協助加速傳輸。
+ `/.zfs` – 您可能會看到此資料夾搭配 Amazon FSx for OpenZFS 位置。

### 使用 DataSync 主控台
<a name="adding-exclude-filters"></a>

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

1. 在左側導覽窗格中，選擇**任務**，然後選擇**建立任務**。

1. 設定任務的來源和目的地位置。

   如需詳細資訊，請參閱[我可以將資料傳輸到哪裡 AWS DataSync？](working-with-locations.md)

1. 對於**排除**，輸入您的篩選條件 （例如`*/temp`，要排除暫時資料夾），然後選擇**新增模式**。

1. 視需要新增其他排除篩選條件。

1. 如有需要，請新增[包含篩選條件](#include-filters)。

### 使用 AWS CLI
<a name="adding-exclude-filters-cli"></a>

使用 時 AWS CLI，如果您有多個篩選條件，則必須在篩選條件周圍使用單引號 (`'`)，並使用 \$1 （管道） 做為分隔符號。

下列範例會在執行 `create-task`命令`*/tmp`時指定兩個排除篩選條件`*/temp`和 。

```
aws datasync create-task \
   --source-location-arn 'arn:aws:datasync:region:account-id:location/location-id' \
   --destination-location-arn 'arn:aws:datasync:region:account-id:location/location-id' \
   --excludes FilterType=SIMPLE_PATTERN,Value='*/temp|*/tmp'
```

# 了解 DataSync 如何處理檔案和物件中繼資料
<a name="metadata-copied"></a>

AWS DataSync 可以在資料傳輸期間保留您的檔案或物件中繼資料。複製中繼資料的方式取決於您的傳輸位置，以及這些位置是否使用類似的中繼資料類型。

## 系統層級中繼資料
<a name="metadata-copied-system-level"></a>

一般而言，DataSync 不會複製系統層級中繼資料。例如，從 SMB 檔案伺服器傳輸時，您在檔案系統層級設定的許可不會複製到目的地儲存系統。

有例外狀況。在 Amazon S3 和其他物件儲存體之間傳輸時，DataSync 會複製一些[系統定義的物件中繼資料](#metadata-copied-between-object-s3)。

## 在 Amazon S3 傳輸中複製的中繼資料
<a name="metadata-copied-amazon-s3"></a>

下表說明當傳輸涉及 Amazon S3 位置時DataSync 可以複製哪些中繼資料。

**Topics**
+ [至 Amazon S3](#metadata-copied-to-s3)
+ [Amazon S3 與其他物件儲存體之間](#metadata-copied-between-object-s3)
+ [Amazon S3 和 HDFS 之間](#metadata-copied-between-hdfs-s3)

### 至 Amazon S3
<a name="metadata-copied-to-s3"></a>


| 從其中一個位置複製時 | 前往此位置 | DataSync 可以複製 | 
| --- | --- | --- | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/datasync/latest/userguide/metadata-copied.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/datasync/latest/userguide/metadata-copied.html)  |  下列為 Amazon S3 使用者中繼資料： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/datasync/latest/userguide/metadata-copied.html) 存放在 Amazon S3 使用者中繼資料中的檔案中繼資料可與使用 的檔案閘道上的 NFS 共用互通 AWS Storage Gateway。檔案閘道可讓您從內部部署網路存取由 DataSync 複製到 Amazon S3 的資料。此中繼資料也可以與 FSx for Lustre 互通。 當 DataSync 將包含此中繼資料的物件複製回 NFS 伺服器時，會還原檔案中繼資料。還原中繼資料需要將提升的許可授予 NFS 伺服器。如需詳細資訊，請參閱[使用 NFS 檔案伺服器設定 AWS DataSync 傳輸](create-nfs-location.md)。  | 

### Amazon S3 與其他物件儲存體之間
<a name="metadata-copied-between-object-s3"></a>

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/datasync/latest/userguide/metadata-copied.html)

### Amazon S3 和 HDFS 之間
<a name="metadata-copied-between-hdfs-s3"></a>


| 在這些位置之間複製時 | DataSync 可以複製 | 
| --- | --- | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/datasync/latest/userguide/metadata-copied.html)  | 下列為 Amazon S3 使用者中繼資料：[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/datasync/latest/userguide/metadata-copied.html)HDFS 使用字串來存放檔案和資料夾使用者和群組擁有權，而不是數字識別符，例如 UIDs和 GIDs。 | 

## 在 NFS 傳輸中複製的中繼資料
<a name="metadata-copied-nfs"></a>

下表說明 DataSync 可以在使用網路檔案系統 (NFS) 的位置之間複製哪些中繼資料。


| 在這些位置之間複製時 | DataSync 可以複製 | 
| --- | --- | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/datasync/latest/userguide/metadata-copied.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/datasync/latest/userguide/metadata-copied.html)  | 

## 在 SMB 傳輸中複製的中繼資料
<a name="metadata-copied-smb"></a>

下表說明 DataSync 可以在使用伺服器訊息區塊 (SMB) 的位置之間複製哪些中繼資料。


| 在這些位置之間複製時 | DataSync 可以複製 | 
| --- | --- | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/datasync/latest/userguide/metadata-copied.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/datasync/latest/userguide/metadata-copied.html)  | 

## 在其他傳輸案例中複製的中繼資料
<a name="metadata-copied-different"></a>

DataSync 會在這些儲存系統之間複製 （其中大部分具有不同的中繼資料結構） 時，以下列方式處理中繼資料。

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/datasync/latest/userguide/metadata-copied.html)

## 了解 DataSync 何時以及如何套用預設 POSIX 中繼資料
<a name="POSIX-metadata"></a>

DataSync 會在下列情況下套用預設 POSIX 中繼資料：
+ 當您傳輸的來源和目的地位置沒有類似的中繼資料結構時
+ 當來源位置缺少中繼資料時

下表說明 DataSync 如何在這些類型的傳輸期間套用預設 POSIX 中繼資料：


| 來源 | 目標 | 檔案許可 | 資料夾許可 | UID | GID | 
| --- | --- | --- | --- | --- | --- | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/datasync/latest/userguide/metadata-copied.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/datasync/latest/userguide/metadata-copied.html)  |  0755  | 0755 |  65534  |  65534  | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/datasync/latest/userguide/metadata-copied.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/datasync/latest/userguide/metadata-copied.html)  |  0644  |  0755  |  65534  |  65534  | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/datasync/latest/userguide/metadata-copied.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/datasync/latest/userguide/metadata-copied.html)  |  0644  |  0755  |  65534  |  65534  | 

1 如果物件沒有之前由 DataSync 套用的中繼資料。

# 由 複製的連結和目錄 AWS DataSync
<a name="special-files-copied"></a>

AWS DataSync 會根據傳輸所涉及的儲存位置，以不同的方式處理硬連結、符號連結和目錄。

## 硬性連結
<a name="special-files-copied-hard-links"></a>

以下是 DataSync 在一些常見傳輸案例中處理硬連結的方式：
+ **在 NFS 檔案伺服器、FSx for Lustre、FSx for OpenZFS、FSx for ONTAP （使用 NFS) 和 Amazon EFS 之間傳輸**時，會保留硬連結。
+ **傳輸至 Amazon S3 時**，硬連結參考的每個基礎檔案只會傳輸一次。在增量傳輸期間，會在 S3 儲存貯體中建立個別的物件。如果硬連結在 Amazon S3 中保持不變，則在傳輸至 NFS 檔案伺服器、FSx for Lustre、FSx for OpenZFS、FSx for ONTAP （使用 NFS) 或 Amazon EFS 檔案系統時，會正確還原。
+ **傳輸至 時Microsoft Azure Blob Storage**，硬連結參考的每個基礎檔案只會傳輸一次。在增量傳輸期間，如果來源中有新的參考，則會在 Blob 儲存體中建立個別的物件。從 傳輸時Azure Blob Storage，DataSync 會像傳輸個別檔案一樣傳輸硬連結。
+ **在 SMB 檔案伺服器、FSx for Windows File Server 和 FSx for ONTAP （使用 SMB) 之間傳輸**時，不支援硬連結。如果 DataSync 在這些情況下遇到硬連結，則傳輸任務會完成並顯示錯誤。若要進一步了解，請檢查您的 CloudWatch 日誌。
+ **轉移至 HDFS 時**，不支援硬連結。CloudWatch 日誌會將這些連結顯示為略過。

## 符號連結
<a name="special-files-copied-symbolic-links"></a>

以下是 DataSync 在一些常見傳輸案例中處理符號連結的方式：
+ **在 NFS 檔案伺服器、FSx for Lustre、FSx for OpenZFS、FSx for ONTAP （使用 NFS) 和 Amazon EFS 之間傳輸**時，會保留符號連結。
+ **轉移至 Amazon S3 時**，連結目標路徑會存放在 Amazon S3 物件中。在傳輸至 NFS 檔案伺服器、FSx for Lustre、FSx for OpenZFS、FSx for ONTAP 或 Amazon EFS 檔案系統時，連結會正確還原。
+ **轉移至 時Azure Blob Storage**，不支援符號連結。CloudWatch 日誌會將這些連結顯示為略過。
+ **在 SMB 檔案伺服器、FSx for Windows File Server 和 FSx for ONTAP （使用 SMB) 之間傳輸**時，不支援符號連結。DataSync 不會傳輸符號連結本身，而是傳輸符號連結參考的檔案。若要識別重複檔案並使用符號連結重複資料刪除，您必須在目的地檔案系統上設定重複資料刪除。
+ **轉移至 HDFS 時**，不支援符號連結。CloudWatch 日誌會將這些連結顯示為略過。

## 目錄
<a name="special-files-copied-directories"></a>

一般而言，DataSync 會在儲存系統之間傳輸時保留目錄。以下情況並非如此：
+ **轉移至 Amazon S3 時**，目錄會呈現為具有字首並以斜線 () 結尾的空白物件`/`。
+ **Azure Blob Storage 在沒有階層命名空間的情況下轉移到 時**，目錄不存在。目錄看起來只是物件名稱的一部分。

# 設定如何處理檔案、物件和中繼資料
<a name="configure-metadata"></a>

您可以設定 在位置之間傳輸時 AWS DataSync ， 如何處理您的檔案、物件及其相關聯的中繼資料。

例如，透過經常性傳輸，您可能想要使用來源的變更覆寫目的地中的檔案，以保持位置同步。您可以複製屬性，例如檔案和資料夾的 POSIX 許可、與物件相關聯的標籤，以及存取控制清單 ACLs)。

## 傳輸模式選項
<a name="task-option-transfer-mode"></a>

您可以設定 DataSync 是否在每次執行任務時，只傳輸初始複本後變更的資料 （包括中繼資料） 或所有資料。如果您打算定期轉移，您可能只想轉移自上次任務執行以來變更的內容。


| 主控台中的選項 | API 中的選項 | Description | 
| --- | --- | --- | 
|  **僅傳輸已變更的資料**  |  [TransferMode](https://docs.aws.amazon.com/datasync/latest/userguide/API_Options.html#DataSync-Type-Options-TransferMode) 設定為 `CHANGED`  | 初始完全傳輸後，DataSync 只會複製來源和目的地位置之間不同的資料和中繼資料。 | 
|  **傳輸所有資料**  |  [TransferMode](https://docs.aws.amazon.com/datasync/latest/userguide/API_Options.html#DataSync-Type-Options-TransferMode) 設定為 `ALL`  |  DataSync 會將來源中的所有內容複製到目的地，而不比較位置之間的差異。  | 

## 檔案和物件處理選項
<a name="task-option-file-object-handling"></a>

您可以控制 DataSync 如何處理目的地位置中檔案或物件的一些層面。例如，DataSync 可以刪除目的地中不在來源中的檔案。


| 主控台中的選項 | API 中的選項 | Description | 
| --- | --- | --- | 
|  **保留已刪除的檔案**  |  [PreserveDeletedFiles](https://docs.aws.amazon.com/datasync/latest/userguide/API_Options.html#DataSync-Type-Options-PreserveDeletedFiles)  |  指定 DataSync 是否在來源中不存在的目的地位置維護檔案或物件。 如果您將任務設定為從 Amazon S3 儲存貯體刪除物件，則可能會針對特定儲存類別產生最短的儲存持續時間費用。如需詳細資訊，請參閱 [Amazon S3 傳輸的儲存類別考量](create-s3-location.md#using-storage-classes)。  您無法將任務設定為刪除目的地中的資料，也無法[傳輸所有資料](#task-option-transfer-mode)。當您傳輸所有資料時，DataSync 不會掃描目的地位置，也不知道要刪除的內容。   | 
|  **覆寫檔案**  |  [OverwriteMode](https://docs.aws.amazon.com/datasync/latest/userguide/API_Options.html#DataSync-Type-Options-OverwriteMode)  |  指定當來源資料或中繼資料變更時DataSync 是否修改目的地位置中的資料。如果您未將任務設定為覆寫資料，即使來源資料不同，也不會覆寫目的地資料。 如果您的任務覆寫物件，您可能會針對特定儲存類別產生額外費用 （例如，用於擷取或提早刪除）。如需詳細資訊，請參閱 [Amazon S3 傳輸的儲存類別考量](create-s3-location.md#using-storage-classes)。  | 

## 中繼資料處理選項
<a name="task-option-metadata-handling"></a>

DataSync 可以在傳輸期間保留檔案和物件中繼資料。DataSync 可以保留的中繼資料取決於涉及的儲存系統，以及這些系統是否使用類似的中繼資料結構。

在設定任務之前，請確定您了解 DataSync 在來源和目的地位置之間傳輸時如何處理[中繼資料](metadata-copied.md)和[特殊檔案](special-files-copied.md)。

**重要**  
DataSync 支援在 Google Cloud Storage 和 IBM Cloud Object Storage 等特定第三方雲端儲存系統中來回傳輸，這些儲存系統處理系統中繼資料的方式與 S3-compatible。對於這些傳輸，DataSync 會`CacheControl`盡力複製中繼資料屬性`ContentEncoding`，例如 `ContentType`、`ContentLanguage`、 和 。如果目的地儲存系統未套用這些屬性，則會在任務驗證期間忽略這些屬性。


| 主控台中的選項 | API 中的選項 | Description | 
| --- | --- | --- | 
|  **複製擁有權**  | [Gid](https://docs.aws.amazon.com/datasync/latest/userguide/API_Options.html#DataSync-Type-Options-Gid) 和 [Uid](https://docs.aws.amazon.com/datasync/latest/userguide/API_Options.html#DataSync-Type-Options-Uid) |  指定 DataSync 是否複製 POSIX 檔案和資料夾擁有權，例如檔案擁有者的群組 ID 和檔案擁有者的使用者 ID。  | 
|  **複製許可**  | [PosixPermissions](https://docs.aws.amazon.com/datasync/latest/userguide/API_Options.html#DataSync-Type-Options-PosixPermissions) |  指定 DataSync 是否將檔案和資料夾的 POSIX 許可從來源複製到目的地。  | 
| 複製時間戳記 | [Atime](https://docs.aws.amazon.com/datasync/latest/userguide/API_Options.html#DataSync-Type-Options-Atime) 和 [Mtime](https://docs.aws.amazon.com/datasync/latest/userguide/API_Options.html#DataSync-Type-Options-Mtime) |  指定 DataSync 是否將時間戳記中繼資料從來源複製到目的地。當您需要執行任務多次時為必要。  | 
| 複製物件標籤 | [ObjectTags](https://docs.aws.amazon.com/datasync/latest/userguide/API_Options.html#DataSync-Type-Options-ObjectTags) |  指定在物件儲存系統之間傳輸時，DataSync 是否保留與物件相關聯的標籤。  | 
| 複製所有權、DACLs 和 SACLs | [SecurityDescriptorCopyFlags ](https://docs.aws.amazon.com/datasync/latest/userguide/API_Options.html#DataSync-Type-Options-SecurityDescriptorCopyFlags) 設定為 OWNER\$1DACL\$1SACL |  DataSync 會複製下列項目： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/datasync/latest/userguide/configure-metadata.html)  | 
| 複製所有權和 DACLs | [SecurityDescriptorCopyFlags ](https://docs.aws.amazon.com/datasync/latest/userguide/API_Options.html#DataSync-Type-Options-SecurityDescriptorCopyFlags) 設定為 OWNER\$1DACL |  DataSync 會複製下列項目： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/datasync/latest/userguide/configure-metadata.html) 當您選擇此選項時，DataSync 不會複製 SACLs。  | 
| 請勿複製所有權或 ACLs | [SecurityDescriptorCopyFlags ](https://docs.aws.amazon.com/datasync/latest/userguide/API_Options.html#DataSync-Type-Options-SecurityDescriptorCopyFlags) 設定為 NONE |  DataSync 不會複製任何所有權或許可資料。DataSync 寫入目的地位置的物件，是由提供憑證給 DataSync 以存取目的地的使用者所擁有。目的地物件許可是根據在目的地伺服器上設定的許可來決定。  | 

## 設定檔案、物件和中繼資料處理選項
<a name="configure-file-metadata-options"></a>

您可以設定 DataSync 在建立、編輯或啟動傳輸任務時如何處理檔案、物件和中繼資料。

### 使用 DataSync 主控台
<a name="configure-metadata-console"></a>

下列指示說明如何在建立任務時設定檔案、物件和中繼資料處理選項。

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

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

1. 設定任務的來源和目的地位置。

   如需詳細資訊，請參閱[我可以將資料傳輸到哪裡 AWS DataSync？](working-with-locations.md)

1. 針對**傳輸模式**，選擇下列其中一個選項：
   + **僅傳輸已變更的資料**
   + **傳輸所有資料**

   如需關於這些選項的詳細資訊，請參閱 [傳輸模式選項](#task-option-transfer-mode)。

1. 如果您希望 DataSync 在來源中不存在的目的地位置維護檔案或物件，請選取**保留已刪除的檔案**。

   如果您未選擇此選項，且任務從 Amazon S3 儲存貯體刪除物件，則可能會針對特定儲存類別產生最短儲存持續時間費用。如需詳細資訊，請參閱 [Amazon S3 傳輸的儲存類別考量](create-s3-location.md#using-storage-classes)。
**警告**  
您無法取消選取此選項，並啟用**傳輸所有資料**。當您傳輸所有資料時，DataSync 不會掃描目的地位置，也不知道要刪除什麼。

1. 如果您希望 DataSync 在來源資料或中繼資料變更時修改目的地位置中的資料，請選取**覆寫檔案**。

   如果您的任務覆寫物件，您可能會針對特定儲存類別產生額外費用 （例如，用於擷取或提早刪除）。如需詳細資訊，請參閱 [Amazon S3 傳輸的儲存類別考量](create-s3-location.md#using-storage-classes)。

   如果您未選擇此選項，即使來源資料不同，也不會覆寫目的地資料。

1. 在**傳輸選項**下，選取您希望 DataSync 如何處理中繼資料。如需選項的詳細資訊，請參閱 [中繼資料處理選項](#task-option-metadata-handling)。
**重要**  
您在主控台中看到的選項取決於任務的來源和目的地位置。您可能需要展開**其他設定**，才能查看其中一些選項。
   + **複製擁有權**
   + **複製許可**
   + **複製時間戳記**
   + **複製物件標籤**
   + **複製所有權、DACLs 和 SACLs**
   + **複製所有權和 DACLs**
   + **請勿複製所有權或 ACLs**

### 使用 DataSync API
<a name="configure-file-metadata-options-api"></a>

您可以使用 `Options` 參數搭配下列任何操作來設定檔案、物件和中繼資料處理選項：
+ [CreateTask](https://docs.aws.amazon.com/datasync/latest/userguide/API_CreateTask.html)
+ [StartTaskExecution](https://docs.aws.amazon.com/datasync/latest/userguide/API_StartTaskExecution.html)
+ [UpdateTask](https://docs.aws.amazon.com/datasync/latest/userguide/API_UpdateTask.html)

# 設定 AWS DataSync 如何驗證資料完整性
<a name="configure-data-verification-options"></a>

在傳輸期間， AWS DataSync 會使用檢查總和驗證來驗證您在位置之間複製之資料的完整性。您也可以設定 DataSync 在傳輸結束時執行其他驗證。

## 資料驗證選項
<a name="data-verification-options"></a>

使用以下資訊來協助您決定是否希望 DataSync 以及如何執行這些額外的檢查。


| 主控台選項 | API 選項 | Description | 
| --- | --- | --- | 
|  **僅驗證傳輸的資料** （建議）  |  [VerifyMode](https://docs.aws.amazon.com/datasync/latest/userguide/API_Options.html#DataSync-Type-Options-VerifyMode) 設定為 `ONLY_FILES_TRANSFERRED`  |  DataSync 會在來源位置計算傳輸資料的檢查總和 （包括中繼資料）。在傳輸結束時，DataSync 會將此檢查總和與目的地相同資料的檢查總和進行比較。 傳輸到 S3 Glacier Flexible Retrieval 或 S3 Glacier Deep Archive 儲存類別時，我們建議使用此選項。如需詳細資訊，請參閱[Amazon S3 傳輸的儲存類別考量](create-s3-location.md#using-storage-classes)。  | 
|  **驗證所有資料**  |  [VerifyMode](https://docs.aws.amazon.com/datasync/latest/userguide/API_Options.html#DataSync-Type-Options-VerifyMode) 設定為 `POINT_IN_TIME_CONSISTENT`  |  在傳輸結束時，DataSync 會檢查整個來源和目的地，以確認這兩個位置都完全同步。  當您的任務使用[增強型模式](choosing-task-mode.md)時，不支援 。  如果您使用[資訊清單](transferring-with-manifest.md)，DataSync 只會掃描和驗證資訊清單中列出的內容。 轉移至 S3 Glacier Flexible Retrieval 或 S3 Glacier Deep Archive 儲存類別時，無法使用此選項。如需詳細資訊，請參閱[Amazon S3 傳輸的儲存類別考量](create-s3-location.md#using-storage-classes)。  | 
| 請勿在傳輸後驗證資料 |  [VerifyMode](https://docs.aws.amazon.com/datasync/latest/userguide/API_Options.html#DataSync-Type-Options-VerifyMode) 設定為 `NONE`  | DataSync 只會在傳輸期間執行資料完整性檢查。與其他選項不同，傳輸結束時沒有額外的驗證。 | 

## 設定資料驗證
<a name="configure-data-verification"></a>

您可以在建立任務、更新任務或啟動任務執行時設定資料驗證選項。

### 使用 DataSync 主控台
<a name="configure-data-verification-options-console"></a>

下列指示說明如何在建立任務時設定資料驗證選項。

**使用主控台設定資料驗證**

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

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

1. 設定任務的來源和目的地位置。

   如需詳細資訊，請參閱[我可以將資料傳輸到哪裡 AWS DataSync？](working-with-locations.md)

1. 針對**驗證**，請選擇下列其中一項：
   + **僅驗證傳輸的資料** （建議）
   + **驗證所有資料**
   + **請勿在傳輸後驗證資料**

### 使用 DataSync API
<a name="configure-data-verification-options-api"></a>

您可以設定 DataSync 如何搭配下列任何操作使用 `VerifyMode` 參數來驗證資料：
+ [CreateTask](https://docs.aws.amazon.com/datasync/latest/userguide/API_CreateTask.html)
+ [UpdateTask](https://docs.aws.amazon.com/datasync/latest/userguide/API_UpdateTask.html)
+ [StartTaskExecution](https://docs.aws.amazon.com/datasync/latest/userguide/API_StartTaskExecution.html)

# 設定 AWS DataSync 任務的頻寬限制
<a name="configure-bandwidth"></a>

您可以為您的 AWS DataSync 任務及其每個執行設定網路頻寬限制。

## 限制任務的頻寬
<a name="configure-bandwidth-create"></a>

在建立、編輯或啟動任務時設定頻寬限制。

### 使用 DataSync 主控台
<a name="configure-bandwidth-create-console"></a>

下列指示說明如何在建立任務時設定任務的頻寬限制。

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

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

1. 設定任務的來源和目的地位置。

   如需詳細資訊，請參閱[我可以將資料傳輸到哪裡 AWS DataSync？](working-with-locations.md)

1. 針對**頻寬限制**，選擇下列其中一項：
   + 選取**使用可用**以使用每個任務執行的所有可用網路頻寬。
   + 選取**設定頻寬限制 (MiB/s)**，然後輸入您希望 DataSync 用於每個任務執行的最大頻寬。

### 使用 DataSync API
<a name="configure-bandwidth-create-api"></a>

您可以使用 `BytesPerSecond` 參數搭配下列任何操作來設定任務的頻寬限制：
+ [CreateTask](https://docs.aws.amazon.com/datasync/latest/userguide/API_CreateTask.html)
+ [UpdateTask](https://docs.aws.amazon.com/datasync/latest/userguide/API_UpdateTask.html)
+ [StartTaskExecution](https://docs.aws.amazon.com/datasync/latest/userguide/API_StartTaskExecution.html)

## 調節任務執行的頻寬
<a name="adjust-bandwidth-throttling"></a>

您可以修改執行中或佇列任務執行的頻寬限制。

### 使用 DataSync 主控台
<a name="adjust-bandwidth-throttling-console"></a>

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

1. 在導覽窗格中，展開**資料傳輸**。然後選擇**任務**。

1. 選擇任務，然後選取**歷史記錄**以檢視任務的執行。

1. 選擇您要修改的任務執行，然後選擇**編輯**。

1. 在對話方塊中，選擇下列其中一項：
   + 選取**使用可用**以使用任務執行的所有可用網路頻寬。
   + 選取**設定頻寬限制 (MiB/s)**，然後輸入您希望 DataSync 用於任務執行的最大頻寬。

1. 選擇**儲存變更**。

   新的頻寬限制會在 60 秒內生效。

### 使用 DataSync API
<a name="adjust-bandwidth-throttling-api"></a>

您可以使用 `BytesPerSecond` 參數搭配 [UpdateTaskExecution](https://docs.aws.amazon.com/datasync/latest/userguide/API_UpdateTaskExecution.html) 操作，修改執行中或佇列任務執行的頻寬限制。

# AWS DataSync 任務執行時的排程
<a name="task-scheduling"></a>

您可以設定 AWS DataSync 任務排程，以在儲存位置之間定期傳輸資料。

## DataSync 任務排程的運作方式
<a name="how-task-scheduling-works"></a>

排程的 DataSync 任務會依您指定的頻率執行，最短間隔為 1 小時。您可以使用 Cron 或 Rate 運算式來建立任務排程。

**重要**  
您無法排程任務以超過 1 小時的間隔執行。

**使用 cron 運算式**  
針對在特定時間和日期執行的任務排程使用 cron 表達式。例如，以下說明如何在 中 AWS CLI 設定任務排程，該排程在每週日和週三的 UTC 下午 12：00 執行。  

```
cron(0 12 ? * SUN,WED *)
```

**使用速率表達式**  
針對定期執行的任務排程使用速率表達式，例如每 12 小時一次。例如，以下說明如何在每 12 小時 AWS CLI 執行的 中設定任務排程：  

```
rate(12 hours)
```

**提示**  
如需 Cron 和 Rate 表達式語法的詳細資訊，請參閱《[https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-cron-expressions.html](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-cron-expressions.html)》。

## 建立 DataSync 任務排程
<a name="configure-task-schedule"></a>

您可以使用 DataSync 主控台 AWS CLI或 DataSync API 來排程任務執行的頻率。

### 使用 DataSync 主控台
<a name="configure-task-schedule-console"></a>

下列指示說明如何在建立任務時設定排程。您可以在稍後編輯任務時修改排程。

在 主控台中，某些排程選項可讓您指定任務執行的確切時間 （例如每日下午 10：30)。如果您未包含這些選項的時間，您的任務會在您建立 （或更新） 任務時執行。

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

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

1. 設定任務的來源和目的地位置。

   如需詳細資訊，請參閱 [我可以將資料傳輸到哪裡 AWS DataSync？](working-with-locations.md)

1. 對於排程**頻率**，請執行下列其中一項操作：
   + 如果您不希望任務按排程執行，請選擇**未排程**。
   + 選擇**每小時**，然後選擇您希望任務執行的小時內的分鐘。
   + 選擇**每日**，然後輸入您希望任務執行的 UTC 時間。
   + 選擇**每週**和星期幾，然後輸入您希望任務執行的 UTC 時間。
   + 選擇**星期幾**，選擇特定日期，然後輸入任務應以 HH：MM 格式執行的 UTC 時間。
   + 選擇**自訂**，然後選取 **Cron 表達**式或 **Rate 表達**式。輸入您的任務排程，最短間隔為 1 小時。

### 使用 AWS CLI
<a name="configure-task-schedule-api"></a>

您可以使用 `--schedule` 參數搭配 `update-task`、 或 `start-task-execution`命令`create-task`，為 DataSync 任務建立排程。

下列指示說明如何使用 `create-task`命令執行此操作。

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

   ```
   aws datasync create-task \
     --source-location-arn arn:aws:datasync:us-east-1:123456789012:location/loc-12345678abcdefgh \
     --destination-location-arn arn:aws:datasync:us-east-1:123456789012:location/loc-abcdefgh12345678 \
     --schedule '{
       "ScheduleExpression": "cron(0 12 ? * SUN,WED *)"
     }'
   ```

1. 針對 `--source-location-arn` 參數，指定您要從中傳輸資料的位置的 Amazon Resource Name (ARN)。

1. 針對 `--destination-location-arn` 參數，指定您要傳輸資料的位置 ARN。

1. 針對 `--schedule` 參數，指定排程的 cron 或 rate 表達式。

   在此範例中，cron 表達式會`cron(0 12 ? * SUN,WED *)`設定在每週日和週三的 UTC 下午 12：00 執行的任務排程。

1. 執行 `create-task`命令以使用排程建立您的任務。

## 暫停 DataSync 任務排程
<a name="pause-task-schedule"></a>

在某些情況下，您可能需要暫停 DataSync 任務排程。例如，您可能需要暫時停用重複傳輸，以修正任務的問題或對儲存系統執行維護。

DataSync 可能會因為下列原因自動停用您的任務排程：
+ 您的任務重複失敗，並出現相同的錯誤。
+ 您可以[停用任務正在使用 AWS 區域](https://docs.aws.amazon.com/accounts/latest/reference/manage-acct-regions.html)的 。

### 使用 DataSync 主控台
<a name="pause-scheduled-task-console"></a>

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

1. 在左側導覽窗格中，展開**資料傳輸**，然後選擇**任務**。

1. 選擇您要暫停排程的任務，然後選擇**編輯**。

1. 針對**排程**，關閉**啟用排程**。選擇 **Save changes** (儲存變更)。

### 使用 AWS CLI
<a name="pause-scheduled-task-cli"></a>

1. 複製下列`update-task`命令：

   ```
   aws datasync update-task \
     --task-arn arn:aws:datasync:us-east-1:123456789012:task/task-12345678abcdefgh \
     --schedule '{
       "ScheduleExpression": "cron(0 12 ? * SUN,WED *)",
       "Status": "DISABLED"
     }'
   ```

1. 針對 `--task-arn` 參數，指定您要暫停排程之任務的 ARN。

1. 針對 `--schedule` 參數，執行下列動作：
   + 對於 `ScheduleExpression`，請為您的排程指定 cron 或 rate 表達式。

     在此範例中，表達式會`cron(0 12 ? * SUN,WED *)`設定任務排程，每週日和週三在 UTC 的中午 12：00 執行。
   + 針對 `Status`，指定 `DISABLED` 以暫停任務排程。

1. 執行 `update-task` 命令。

1. 若要繼續排程，請執行相同的`update-task`命令，並將 `Status` 設定為 `ENABLED`。

## 檢查 DataSync 任務排程的狀態
<a name="check-scheduled-task"></a>

您可以查看 DataSync 任務排程是否已啟用。

### 使用 DataSync 主控台
<a name="check-scheduled-task-console"></a>

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

1. 在左側導覽窗格中，展開**資料傳輸**，然後選擇**任務**。

1. 在**排程**欄中，檢查任務的排程是否啟用或停用。

### 使用 AWS CLI
<a name="check-scheduled-task-cli"></a>

1. 複製下列`describe-task`命令：

   ```
   aws datasync describe-task \
     --task-arn arn:aws:datasync:us-east-1:123456789012:task/task-12345678abcdefgh
   ```

1. 針對 `--task-arn` 參數，指定您要取得相關資訊之任務的 ARN。

1. 執行 `describe-task` 命令。

您會收到回應，提供任務的詳細資訊，包括其排程。（下列範例主要著重於任務排程組態，不會顯示完整`describe-task`回應。)

此範例顯示任務的排程已手動停用。如果 DataSync 已停用排程`SERVICE`，您會看到 的錯誤訊息`DisabledReason`，以協助您了解任務持續失敗的原因。如需詳細資訊，請參閱[故障診斷 AWS DataSync 問題](troubleshooting-datasync.md)。

```
{
    "TaskArn": "arn:aws:datasync:us-east-1:123456789012:task/task-12345678abcdefgh",
    "Status": "AVAILABLE",
    "Schedule": {
        "ScheduleExpression": "cron(0 12 ? * SUN,WED *)",
        "Status": "DISABLED",
        "StatusUpdateTime": 1697736000,
        "DisabledBy": "USER",
        "DisabledReason": "Manually disabled by user."
    },
    ...
}
```

# 標記您的 AWS DataSync 任務
<a name="tagging-tasks"></a>

*標籤*是索引鍵/值對，可協助您管理、篩選和搜尋 AWS DataSync 資源。每個 DataSync 任務和任務執行最多可新增 50 個標籤。

例如，您可以為大型資料遷移建立任務，並使用索引鍵 **Project** 和值 標記任務**Large Migration**。若要進一步組織遷移，您可以使用金鑰**Transfer Date**和值來標記任務的一個執行 **May 2021**（後續任務執行可能會標記 **June 2021**、 **July 2021**等）。

## 標記 DataSync 任務
<a name="tagging-tasks-console"></a>

您只能在建立任務時標記 DataSync 任務。

### 使用 DataSync 主控台
<a name="tagging-tasks-console-steps"></a>

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

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

1. 設定任務的來源和目的地位置。

   如需詳細資訊，請參閱[我可以將資料傳輸到哪裡 AWS DataSync？](working-with-locations.md)

1. 在**設定設定**頁面上，選擇**新增標籤**以標記您的任務。

### 使用 AWS CLI
<a name="tagging-tasks-cli-steps"></a>

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

   ```
   aws datasync create-task \
       --source-location-arn 'arn:aws:datasync:region:account-id:location/source-location-id' \
       --destination-location-arn 'arn:aws:datasync:region:account-id:location/destination-location-id' \
       --tags Key=tag-key,Value=tag-value
   ```

1. 在 命令中指定下列參數：
   + `--source-location-arn` – 指定傳輸中來源位置的 Amazon Resource Name (ARN)。
   + `--destination-location-arn` – 指定傳輸中目的地位置的 ARN。
   + `--tags` – 指定您要套用至任務的標籤。

     對於多個標籤，請以空格分隔每個鍵值對。

1. （選用） 指定其他適用於您傳輸案例的參數。

   如需 的清單`--options`，請參閱 [create-task](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/datasync/create-task.html) 命令。

1. 執行 `create-task` 命令。

   您會收到顯示您剛建立之任務的回應。

   ```
   {
       "TaskArn": "arn:aws:datasync:us-east-2:123456789012:task/task-abcdef01234567890"
   }
   ```

若要檢視您新增至此任務的標籤，您可以使用 [list-tags-for-resource](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/datasync/list-tags-for-resource.html) 命令。

## 標記 DataSync 任務執行
<a name="tagging-task-executions-console"></a>

您可以標記 DataSync 任務的每個執行。

如果您的任務已有標籤，請記住下列有關搭配任務執行使用標籤的事項：
+ 如果您使用 主控台啟動任務，其使用者建立的標籤會自動套用至任務執行。不過，`aws:`不會套用以 開頭的系統建立標籤。
+ 如果您使用 DataSync API 或 啟動任務 AWS CLI，其標籤不會自動套用至任務執行。

### 使用 DataSync 主控台
<a name="tagging-task-executions-console"></a>

若要從任務執行新增、編輯或移除標籤，您必須使用覆寫選項啟動任務。

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

1. 在左側導覽窗格中，展開**資料傳輸**，然後選擇**任務**。

1. 選擇對應任務。

1. 選擇**開始**，然後選擇下列其中一個選項：
   + 從**預設值開始** – 套用與您的任務相關聯的任何標籤。
   + 從**覆寫選項開始** – 可讓您新增、編輯或移除此特定任務執行的標籤。

### 使用 AWS CLI
<a name="tagging-task-executions-cli"></a>

1. 複製下列`start-task-execution`命令：

   ```
   aws datasync start-task-execution \
       --task-arn 'arn:aws:datasync:region:account-id:task/task-id' \
       --tags Key=tag-key,Value=tag-value
   ```

1. 在 命令中指定下列參數：
   + `--task-arn` – 指定您要啟動之任務的 ARN。
   + `--tags` – 指定要套用至此特定任務執行的標籤。

     對於多個標籤，請以空格分隔每個鍵值對。

1. （選用） 指定適用於您情況的其他參數。

   如需詳細資訊，請參閱 [start-task-execution](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/datasync/start-task-execution.html) 命令。

1. 執行 `start-task-execution` 命令。

   您會收到顯示您剛開始之任務執行的回應。

   ```
   {
       "TaskExecutionArn": "arn:aws:datasync:us-east-2:123456789012:task/task-abcdef01234567890"
   }
   ```

若要檢視您新增至此任務的標籤，您可以使用 [list-tags-for-resource](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/datasync/list-tags-for-resource.html) 命令。

# 啟動任務以傳輸您的資料
<a name="run-task"></a>

建立 AWS DataSync 傳輸任務後，您就可以開始移動資料。每次執行任務都會稱為*任務執行*。如需任務執行期間所發生情況的資訊，請參閱 [DataSync 如何傳輸檔案、物件和目錄](how-datasync-transfer-works.md#transferring-files)。

**重要**  
如果您打算在 Amazon S3 位置之間傳輸資料，請在開始之前檢閱 [ DataSync 如何影響您的 S3 請求費用](create-s3-location.md#create-s3-location-s3-requests)和 [DataSync 定價頁面](https://aws.amazon.com/datasync/pricing/)。

## 啟動您的任務
<a name="starting-task"></a>

建立任務之後，您可以立即開始移動資料。

### 使用 DataSync 主控台
<a name="starting-task-console"></a>

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

1. 在左側導覽窗格中，展開**資料傳輸**，然後選擇**任務**。

1. 選擇您要執行的任務。

   確定任務具有**可用**狀態。您也可以選取多個任務。

1. 選擇**動作**，然後選擇下列其中一個選項：
   + **開始** – 執行任務 （或如果您選取多個任務）。
   + **從覆寫選項**開始 – 可讓您先修改部分任務設定，再開始移動資料。當您準備好時，請選擇**開始**。

1. 選擇**查看執行詳細資訊**以檢視執行中任務執行的詳細資訊。

### 使用 AWS CLI
<a name="start-task-execution"></a>

若要啟動 DataSync 任務，您只需要指定要執行之任務的 Amazon Resource Name (ARN)。以下是範例`start-task-execution`命令：

```
aws datasync start-task-execution \
    --task-arn 'arn:aws:datasync:region:account-id:task/task-id'
```

下列範例使用與任務預設設定不同的一些設定啟動任務：

```
aws datasync start-task-execution \
    --override-options VerifyMode=NONE,OverwriteMode=NEVER,PosixPermissions=NONE
```

命令會傳回任務執行的 ARN，類似下列範例：

```
{ 
    "TaskExecutionArn": "arn:aws:datasync:us-east-1:209870788375:task/task-08de6e6697796f026/execution/exec-04ce9d516d69bd52f"
}
```

**注意**  
每個代理程式一次可以執行一個任務。

### 使用 DataSync API
<a name="starting-task-api"></a>

您可以使用 [StartTaskExecution](https://docs.aws.amazon.com/datasync/latest/userguide/API_StartTaskExecution.html) 操作來啟動任務。使用 [DescribeTaskExecution](https://docs.aws.amazon.com/datasync/latest/userguide/API_DescribeTaskExecution.html) 操作來取得執行中任務執行的詳細資訊。

啟動後，您可以在 DataSync 複製資料時[檢查任務執行的狀態](#understand-task-execution-statuses)。您也可以視需要[調節任務執行的頻寬](configure-bandwidth.md#adjust-bandwidth-throttling)。

## 任務執行狀態
<a name="understand-task-execution-statuses"></a>

當您啟動 DataSync 任務時，您可能會看到這些狀態。([任務狀態](create-task-how-to.md#understand-task-creation-statuses)與任務執行狀態不同。)


| 主控台狀態 | API 狀態 | 描述 | 
| --- | --- | --- | 
|  佇列  |  `QUEUED`  |  另一個任務執行正在執行，並使用相同的 DataSync 代理程式。如需詳細資訊，請參閱[了解您的任務何時排入佇列](#queue-task-execution)。  | 
|  啟動  |  `LAUNCHING`  |  DataSync 正在初始化任務執行。此狀態通常會快速進行，但最多可能需要幾分鐘的時間。  | 
| 已啟動 | `LAUNCHED` | DataSync 已啟動任務執行。 | 
|  正在準備  |  `PREPARING`  |  DataSync 正在決定要傳輸哪些資料。 根據兩個位置的檔案、物件或目錄數量，以及您設定任務的方式，準備可能需要幾分鐘、幾個小時甚至更長的時間。準備的運作方式也取決於您的任務模式。如需詳細資訊，請參閱[DataSync 如何準備資料傳輸](how-datasync-transfer-works.md#how-datasync-prepares)。  | 
|  傳輸中  |  `TRANSFERRING`  |  DataSync 正在執行實際的資料傳輸。  | 
|  驗證中  |  `VERIFYING`  |  DataSync 正在傳輸結束時驗證資料的完整性。  | 
|  成功  |  `SUCCESS`  |  任務執行成功。  | 
|  取消  |  `CANCELLING`  | 任務執行正在進行取消。 | 
|  錯誤  |  `ERROR`  |  任務執行失敗。  | 

## 了解您的任務何時排入佇列
<a name="queue-task-execution"></a>

執行多個任務時 （例如，您正在[傳輸大型資料集](create-task-how-to.md#multiple-tasks-large-dataset))，DataSync 可能會將要以序列方式執行的任務排入佇列 （先進先出）。發生這種情況的一些範例包括：
+ 您可以執行使用相同 DataSync 代理程式的不同任務。雖然您可以將相同的代理程式用於多個任務，但代理程式一次只能執行一個任務。
+ 任務執行正在進行中，您可以使用不同的[篩選條件](filtering.md)或[資訊清單](transferring-with-manifest.md)來啟動相同任務的其他執行。

在每個範例中，排入佇列的任務在任務完成之前不會開始。

## 取消您的任務執行
<a name="cancel-running-task"></a>

 您可以停止任何執行中或已排入佇列的 DataSync 任務執行。

**使用主控台取消任務執行**

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

1. 在左側導覽窗格中，展開**資料傳輸**，然後選擇**任務**。

1. 選取您要監控之執行中任務的任務 **ID**。

   任務狀態應為**執行**中。

1. 選擇**歷史記錄**以檢視任務的執行。

1. 選取您要停止的任務執行，然後選擇**停止**。

1. 在對話方塊中，選擇**停止**。

若要使用 DataSync API 取消執行中或已排入佇列的任務，請參閱 [CancelTaskExecution](https://docs.aws.amazon.com/datasync/latest/userguide/API_CancelTaskExecution.html)。

### 自動取消停滯的任務
<a name="auto-cancel-stuck-tasks"></a>

執行中的 DataSync 任務執行有時可能會卡住。