ファイル システム転送ジョブを作成する前に、必要な API を有効にして Docker をインストールする必要があります。
初回設定中にエラーが発生した場合は、設定手順に必要な権限がログイン ユーザーに付与されていることを確認してください。多くの場合、これらの権限はすべてのユーザーに付与されているわけではありません。プロジェクト管理者のサポートが必要になることがあります。
システム要件
Storage Transfer Service をファイル システム転送で使用するには、以下が必要です。
POSIX 準拠のソースまたは宛先。
保持ポリシーが設定されていない Cloud Storage バケット保持ポリシーが設定されたバケットに転送するには、 保持ポリシーが設定されたバケットに転送するをご覧ください。
送信接続用に TCP ポート 443(HTTPS)が開いていること。
転送エージェント マシンの要件は次のとおりです。
転送するデータにアクセス可能な Docker 対応の 64 ビット Linux サーバーまたは仮想マシン。 Docker Community Edition は、CentOS、Debian、Fedora、Ubuntu オペレーティング システムをサポートしています。
他の Linux オペレーティング システムを使用するには、Docker Enterprise をご覧ください。
効率的な処理を行うには、コンテナあたり少なくとも 8 GB のメモリと 4 個以上の CPU を割り当てる必要があります。
ulimit -uによる構成など、許可されるプロセス ID の数にシステムレベルまたはユーザーレベルの制約がある場合は、実行するエージェントの数を考慮する必要があります。個々のエージェント プロセスは数百のスレッドを作成する場合があります。転送エージェントを実行するときは、プロセス ID の上限を削除することをおすすめします。Podman を使用してエージェント コンテナを作成するには、Storage Transfer Service エージェント スレッドに対応できる十分な
--pids-limit値を指定する必要があります。デフォルトの--pids-limit値は 2048 です。これにより、複数のエージェントを実行すると問題が発生する可能性があります。コンテナごとに無制限のプロセス ID を許可するには、--pids-limit=-1を設定することをおすすめします。
ジョブとエージェントのスケーリング制限
Storage Transfer Service では、転送ジョブとエージェントに次のスケーリング制限があります。
- ジョブあたり 10 億ファイル未満
- 帯域幅上限が 1 MBps 以上
- エージェント プールあたり最大 100 個のエージェント
- プロジェクトあたり最大 800 のエージェント プール
API を有効にする
-
Google Storage Transfer API を有効にします。
API を有効にするために必要なロール
API を有効にするには、
serviceusage.services.enable権限を含む Service Usage 管理者 IAM ロール(roles/serviceusage.serviceUsageAdmin)が必要です。詳しくは、ロールを付与する方法をご覧ください。
Docker のインストール
Google Cloud CLI または Docker を使用して 転送エージェントをインストールして実行する場合は、 物理または仮想の Linux マシンに Docker Engine をインストールします。
Podman を使用して転送エージェントをインストールして実行する場合は、 the 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