檔案系統轉移作業的相關規定

建立檔案系統移轉工作前,您必須啟用必要的 API 並安裝 Docker。

如果在首次設定時收到錯誤訊息,請確認登入的使用者具備執行設定步驟所需的權限。在許多情況下,並非所有使用者都能取得這些權限,您可能需要與專案管理員聯絡,尋求協助。

系統需求

如要使用 Storage 移轉服務進行檔案系統移轉,您必須:

轉移代理程式機器需求如下:

  • 支援 Docker 的 64 位元 Linux 伺服器或虛擬機器,可存取您要轉移的資料。Docker Community Edition:支援 CentOS、Debian、Fedora 和 Ubuntu 作業系統。

    如要使用其他 Linux 作業系統,請參閱 Docker Enterprise。

  • 每個容器至少要有 8 GB 記憶體和四個 CPU,才能發揮最大效益。

  • 系統層級或使用者層級對允許的程序 ID 數量設有任何限制 (例如使用 ulimit -u 設定),都必須考量您打算執行的代理程式數量。每個代理程式程序最多可建立數百個執行緒。建議您在執行移轉代理程式時,移除程序 ID 限制。

    如果客戶使用 Podman 建立代理程式容器,應指定足夠高的 --pids-limit 值,以容納 Storage 移轉服務代理程式執行緒。預設的 --pids-limit 值為 2048,在執行多個代理程式時可能會發生問題。建議將 --pids-limit=-1 設為允許每個容器有無限個程序 ID。

必要端點

移轉代理程式必須能存取下列 DNS 端點。雖然代理程式可能只會根據其設定使用這些端點的子集,但應允許所有端點,以確保完整功能。

Google 端點

這份必要端點清單可能會有變動。為避免轉移作業中斷,建議您允許基本 googleapis.com 網域和 gcr.io (前提是貴機構的安全性政策允許)。

端點 服務 目的
storagetransfer.googleapis.com Storage 移轉服務 代理程式會使用這個帳戶連線至 Storage 移轉服務、接收移轉工作,以及回報健康狀態。
storage.googleapis.com Cloud Storage 用於執行核心資料移轉作業,包括列出、讀取及寫入 Cloud Storage bucket 中的物件。
www.googleapis.com Google API 用於下載移轉代理程式的版本更新。
monitoring.googleapis.com Cloud Monitoring 用於匯出移轉效能和代理健康狀態指標。
logging.googleapis.com Cloud Logging 用於發布代理系統和活動記錄。
oauth2.googleapis.com Google OAuth 2.0 用於安全交換憑證,以及擷取短期存取權杖,以便授權 API。
iamcredentials.googleapis.com IAM 服務帳戶憑證 如果代理程式設為模擬特定服務帳戶,則會用於產生臨時憑證。
cloudresourcemanager.googleapis.com Resource Manager 在安裝及設定代理程式時,用於驗證專案設定和權限。
gcr.io Container Registry 用於在安裝期間下載 Storage 移轉服務代理程式容器映像檔。

為提高傳輸效能,代理程式與各種端點通訊時,可能會使用不同的 HTTP 通訊協定,至少包括 HTTP/1.1 和 HTTP/2。請確認設定的 Proxy 或防火牆能妥善支援所有這些通訊協定類型,且效能良好。

地區端點

如果您已將代理程式設為使用區域端點 (例如 storage.REGION.rep.googleapis.com),則 Proxy 或防火牆規則必須允許這些特定網域名稱,而非標準 storage.googleapis.com 端點。

來源和目的地儲存空間端點

代理程式也需要網路存取權,才能存取特定的來源和目的地儲存系統,例如與 S3 相容的 API、HDFS 叢集或 POSIX 的 NFS。

工作和代理的擴充限制

Storage 移轉服務對移轉工作和代理程式有下列規模限制:

  • 每項工作少於 10 億個檔案
  • 頻寬上限必須超過 1 MBps
  • 每個代理集區最多 100 個代理
  • 每項專案最多 800 個代理程式集區

啟用 API

  1. 啟用 Google Storage Transfer API (如果尚未啟用)。

    啟用 API 所需的角色

    您必須具備 serviceusage.services.enable 權限,才能啟用 API。如果您建立了專案,可能已透過擁有者角色 (roles/owner) 取得這項權限。否則,您可以透過 Service Usage 管理員角色 (roles/serviceusage.serviceUsageAdmin) 取得這項權限。瞭解如何授予角色。

    啟用 API

安裝 Docker

如果您使用 Google Cloud CLI 或 Docker 安裝及執行移轉代理程式,請在實體或虛擬 Linux 機器上安裝 Docker Engine。

如果您使用 Podman 安裝及執行移轉代理程式,請直接跳到 Podman 專屬安裝操作說明。

curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
sudo systemctl enable docker --now

如果發生安裝錯誤,請參閱「疑難排解」一節。

允許 Docker 進行驗證

如要允許 Docker 容器使用 gcloud 預設憑證進行驗證,請執行下列指令,建立含有應用程式預設憑證檔案的 Docker 磁碟區:

sudo docker run -ti --name gcloud-config google/cloud-sdk gcloud auth application-default login

後續步驟