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