エージェント プールは、ソースと移行先への統一されたアクセスと可視性を持つ、同じ構成を使用するエージェントの集合です。エージェント プールでは、転送の帯域幅の上限も制御できます。
すべてのエージェントはエージェント プールに属している必要があります。
このガイドでは、エージェント プールの使用方法について説明します。
始める前に
エージェント プールを操作するには、プロジェクトに対する適切な権限が必要です。詳しくは、IAM によるアクセス制御をご覧ください。
現在の権限を表示できます。
gcloud
コマンドを使用するには、gcloud コマンドライン ツールをインストールします。
エージェント プールの作成
エージェント プールを作成するには:
Google Cloud コンソール
Google Cloud コンソールで、[エージェント プール] ページに移動します。
[エージェント プール] ページが開き、既存のエージェント プールが一覧表示されます。
[別のプールを作成] をクリックします。
プールに名前を付け、必要に応じて説明を入力します。
プール全体に適用される帯域幅上限を設定できます。指定された帯域幅(MB/秒)は、プール内のすべてのエージェント間で分割されます。詳細については、ネットワーク帯域幅の管理をご覧ください。
[作成] をクリックします。
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 Transfer Service の権限を取り消すと、サービスで誤った動作が発生します。
gcloud CLI
gcloud
コマンドライン ツールを使用してエージェント プールを作成するには、gcloud transfer agent-pools create
を実行します。
gcloud transfer agent-pools create AGENT_POOL
次のオプションがあります。
AGENT_POOL は、このプールの一意の永続的な識別子です。
--no-async
を使用すると、プールが作成されるまでターミナル内の他のタスクがブロックされます。指定しない場合は、プールの作成が非同期で実行されます。--bandwidth-limit
には、このプールのエージェントが利用できる帯域幅の量を MB/秒単位で定義します。帯域幅の上限はプール内のすべてのエージェントに適用されます。この上限により、プールの転送ワークロードによって、帯域幅を共有するほかのオペレーションが中断される事態を防ぐことができます。たとえば、「50」と入力すると、帯域幅の上限が 50 MB/秒に設定されます。このフラグを指定しないと、このプールのエージェントは使用可能なすべての帯域幅を使用します。--display-name
は、このプールを識別するための名前です。この名前は変更可能です。プールの一意の完全なリソース名に一致しない詳細情報を含めることもできます。
エージェントをプールに割り当てる
新しいエージェント プールは空です。エージェントを割り当てる必要があります。エージェントは、エージェントの作成時にのみエージェント プールに割り当てることができます。
エージェント プールが指定されていない場合、エージェントは transfer_service_default
プールに割り当てられます。
エージェントを作成してプールに割り当てるには:
Google Cloud コンソール
[エージェント プール] ページで、エージェントを割り当てるプールを選択します。
[エージェントをインストール] をクリックします。エージェント インストール ガイドが表示されます。
手順に沿って、このエージェント プールにエージェントを作成します。
gcloud CLI
gcloud
コマンドライン ツールを使用してエージェントを作成し、プールに割り当てるには、gcloud transfer agents install
を実行します。エージェントは、ファイル システムに対して root 権限を持つマシンにインストールする必要があります。
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 コンソールで、[エージェント プール] ページに移動します。
次の項目を編集できます。
エージェント プールの表示名: 現在のエージェント プール名の横にある [
編集] をクリックします。エージェント プールの帯域幅上限: [帯域幅の上限を設定] をクリックし、[帯域幅の上限を設定] ダイアログで新しい帯域幅の上限を入力します。[上限を設定] をクリックして、新しい帯域幅上限を適用します。帯域幅はプール内のすべてのエージェントで共有されます。
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 は、このプールの一意の永続的な識別子です。
AGENT_POOL
には、更新するエージェント プールを指定します。これ自体を更新することはできません。
このコマンドには、次のフラグを指定できます。
--bandwidth-limit
を更新または削除するには、--clear-bandwidth-limit
を指定します。帯域幅の上限の詳細については、エージェント プールの作成をご覧ください。--display-name
は、更新するか、代わりに--clear-display-name
フラグを使用して削除できます。
エージェント プールの削除
アクティブなエージェントがなく、アクティブなジョブ実行がないエージェント プールは削除できます。
エージェント プールを削除するには:
Google Cloud コンソール
Google Cloud コンソールで、[エージェント プール] ページに移動します。
[
削除] をクリックします。 ポップアップの内容を確認し、[削除] をクリックして確定します。削除ボタンがアクティブでない場合は、このプールに関連付けられているすべてのエージェントとジョブを停止する必要があります。
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 は、このプールの一意の永続的な識別子です。
プールを削除する前に、プール内のすべてのエージェントを停止する必要があります。また、プールのジョブを無効にし、このプールに進行中の転送オペレーションが発生しないようにする必要があります。
プールに関連付けられているすべてのジョブを表示するには、Google Cloud Console でプールを選択し、[転送ジョブ] タブをクリックします。
エージェント プールの取得
エージェント プールを取得するには:
Google Cloud コンソール
Google Cloud コンソールで、[エージェント プール] ページに移動します。
このページには、プロジェクトに関連付けられているすべてのエージェント プールのリストと、各エージェント プールの次の情報が表示されます。
- エージェント プール名
- 接続ステータス
- 接続済みのエージェントの数
- 帯域幅上限(設定されている場合)
- 関連付けられている転送ジョブの数
- エージェント プールの表示名
特定のエージェント プールを表示するには、エージェント プールの [名前] をクリックします。
エージェント プールの情報ページでは、次の操作を行うことができます。
- エージェントのインストール: 転送エージェントのインストール手順を表示します。
- エージェントの停止: テーブルでエージェントを選択して、[STOP AGENT] をクリックします。
- 転送ジョブを一覧表示する: [転送ジョブ] をクリックして、このプールのエージェントが接続されている転送ジョブを表示します。
REST API
projects.agentPools.get を使用します。
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 は、このプールの一意の永続的な識別子です。
エージェント プールの一覧表示
エージェント プールを一覧表示するには:
Google Cloud コンソール
Google Cloud コンソールで、[エージェント プール] ページに移動します。
すべてのエージェント プールが表示されます。
REST API
projects.agentPools.list を使用します。
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