使用 Google Cloud Cross-Cloud Interconnect 或 Partner Interconnect 建立的私人網路連線,可為 AWS 或 Azure 與 Cloud Storage 之間的資料移轉帶來顯著優勢:
- 潛在的成本最佳化:可能節省輸出費用。如果客戶已有互連,或是要執行大量或週期性資料移轉,這項功能可帶來實質的長期節省效益。
- 專屬網路頻寬:使用互連可提供一致的高容量輸送量和較低的延遲時間,這對於大型、時間敏感的遷移作業和即時資料同步處理至關重要。
- 滿足法規遵循需求:如果工作負載的法規要求規定資料不得透過公用網際網路傳輸,這項功能可協助您使用互連功能私下轉移資料,以符合法規、支援資料主權,並簡化稽核程序。
總覽
本文將逐步說明如何:
- 訂購及設定 Cross-Cloud Interconnect
- 在 S3 或 Azure 中建立端點
- 設定具有混合式連線的區域性內部 Proxy 網路負載平衡器
- 向 Service Directory 註冊負載平衡器
- 建立移轉作業
- 確認流量使用互連網路
所需權限
您必須具備特定權限,才能完成下列各節。 這些權限會列在該組步驟的文件中。
互連網路選項
Storage 移轉服務可透過跨雲端互連 (CCI) 或合作夥伴互連,從 AWS 和 Azure 移轉資料。
以下步驟專為 CCI 適用,但設定合作夥伴互連網路的網路時也適用。
訂購及設定 Cross-Cloud Interconnect
Cross-Cloud Interconnect 是一種專屬實體連線,可連結 Google Cloud 和其他雲端服務供應商。
如果已有 CCI 連線,請跳至下一節。
AWS
按照操作說明連線至 Amazon Web Services,訂購及設定新的跨雲端互連網路。您必須具備適當權限,才能在 Google Cloud 和 AWS 中設定網路。
Azure
按照操作說明連線至 Microsoft Azure,訂購及設定新的跨雲端互連。您需要適當的權限,才能在 Google Cloud 和 Azure 中設定網路。
如果 Cloud Storage 值區是地區值區,請在與值區相同的地區設定 CCI,以減少網路延遲。
在 S3 或 Azure 中建立端點
在 S3 或 Azure 帳戶中建立端點。
AWS
在 Amazon Web Services 帳戶中,建立連線至 S3 的 VPC 端點。
按照這些 AWS 操作說明:使用介面 VPC 端點存取 AWS 服務,建立端點。
Azure
按照這些步驟,在 Azure 的儲存體帳戶中設定私人端點。
Storage 移轉服務需要 *.blob.core.microsoft.net 端點。系統不支援「*.dfs.core.microsoft.net」端點。
建立完成後,請記下端點的 IP 位址。在下一節中建立負載平衡器時,您需要指定 IP 位址。
設定具有混合式連線的區域性內部 Proxy 網路負載平衡器
在 Google Cloud 中,設定具有混合式連線的區域性內部 Proxy 網路負載平衡器。這會提供內部 IP 位址,僅限於與負載平衡器位於相同虛擬私有雲網路中執行的用戶端,並將流量轉送至您在上一節中建立的 S3 虛擬私有雲端點或 Azure 儲存空間私人端點。
您應在與 Cloud Interconnect 介接的 VLAN 附件相同的專案和虛擬私有雲網路中,建立負載平衡器。互連本身可以位於同一機構組織內的不同專案,但附件必須與負載平衡器位於相同的虛擬私有雲和區域。
在標示為「將端點新增至混合式連線 NEG」的步驟中,指定 S3 VPC 端點或 Azure 儲存空間私人端點 IP 位址。
請記下 NLB 的前端 IP 位址和通訊埠,下一節會用到。
驗證連線
建議您先驗證負載平衡器是否能連線至遠端儲存端點,再繼續操作。
方法如下:
- 在與負載平衡器相同的虛擬私有雲網路中,建立 Compute Engine VM。
在 VM 中,使用
curl測試與負載平衡器 IP 位址和通訊埠的連線:curl -v --resolve HOSTNAME:LOAD_BALANCER_IP:PORT https://HOSTNAME其中:
<var>HOSTNAME</var>是來源儲存空間供應商的主機名稱。- 如果是 AWS S3,請使用值區所在區域的 S3 API 端點,例如
s3.us-west-1.amazonaws.com。 - 如果是 Azure 儲存空間,請使用儲存體帳戶的 Blob 端點,例如
mystorageaccount.blob.core.windows.net。
- 如果是 AWS S3,請使用值區所在區域的 S3 API 端點,例如
<var>PORT</var>是您在負載平衡器的轉送規則中設定的通訊埠,通常為443。<var>LOAD_BALANCER_IP</var>是負載平衡器的前端 IP 位址。
遠端端點的回應 (即使是錯誤) 表示連線成功。連線逾時表示網路設定有誤,請先解決問題再繼續操作。
向 Service Directory 註冊 NLB
在 Service Directory 中註冊 NLB。Storage 移轉服務會使用 Service Directory 解析負載平衡器的位址,並直接連線至該位址。
按照操作說明註冊內部負載平衡器。使用您在指定轉送規則時建立的負載平衡器 IP 位址和通訊埠。
建立服務後,請記下服務的自我連結。格式為 projects/{project_id}/locations/{location}/namespaces/{namespace}/services/{service}。建立移轉作業時,您會需要用到這個值。
建立移轉作業
將下列權限授予服務代理。如需如何擷取服務代理程式,以及授予服務代理程式權限的操作說明,請參閱「Google 代管的服務代理程式權限」。
- 專案層級的 Service Directory 檢視者 (roles/servicedirectory.viewer),位於含有 Service Directory 資源的專案中。
- 專案層級的 Private Service Connect 授權服務 (roles/servicedirectory.pscAuthorizedService),位於包含虛擬私有雲的專案中。
- 目的地值區的 Storage 舊版值區寫入者 (roles/storage.legacyBucketWriter)。
如要建立使用 Cross-Cloud Interconnect 的轉移作業,請使用 Storage 移轉服務 REST API。請按照下列方式傳送要求:請注意 privateNetworkService 欄位,您將在此指定 Service Directory 服務的 selfLink。
AWS
POST https://storagetransfer.googleapis.com/v1/transferJobs
{
"status": "ENABLED",
"projectId": "PROJECT_ID",
"transferSpec": {
"awsS3DataSource": {
"privateNetworkService": "SERVICE_SELF_LINK",
"bucketName": "S3_BUCKET_NAME",
"awsAccessKey": {
"accessKeyId": "ACCESS_KEY_ID",
"secretAccessKey": "SECRET_ACCESS_KEY"
}
},
"gcsDataSink": {
"bucketName": "GCS_BUCKET_NAME"
}
}
}
Azure
POST https://storagetransfer.googleapis.com/v1/transferJobs
{
"status": "ENABLED",
"projectId": "PROJECT_ID",
"transferSpec": {
"azureBlobStorageDataSource": {
"privateNetworkService": "SERVICE_SELF_LINK",
"storageAccount": "AZURE_SOURCE_NAME",
"container": "AZURE_CONTAINER",
"azureCredentials": {
"sasToken": "AZURE_SAS_TOKEN",
}
},
"gcsDataSink": {
"bucketName": "GCS_BUCKET_NAME"
}
}
}
其中:
- SERVICE_SELF_LINK 是 Service Directory 服務的自我連結。該值使用格式
projects/{project_id}/locations/{location}/namespaces/{namespace}/services/{service}。
如要瞭解其他欄位,請參閱transferSpec 參考說明文件。
確認流量使用互連網路
使用 Cloud Monitoring 驗證從 AWS 或 Azure 流經互連的流量。
- 在 Google Cloud 控制台中,依序前往「混合式連線」>「Cloud Interconnect」。
- 選取連線至 AWS/Azure 環境的 VLAN 連結。
- 在連線的詳細資料頁面中,選取「監控」分頁標籤。尋找顯示資料移轉的指標。具體來說:
- 傳入位元組:這項指標顯示從 AWS 或 Azure 傳入 Google Cloud 虛擬私有雲的資料。
- 運作狀態:確認實體連線和 BGP 工作階段都處於正常運作狀態。