

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

# AWS DataSync 運作方式
<a name="how-datasync-transfer-works"></a>

了解與 AWS DataSync 傳輸相關的重要概念和術語，包括如何從內部部署和雲端位置傳輸資料。

## DataSync 傳輸架構
<a name="datasync-archtecture"></a>

下圖顯示 DataSync 通常如何以及在何處傳輸儲存資料。如需 DataSync 支援的儲存系統和服務的完整清單，請參閱 [我可以將資料傳輸到哪裡 AWS DataSync？](working-with-locations.md)

**Topics**
+ [在內部部署儲存體與 之間傳輸 AWS](#onprem-aws)
+ [在 AWS 儲存服務之間傳輸](#in-cloud-transfer)
+ [在其他雲端的 AWS 儲存服務和儲存系統之間傳輸](#ec2-agent-in-region)

### 在內部部署儲存體與 之間傳輸 AWS
<a name="onprem-aws"></a>

下圖顯示 DataSync 在自我管理、內部部署儲存系統和 之間傳輸檔案的高階概觀 AWS 服務。

![\[常見的 DataSync 案例概觀，其中資料從現場部署儲存系統傳輸到支援的 AWS 儲存資源 （例如 Amazon S3 儲存貯體或 Amazon EFS 檔案系統）。\]](http://docs.aws.amazon.com/zh_tw/datasync/latest/userguide/images/DataSync-chart-on-prem.png)


圖表說明常見的 DataSync 使用案例：
+ DataSync 代理程式會從內部部署儲存系統複製資料。
+ 移入的資料 AWS，使用 Transport Layer Security (TLS) 加密。
+ DataSync 將資料複製到支援的 AWS 儲存服務。

### 在 AWS 儲存服務之間傳輸
<a name="in-cloud-transfer"></a>

下圖顯示 DataSync 在相同 AWS 服務 之間傳輸檔案的高階概觀 AWS 帳戶。

![\[常見 DataSync 案例的概觀，其中資料會在 AWS 儲存資源 （例如 Amazon S3 儲存貯體或 Amazon EFS 檔案系統） 之間傳輸。\]](http://docs.aws.amazon.com/zh_tw/datasync/latest/userguide/images/DataSync-chart-agentless.png)


圖表說明常見的 DataSync 使用案例：
+ DataSync 從支援的 AWS 儲存服務複製資料。
+ 資料移動 AWS 區域，使用 TLS 加密。
+ DataSync 將資料複製到支援的 AWS 儲存服務。

在相同帳戶中的 AWS 儲存服務之間傳輸 （無論是在相同 AWS 區域 或相同分割區 AWS 區域 中的跨 ) 時，不需要代理程式。您的資料會保留在 AWS 網路中，而不會周遊公有網際網路。

**重要**  
您需為之間傳輸的資料付費 AWS 區域。這會以從來源區域到目的地區域的資料傳輸輸出計費。如需詳細資訊，請參閱[資料傳輸定價](https://aws.amazon.com/ec2/pricing/on-demand/#Data_Transfer)。

### 在其他雲端的 AWS 儲存服務和儲存系統之間傳輸
<a name="ec2-agent-in-region"></a>

使用 DataSync，您可以在其他雲端儲存系統和 之間傳輸資料 AWS 服務。在這種情況下，雲端儲存系統可以包括：
+ 自我管理儲存系統，例如虛擬私有雲端 (VPC) 中的 NFS 檔案伺服器 AWS。
+ 由其他雲端供應商託管的儲存系統或服務。如需詳細資訊，請參閱[使用 往返其他雲端儲存體的傳輸 AWS DataSync](transferring-other-cloud-storage.md)。

DataSync 可以在使用或不使用代理程式的情況下，將資料複製到其他雲端或從其他雲端複製資料。如需何時使用代理程式的詳細資訊，請參閱[我需要 AWS DataSync 代理程式嗎？](https://docs.aws.amazon.com/datasync/latest/userguide/do-i-need-datasync-agent.html)。

下圖顯示 DataSync 在 AWS 儲存服務與其他雲端提供者之間傳輸資料的高階概觀。

![\[常見 DataSync 案例的概觀，其中資料會在 AWS 儲存服務 （例如 Amazon S3 儲存貯體或 Amazon EFS 檔案系統） 與其他雲端提供者之間傳輸。\]](http://docs.aws.amazon.com/zh_tw/datasync/latest/userguide/images/datasync-diagram-other-clouds.png)


## 概念和術語
<a name="terminology"></a>

熟悉 DataSync 傳輸功能。

**Topics**
+ [客服人員](#sync-agents)
+ [Location](#sync-locations)
+ [任務](#tasks)
+ [任務執行](#task-executions)

### 客服人員
<a name="sync-agents"></a>

*代理*程式是虛擬機器 (VM) 設備，DataSync 會在傳輸期間用來讀取和寫入儲存體。DataSync 提供兩種類型的客服人員，一種處理基本模式任務，另一種處理增強模式任務。如需為您的使用案例選擇代理程式的詳細資訊，請參閱 [為您的任務模式選擇代理程式](do-i-need-datasync-agent.md#choose-task-mode-agent)。

您可以在 VMware ESXi、Linux 核心型虛擬機器 (KVM)、Nutanix AHV （使用 KVM 代理程式映像） 或 Microsoft Hyper-V Hypervisor 上，在您的儲存環境中部署代理程式。對於 中的虛擬私有雲端 (VPC) 儲存 AWS體，您可以將代理程式部署為 Amazon EC2 執行個體。

若要開始使用，請參閱 [我需要 AWS DataSync 客服人員嗎？](do-i-need-datasync-agent.md)

### Location
<a name="sync-locations"></a>

*位置*說明您將資料從 或 複製到其中的位置。每個 DataSync 傳輸 （也稱為*任務*) 都有一個來源和目的地位置。如需詳細資訊，請參閱[我可以將資料傳輸到哪裡 AWS DataSync？](working-with-locations.md)

### 任務
<a name="tasks"></a>

*任務*描述 DataSync 傳輸。它會識別來源和目的地位置，以及如何在這些位置之間複製資料的詳細資訊。您也可以指定任務如何處理中繼資料、已刪除的檔案和許可。

### 任務執行
<a name="task-executions"></a>

*任務執行*是 DataSync 傳輸任務的個別執行。任務執行涉及多個階段。如需詳細資訊，請參閱[任務執行狀態](run-task.md#understand-task-execution-statuses)。

## DataSync 如何傳輸檔案、物件和目錄
<a name="transferring-files"></a>

在[任務執行](run-task.md)期間，DataSync 會準備、傳輸和驗證您的資料。DataSync 如何執行這些動作取決於您如何設定 DataSync 任務選項，例如[任務模式](choosing-task-mode.md)。基本模式任務會依序準備、傳輸和驗證您的資料，而增強型模式任務則會平行執行這些資料。

**Topics**
+ [DataSync 如何準備資料傳輸](#how-datasync-prepares)
+ [DataSync 如何傳輸您的資料](#how-datasync-transfers)
+ [DataSync 如何驗證資料的完整性](#how-verifying-works)
+ [DataSync 如何使用開啟和鎖定的檔案](#open-locked-files)
+ [經常性轉移選項](#how-recurring-transfers-work)

### DataSync 如何準備資料傳輸
<a name="how-datasync-prepares"></a>

根據預設，DataSync 會檢查您的來源和目的地位置以決定要傳輸的內容，以準備您的傳輸。這是透過掃描兩個位置的內容和中繼資料來識別兩者之間的差異來完成的。

**注意**  
如果您將任務設定為[傳輸所有資料](configure-metadata.md#task-option-transfer-mode)，則無需準備。當您開始任務時，DataSync 會立即將所有內容從來源傳輸到目的地，而不會比較位置。

DataSync 如何準備傳輸也取決於您的任務模式：


| 增強型模式準備 | 基本模式準備 | 
| --- | --- | 
|  DataSync 會準備來源位置找到的物件。準備工作會在整個任務執行過程中持續進行，直到來源中不再列出物件為止。 與基本模式不同，DataSync 可以在每個任務執行中準備幾乎無限數量的物件。  |  根據兩個位置的檔案、物件或目錄數量以及儲存體的效能，準備可能需要幾分鐘、幾個小時甚至更長的時間。 DataSync 在您來源和目的地中庫存的項目會計入您的[任務配額](datasync-limits.md#task-hard-limits)。這些配額不是根據 DataSync 在每個任務執行期間傳輸的項目數量。  | 

DataSync 可能會在準備期間略過一些檔案、物件和目錄。原因可能取決於幾個因素，例如如何設定任務和儲存系統許可。以下是一些範例：
+ 您的來源和目的地位置中存在一個檔案。自上一個任務執行以來，來源中的 檔案尚未修改。由於您[只傳輸已變更的資料](configure-metadata.md#task-option-transfer-mode)，DataSync 不會在您下次執行任務時傳輸該檔案。
+ 存在於兩個位置的物件都會在您的來源中變更。當您執行任務時，DataSync 會略過目的地中的此物件，因為您的任務不會[覆寫目的地中的資料](configure-metadata.md#task-option-file-object-handling)。
+ DataSync 會略過來源位置中使用[封存儲存類別](create-s3-location.md#using-storage-classes)且未還原的物件。您必須還原封存的物件，DataSync 才能讀取它。
+ DataSync 會略過來源位置中的檔案、物件或目錄，因為它無法讀取。如果發生這種情況，且不預期會發生這種情況，請檢查儲存體的存取許可，並確保 DataSync 可以讀取略過的內容。

### DataSync 如何傳輸您的資料
<a name="how-datasync-transfers"></a>

DataSync 會根據您的任務選項，將您的資料 （包括中繼資料） 從來源複製到目的地。例如，您可以指定要複製哪些[中繼資料](configure-metadata.md)、[排除](filtering.md)特定檔案，以及限制 DataSync 使用多少[頻寬](configure-bandwidth.md)，以及其他選項。

DataSync 如何傳輸資料也取決於您的任務模式：


| 增強型模式傳輸 | 基本模式轉移 | 
| --- | --- | 
|  DataSync 會在每個物件準備好時立即傳輸。  |  DataSync 準備所有資料後，就會開始傳輸。  | 

DataSync 可能會在傳輸期間略過一些項目。如果您將任務設定為[傳輸所有資料](configure-metadata.md#task-option-transfer-mode)，則使用[封存儲存類別](create-s3-location.md#using-storage-classes)且未還原的來源位置中的物件可能會發生這種情況。

### DataSync 如何驗證資料的完整性
<a name="how-verifying-works"></a>

DataSync 一律會在傳輸期間對資料執行完整性檢查。在傳輸結束時，DataSync 也可以對傳輸的資料或兩個位置的整個資料集執行額外的檢查。如需詳細資訊，請參閱[設定 AWS DataSync 如何驗證資料完整性](configure-data-verification-options.md)。

檢查資料完整性時，DataSync 會計算和比較 位置中檔案、物件或目錄的檢查總和和和中繼資料。如果 DataSync 注意到位置之間的差異，驗證會失敗並顯示錯誤。例如，您可能會看到錯誤，例如 `Checksum failure`、`Files were added`、 `Metadata failure`或 `Files were removed`。

驗證的運作方式取決於您的任務模式，以及您是否設定 DataSync 在傳輸結束時驗證資料完整性。


| 增強型模式驗證 | 基本模式驗證 | 
| --- | --- | 
|  DataSync 會在每個物件傳輸至目的地時對其進行驗證。 使用增強模式時，DataSync [只會驗證傳輸的資料](configure-data-verification-options.md)。  |  在傳輸結束時，DataSync 會驗證資料的完整性。 視您[設定資料驗證](configure-data-verification-options.md)的方式而定，大型資料集可能需要相當長的時間。  | 

### DataSync 如何使用開啟和鎖定的檔案
<a name="open-locked-files"></a>

嘗試傳輸開啟 （使用中） 或鎖定的檔案時，請注意下列事項：
+ 一般而言，DataSync 可以傳輸開啟的檔案，不受任何限制。
+ 如果檔案在傳輸期間開啟並寫入 ，DataSync 可以在傳輸任務的驗證階段偵測到這種不一致。若要取得檔案的最新版本，您必須再次執行任務。
+ 如果檔案已鎖定且伺服器防止 DataSync 開啟檔案，DataSync 會在傳輸期間略過檔案並記錄錯誤。
+ DataSync 無法鎖定或解除鎖定檔案。

### 經常性轉移選項
<a name="how-recurring-transfers-work"></a>

除了一次性傳輸之外，DataSync 還可以定期傳輸資料。這些情況的一些選項包括：
+ 任務執行時的[排程](task-scheduling.md)。
+ [僅傳輸自上次任務執行以來變更的資料](configure-metadata.md)。
+ [刪除來源中不再存在的目的地位置中的資料](configure-metadata.md)。