

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

# 使用 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 儲存貯體中的物件。