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

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

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

系統需求

如要使用 Storage 移轉服務轉移檔案系統,您需要:

  • 符合 POSIX 標準的來源和/或目的地。

  • 沒有保留政策的 Cloud Storage bucket。如要轉移至設有保留政策的 bucket,請參閱「轉移至設有保留政策的 bucket」。

  • 開啟對外連線的 TCP 通訊埠 443 (HTTPS)。

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

  • 支援 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 時所需的角色

    如要啟用 API,您需要具備服務使用情形管理員 IAM 角色 (roles/serviceusage.serviceUsageAdmin),其中包含 serviceusage.services.enable 權限。瞭解如何授予角色

    啟用 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

後續步驟