建立檔案系統移轉工作前,請先啟用必要 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
-
啟用 Google Storage Transfer API。
啟用 API 時所需的角色
如要啟用 API,您需要具備服務使用情形管理員 IAM 角色 (
roles/serviceusage.serviceUsageAdmin),其中包含serviceusage.services.enable權限。瞭解如何授予角色。
安裝 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