ファイル システム転送ジョブを作成する前に、必要な 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 を使用してエージェント コンテナを作成するには、Storage Transfer Service エージェント スレッドに対応できる十分な
--pids-limit
値を指定する必要があります。デフォルトの--pids-limit
値は 2048 です。これにより、複数のエージェントを実行すると問題が発生する可能性があります。コンテナごとに無制限のプロセス ID を許可するには、--pids-limit=-1
を設定することをおすすめします。
ジョブとエージェントのスケーリング制限
Storage Transfer Service では、転送ジョブとエージェントに次のスケーリング制限があります。
- ジョブあたり 10 億ファイル未満
- 帯域幅上限が 1 MBps 以上
- エージェント プールあたり最大 100 個のエージェント
- プロジェクトあたり最大 800 のエージェント プール
API を有効にする
-
Enable the Google Storage Transfer API.
Docker のインストール
Google Cloud CLI または Docker を使用して転送エージェントをインストールして実行する場合は、物理マシンまたは仮想マシンに Docker Engine をインストールします。
Podman を使用して転送エージェントをインストールして実行する場合は、Podman 固有のインストール手順に直接進みます。
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