Cloud Service
Storage Transfer Service
大量データをオンラインでクラウドストレージへ転送・同期するマネージドサービス。AWS DataSync に相当する。
- 1.オンプレや他クラウド、URL リストから Cloud Storage へ大量データをマネージドに転送できる。
- 2.増分転送とスケジュール実行で、初回移行から継続同期までを Google 管理のインフラに任せられる。
- 3.エージェントレス転送とエージェントベース転送を対象に応じて使い分ける。
解決する課題
テラバイト級・ペタバイト級のデータを Cloud Storage に移すとき、自前のスクリプトで gsutil を回し続けると、リトライ・並列度・進捗管理・再開といった面倒を自分で抱え込むことになります。Storage Transfer Service は、この大規模なデータ移動を Google 管理のインフラに任せられるサービスです。
- 他クラウド(Amazon S3 や Azure Blob Storage)やオンプレのファイルシステムから、大量データを Cloud Storage へまとめて移行する
- 一度きりの移行だけでなく、定期スケジュールで継続的に同期し、ソースとデスティネーションを揃え続ける
- 転送のリトライ・並列化・進捗追跡を自分で実装せず、マネージドに任せて運用負荷を下げる
- ネットワーク帯域やデータ量が大きく、手元のマシンからの転送では現実的でないケースをスケーラブルに処理する
主要概念と用語
- 転送ジョブ(transfer job): 転送の設定本体。ソース・デスティネーション・スケジュール・フィルタなどを定義し、繰り返し実行できるテンプレートとして機能する
- 転送オペレーション(transfer operation): 転送ジョブが実際に実行された 1 回分の処理。進捗や結果はこの単位で確認する
- ソース / デスティネーション: 転送元と転送先。デスティネーションは基本的に Cloud Storage バケットで、ソースは他クラウドのオブジェクトストレージ・URL リスト・オンプレのファイルシステムなどを取れる
- エージェントレス転送: ソースが他クラウドのオブジェクトストレージや公開 URL の場合に、エージェントを置かずに Google のインフラ経由で転送する方式
- エージェントベース転送: オンプレや POSIX 互換のファイルシステムを対象に、ローカル環境で転送エージェントを起動して行う方式
- 転送エージェント(transfer agent): ファイルシステム転送時にオンプレ側で動かすソフトウェア。複数台をエージェントプールとして束ね、並列度とスループットを高める
- 増分転送(incremental transfer): ソースとデスティネーションを比較し、差分のオブジェクトだけを転送する仕組み。継続同期で帯域とコストを抑える
- 同期オプション: ソースにしかないものを上書きするか、デスティネーションにしか無いものを削除するかなどを制御する設定。ミラー同期かマージかを決める
仕様・制限・クォータ
- デスティネーションは基本的に Cloud Storage バケット。ソースには Amazon S3・Azure Blob Storage・別の Cloud Storage バケット・URL リスト・オンプレ/POSIX ファイルシステムなどを指定できる
- エージェントレスで扱えるのはオブジェクトストレージや URL リストが中心で、ファイルシステム転送はエージェントベースになる、という対象による方式の違いがある
- 転送対象はプレフィックスや最終更新時刻などのフィルタで絞り込める。これにより一部だけの転送や継続同期での差分抽出を行う
- 増分(差分)転送が基本動作で、再実行時はソースとデスティネーションを比較して変化分のみを送る
- 転送ジョブ数・同時オペレーション数・エージェント数などには上限/クォータがあり、具体値は変動するため公式の最新値を確認する
- 大量データの転送には相応のネットワーク帯域が必要。物理的な郵送が適する超大量ケースでは、別途オフライン移送の選択肢を検討する
継続同期では「デスティネーションにあってソースに無いオブジェクトを削除する」設定を選べますが、これはミラー同期となり、ソース側の誤削除がそのままデスティネーションへ伝播します。バックアップではなく同期であることを理解し、削除系オプションは慎重に有効化してください。
内部の仕組み
Storage Transfer Service は、転送ジョブの定義をもとに Google 管理のインフラ(またはオンプレのエージェント)がソースとデスティネーションのオブジェクト一覧を突き合わせ、必要な分だけを並列に転送する、というモデルで動きます。
- リスティングと比較: ソースとデスティネーションのオブジェクトを列挙し、名前・サイズ・チェックサムや更新時刻を比較して、転送が必要な対象を決定する
- 並列転送: 決定した対象を多数同時に転送する。エージェントレスでは Google 側がスケールし、エージェントベースではエージェントプールの台数でスループットが決まる
- 増分の維持: 2 回目以降の実行では差分のみを送るため、初回はフル、以降は変化分という形で継続同期が成立する
- 整合性チェック: 転送後にチェックサム等で転送の完全性を検証し、失敗分はリトライされる。これにより手作りスクリプトでありがちな取りこぼしを避ける
- 再開性: 大規模転送の途中で問題が起きても、マネージドにリトライ・継続されるため、ゼロからやり直す必要が少ない
エージェントベース転送では、オンプレに置いたエージェントがローカルのファイルを読み出して送出する役割を担うため、エージェントの台数と配置がそのまま転送性能に効きます。
設計パターン / ベストプラクティス
- 初回フル+継続同期: 最初に全量を移行し、その後はスケジュール実行で差分のみを同期してソースとデスティネーションを揃え続ける
- 対象に応じた方式選択: 他クラウドのオブジェクトストレージはエージェントレス、オンプレのファイルシステムはエージェントベースと使い分ける
- エージェントプールでスケール: ファイルシステム転送ではエージェントを複数台動かして並列度を上げ、目標時間内に転送を収める
- フィルタで範囲を限定: プレフィックスや更新時刻で対象を絞り、不要なデータの転送やコストを避ける
- クラウド間移行の標準手段: S3 や Azure Blob から Cloud Storage へ移すマルチクラウド移行で、自前ツールの代わりに利用する
- オフライン移送との使い分け: ネットワーク転送が現実的でない超大量データは、物理メディアによるオフライン移送と役割分担する
「一度だけ移す」のか「継続的に揃え続ける」のかで、スケジュールと削除オプションの設計が変わります。移行(マージ)と同期(ミラー)を最初に切り分け、削除系オプションを使うかどうかを明示的に決めておきましょう。
運用・監視
- Cloud Monitoring で転送量・転送オブジェクト数・エラー数などを可視化し、失敗時に通知する
- Cloud Logging に転送イベントを出力し、どのオブジェクトが転送・スキップ・失敗したかを追跡する
- 転送オペレーション単位で進捗と結果を確認し、失敗したオブジェクトのリトライ状況を把握する
- エージェントベース転送では、エージェントの稼働状況とプールの健全性を監視し、台数不足によるスループット低下を検知する
- 継続同期では、想定外の大量転送(ソース側の大規模変更)をコスト・帯域の観点で監視する
コスト
Storage Transfer Service 自体の利用料は、対象や方式によって扱いが異なります。一般に意識すべき主なコスト要因は次のとおりで、具体的な料金は変動するため最新の料金ページで確認してください。
- データ量と転送頻度: 転送・同期するデータ量が増えるほど、関連する処理・ネットワークのコストが増える
- 下り(egress)料金: 他クラウドからの転送では、ソース側クラウドのデータ転送(下り)料金が別途かかる点に注意する
- デスティネーションのストレージ: 転送先 Cloud Storage の保管料金・操作料金が継続的に発生する
- 差分転送で抑制: 増分転送とフィルタで不要なデータ移動を減らし、総コストを抑える
セキュリティ
- 転送データは転送中および保存時に暗号化される。デスティネーション側は Cloud Storage の暗号化に従い、要件に応じて Cloud KMS(CMEK) を利用できる
- 操作の権限は Cloud IAM で制御し、転送ジョブの作成・実行・閲覧を最小権限で分離する
- 他クラウドをソースにする場合は、**ソース側の認証情報(アクセスキーや委任)**を安全に扱い、読み取りに必要な最小限の権限のみを付与する
- 転送オペレーションは Cloud Audit Logs / Cloud Logging で追跡し、誰がどの転送を実行したかを監査する
- エージェントベース転送では、エージェントを動かすホストとネットワーク経路を保護し、転送エージェントの認証情報を厳重に管理する
他クラウドからの転送では、ソースのオブジェクトを読むための認証情報を渡す必要があります。広すぎる権限のキーを使うと、漏えい時の被害が転送対象外まで及びます。読み取り専用かつ対象を限定した認証情報を用意し、Secret Manager 等で安全に管理しましょう。
Well-Architected の観点
- 運用上の優秀性(operational excellence): 大規模なデータ移動を自前スクリプトで運用せず、マネージドなリトライ・並列化・進捗管理に任せることで、移行と継続同期を再現性高く運用できる。スケジュールとフィルタで定常的なデータ同期を自動化し、人的ミスを減らす
試験で問われるポイント
- AWS DataSync に相当する、大量データをオンライン転送・同期するマネージドサービスである点
- デスティネーションは基本的に Cloud Storage、ソースは他クラウドのオブジェクトストレージ・URL リスト・オンプレのファイルシステムを取れること
- 他クラウドのオブジェクトストレージはエージェントレス、オンプレのファイルシステムは**エージェントベース(転送エージェント)**で行う使い分け
- 増分(差分)転送とスケジュール実行で、初回移行から継続同期までをカバーすること
- 他クラウドからの転送では、ソース側クラウドの下り料金が別途発生する点
- 超大量データで物理移送が適する場合は、ネットワーク転送とオフライン移送を使い分けること
関連サービス・比較
最も近い AWS サービスは AWS DataSync です。位置づけと考え方の対応を整理します。
| 観点 | Storage Transfer Service(GCP) | AWS DataSync(AWS) |
|---|---|---|
| 位置づけ | 大量データのオンライン転送・同期 | 大量データのオンライン転送・同期 |
| 主なデスティネーション | Cloud Storage | Amazon S3・EFS・FSx ほか |
| 他クラウド連携 | S3・Azure Blob をソースに可 | 他ストレージとの連携あり |
| オンプレ転送 | 転送エージェント方式 | DataSync エージェント方式 |
| 転送方式 | 増分・スケジュール対応 | 増分・スケジュール対応 |
| 権限管理 | Cloud IAM | AWS IAM |
| 暗号鍵 | Cloud KMS(CMEK) | AWS KMS |
GCP 内では、少量・手作業の転送なら gsutil や gcloud storage でも足りますが、大量データを継続的・マネージドに移動/同期したい場合に Storage Transfer Service を使う、という棲み分けになります。
ハンズオン / CLI例
Google Cloud CLI の gcloud transfer コマンド群で転送ジョブを作成・実行します。実際のサブコマンドやフラグは環境により異なるため、最新のヘルプを確認してください。
# 別の Cloud Storage バケットから対象バケットへ転送ジョブを作成
gcloud transfer jobs create gs://source-bucket gs://dest-bucket \
--name="my-transfer-job" \
--description="Initial migration plus incremental sync"
# Amazon S3 をソースに転送ジョブを作成(認証情報ファイルを指定)
gcloud transfer jobs create s3://source-bucket gs://dest-bucket \
--source-creds-file=./aws-creds.json
# 転送ジョブの一覧を確認
gcloud transfer jobs list
# 特定の転送ジョブの詳細と直近のオペレーションを確認
gcloud transfer jobs describe my-transfer-job
# 利用可能なコマンドとフラグを確認
gcloud transfer --help
Google Cloud Service
Storage Transfer Serviceを実務で読む
TL;DRは入口です。実際に選ぶ・使う段階では、何を解決するか、何と比較するか、導入後にどこで詰まるかまで見る必要があります。
解決すること
移行・転送
比較で見る軸
クラウド: Google Cloud / カテゴリ: 移行・転送 / 難易度: basic
導入後に効く点
増分転送とスケジュール実行で、初回移行から継続同期までを Google 管理のインフラに任せられる。
先に潰すリスク
サービス単体ではなく、権限、ネットワーク、監視、課金、バックアップを含めて設計する必要がある。
- クラウド
- Google Cloud
- カテゴリ
- 移行・転送
- 難易度
- basic
- 関連資格
- —
- 設計柱
- operational
判断チェックリスト
- 自社の用途が「移行・転送 / operational」に近いか確認する。
- 強みである「オンプレや他クラウド、URL リストから Cloud Storage へ大量データをマネージドに転送できる。」が本当に評価軸になるか確認する。
- 注意点の「サービス単体ではなく、権限、ネットワーク、監視、課金、バックアップを含めて設計する必要がある。」を運用で吸収できるか確認する。
- 公開値や仕様値は、対象プラン・対象機種・対象リージョンまで確認する。
- 既存システム、ID、ネットワーク、監視、バックアップとの接続方法を先に洗い出す。
- 小さく試してから、本番移行、権限設計、障害時手順、コスト監視を決める。