代理程式集區是使用相同設定的代理程式集合,可提供一致的來源和目的地存取權和可見度。代理程式集區也提供傳輸頻寬限制的控管功能。
所有服務專員都必須隸屬於代理程式集區。
本指南說明如何使用代理程式集區。
事前準備
您必須具備專案的正確權限,才能使用服務機器人集區。詳情請參閱「使用 IAM 控管存取權」。
您可以查看目前的權限。
如要使用 gcloud
指令,請安裝 gcloud 指令列工具。
建立代理程式集區
如要建立代理程式集區,請按照下列步驟操作:
Google Cloud 控制台
前往 Google Cloud 控制台的「Agent pools」頁面。
系統會顯示「代理程式集區」頁面,列出您現有的代理程式集區。
按一下「建立其他集區」。
為集區命名,並視需要提供說明。
您可以選擇設定頻寬限制,套用至整個資源池。指定的頻寬 (以 MB/s 為單位) 會分配給集區中的所有代理程式。詳情請參閱「管理網路頻寬」。
按一下 [建立]。
REST API
使用 projects.agentPools.create:
POST https://storagetransfer.googleapis.com/v1/projects/PROJECT_ID/agentPools?agent_pool_id=AGENT_POOL_ID
其中:
PROJECT_ID
:您要建立代理程式集區的專案 ID。AGENT_POOL_ID
:您要建立的服務專員集區 ID。
如果代理程式集區停留在 Creating
狀態超過 30 分鐘,建議您刪除代理程式集區並重新建立。
在代理程式集區處於 Creating
狀態時,從專案中撤銷必要的 Storage 移轉服務權限,會導致服務行為不正確。
gcloud CLI
如要使用 gcloud
指令列工具建立代理程式集區,請執行 gcloud transfer agent-pools create
。
gcloud transfer agent-pools create AGENT_POOL
可用的選項如下:
AGENT_POOL 是這個集區的專屬永久 ID。
--no-async
會在集區建立前,阻斷終端機中的其他工作。如果未納入,則會以非同步方式建立資源池。--bandwidth-limit
會定義這個集區的代理程式可以使用的頻寬量 (以 MB/s 為單位)。頻寬限制會套用至集區中的所有代理程式,可防止集區的轉移工作負載導致共用頻寬的其他作業發生中斷。舉例來說,輸入「50」即可將頻寬限制設為 50 MB/s。如未指定此標記,這個集區的代理程式會使用所有可用的頻寬。--display-name
是可變更的名稱,可用於識別這個集區。您可以加入可能不符合資源池專屬完整名稱的詳細資料。
將代理程式指派給集區
新的代理程式集區為空白,必須指派代理程式。代理程式只能在建立時指派給代理程式集區。
如果未指定代理程式集區,系統會將代理程式指派給 transfer_service_default
集區。
如要建立代理程式並指派至集區,請按照下列步驟操作:
Google Cloud 控制台
gcloud CLI
如要使用 gcloud
指令列工具建立代理程式並指派至資源池,請執行 gcloud transfer agents install
。代理程式必須安裝在具有檔案系統根目錄存取權的機器上。
gcloud transfer agents install --pool=AGENT_POOL
如要安裝可與 S3 相容來源搭配使用的代理程式,請提供存取憑證,做為 AWS_ACCESS_KEY_ID
和 AWS_SECRET_ACCESS_KEY
的值的環境變數,或儲存在系統設定檔中的預設憑證。
export AWS_ACCESS_KEY_ID=ID
export AWS_SECRET_ACCESS_KEY=SECRET
gcloud transfer agents install --pool=AGENT_POOL
詳情請參閱「管理轉移代理人」。
如需其他選項,請參閱「進階代理程式選項」。
如要管理代理程式,請參閱「管理轉移代理程式」。
將代理程式集區指派給工作
建立代理程式集區後,即可在工作建立或更新時,將其指派給工作。
更新代理程式集區
您可以更新服務專員集區的顯示名稱和頻寬限制。
如要更新代理程式集區,請按照下列步驟操作:
Google Cloud 控制台
前往 Google Cloud 控制台的「Agent pools」頁面。
您可以編輯下列項目:
代理程式集區的顯示名稱:按一下目前「代理程式集區」名稱旁的
「編輯」。代理程式集區的頻寬限制:按一下「設定頻寬限制」,然後在「設定頻寬限制」對話方塊中輸入新的頻寬限制。按一下「Set Limit」套用新的頻寬限制。頻寬會由集區中的所有代理程式共用。
REST API
如要更新代理程式集區,請使用 projects.agentPools.patch
搭配要更新欄位的欄位遮罩。您可以更新下列代理程式集區欄位:
舉例來說,如要將 displayName
更新為 my-transfer
,您需要提供欄位遮罩 "displayName,my-transfer"
。
以下是更新顯示名稱的修補要求範例:
PATCH https://storagetransfer.googleapis.com/v1/projects/PROJECT_ID/agentPools/AGENT_POOL:"displayName,NEW_DISPLAY_NAME"
其中:
PROJECT_ID
:您要更新代理程式集區的專案 ID。AGENT_POOL
:您要更新的服務專員集區名稱。NEW_DISPLAY_NAME
:這個代理程式集區的新顯示名稱。
以下是更新頻寬限制的修補要求範例:
PATCH https://storagetransfer.googleapis.com/v1/projects/PROJECT_ID/agentPools/AGENT_POOL:"bandwidthLimit,NEW_LIMIT"
其中:
PROJECT_ID
:您要更新代理程式集區的專案 ID。AGENT_POOL
:您要更新的代理程式集區 ID。NEW_LIMIT
:此代理程式資源池的新頻寬限制。
gcloud CLI
如要使用 gcloud
指令列工具更新代理程式集區,請執行 gcloud transfer agent-pools update
。
gcloud transfer agent-pools update AGENT_POOL \
[--bandwidth-limit=NEW_BANDWIDTH_LIMIT] [--clear-bandwidth-limit] \
[--clear-display-name] [--display-name=NEW_DISPLAY_NAME]
以下是必要引數:
- AGENT_POOL 是這個集區的專屬永久 ID。
AGENT_POOL
會指出要更新的代理程式集區,且無法自行更新。
您可以使用這個指令指定下列標記:
--bandwidth-limit
可以更新,也可以改為指定--clear-bandwidth-limit
來移除。如要進一步瞭解頻寬限制,請參閱「建立代理程式集區」。--display-name
可以更新,也可以改用--clear-display-name
旗標來刪除。
刪除代理程式集區
您可以刪除沒有執行中的代理程式和工作集區的代理程式集區。
如要刪除代理程式集區,請按照下列步驟操作:
Google Cloud 控制台
前往 Google Cloud 控制台的「Agent pools」頁面。
按一下
「刪除」。閱讀彈出式視窗,然後按一下「Delete」確認。如果刪除按鈕無法啟用,您必須停止與這個集區相關聯的所有代理程式和工作。
REST API
使用 projects.agentPools.delete:
DELETE https://storagetransfer.googleapis.com/v1/projects/PROJECT_ID/agentPools/AGENT_POOL
其中:
PROJECT_ID
:要刪除代理程式集區的專案 ID。AGENT_POOL
:代理程式集區名稱。
gcloud CLI
如要使用 gcloud
指令列工具刪除代理程式集區,請執行 gcloud transfer agent-pools delete
。
gcloud transfer agent-pools delete AGENT_POOL
以下是必要引數:
- AGENT_POOL 是這個集區的專屬永久 ID。
如要刪除集區,請先停止集區中的所有代理程式、停用集區的工作,且這個集區不得有任何進行中的轉移作業。
如要查看與集區相關聯的所有工作,請在 Google Cloud 控制台中選取集區,然後按一下「Transfer jobs」(轉移工作) 分頁。
取得代理程式集區
如要取得代理程式集區,請按照下列步驟操作:
Google Cloud 控制台
前往 Google Cloud 控制台的「Agent pools」頁面。
這個頁面會顯示與專案相關聯的所有服務人員資源池清單,以及每個服務人員資源池的以下資訊:
- 代理程式集區名稱
- 連線狀態
- 已連線的代理程式數量
- 頻寬限制 (如有)
- 相關聯的轉移工作數量
- 代理程式集區的顯示名稱
如要查看特定的代理人資源池,請按一下代理人資源池的「名稱」。
您可以在代理程式集區的資訊頁面中執行下列動作:
- 安裝代理程式:顯示安裝 Transfer 代理程式的操作說明。
- 停止代理程式:在表格中選取代理程式,然後按一下「停止代理程式」。
- 列出移轉工作:按一下「移轉工作」,即可顯示這個集區中已連結的移轉工作代理程式。
REST API
GET https://storagetransfer.googleapis.com/v1/projects/PROJECT_ID/agentPools/AGENT_POOL
其中:
PROJECT_ID
:您要取得代理程式集區的專案 ID。AGENT_POOL
:要擷取的代理程式集區。
gcloud CLI
如要使用 gcloud
指令列工具擷取代理程式集區,請執行 gcloud transfer agent-pools describe
。
gcloud transfer agent-pools describe AGENT_POOL
以下是必要引數:
- AGENT_POOL 是這個集區的專屬永久 ID。
列出代理程式集區
如要列出代理程式集區,請按照下列步驟操作:
Google Cloud 控制台
前往 Google Cloud 控制台的「Agent pools」頁面。
系統會顯示所有代理程式集區。
REST API
GET https://storagetransfer.googleapis.com/v1/projects/PROJECT_ID/agentPools
其中:
PROJECT_ID
:要列出代理程式集區的專案 ID。
gcloud CLI
如要使用 gcloud
指令列工具列出代理程式集區,請執行 gcloud transfer agent-pools list
。
gcloud transfer agent-pools list \
[--limit=LIMIT] \
[--names=[NAMES,...]] \
[--page-size=PAGE_SIZE]
您可以使用這個指令指定下列標記:
--limit
會定義要傳回的代理程式集區數量上限。--names
可指定要列出的代理程式集區名稱。請使用半形逗號分隔多個名稱,例如--names=foo,bar
。如果未指定,系統會列出目前專案中的所有代理程式集區。--page-size
會定義此指令的批次處理行為。根據預設,list
指令會將回應分批處理成 256 個項目,並自動擷取下一個批次,直到所有項目都列出或達到limit
為止。
這個指令會傳回相符的服務專員集區清單,以及這些集區的設定詳細資料。以下範例顯示回應範例。
name: projects/my-project-123/agentPools/my-first-pool
state: CREATED
---
bandwidthLimit:
limitMbps: '120'
displayName: Source A to destination Z.
name: projects/my-project-123/agentPools/a2z-pool
state: CREATED