Storage Transfer Serviceイベントドリブン転送とバッチ転送の違いを検証してみた

Google Cloud

2023.12.21

Topics

はじめに

Storage Transfer Serviceのイベントドリブン転送で転送される範囲はどこまでなのか?
また、バッチ転送とイベントドリブン転送の違いは何か調べる必要があったため検証を行いました。
本記事は検証の結果をまとめた内容です。

Storage Transfer Serviceとは

Storage Transfer ServiceはGoogle CloudのサービスでCloud Storageに対してのファイル転送を行えるフルマネージドサービスです。
転送元としてサポートされているものの一例として以下のものがあります。
詳細は公式ドキュメントをご覧ください。

  • Cloud Storage
  • Amazon S3
  • S3 互換ストレージ
  • Azure Blob Storage
  • 一般公開または署名付きのHTTPおよびHTTPS URL
  • ファイルシステム

バッチ転送

バッチ転送は言葉通りバッチ的に一度に転送処理が行われます。

イベントドリブン転送

イベントドリブン転送は転送元にオブジェクトがアップロードされたことをトリガーに転送処理が行われます。

目的

今回はS3→Cloud Storage間のファイル転送を対象に検証しました。
検証の目的としては以下の通りです。

・Storage Transfer Serviceで転送される対象となるファイルは?
・ファイルがイベントドリブン転送にて転送された後、転送先からファイルを削除すると再度転送されるかどうか?

検証内容

検証は以下を実施しました。

  1. イベントドリブン転送を設定後、転送先からファイルを削除すると再度転送されるか?
  2. イベントドリブン転送を設定した上でバッチ転送を設定実施。
    バッチ転送完了後、転送先からファイルを削除すると再度転送されるか?

設定内容

イベントドリブン転送設定内容

転送元:Amazon S3
転送先:Google Cloud Storage
スケジュールモード:イベントドリブン
IAMロールのポリシー:S3Get、S3List、SQSDeleteMessage、SQSChangeMessageVisibility、SQSReceiveMessage
IAMロールの信頼関係:sts:AssumeRoleWithWebIdentity → accounts.google.com
上書きの条件:異なる場合

バッチ転送設定内容

転送元:Amazon S3
転送先:Google Cloud Storage
スケジュールモード:バッチ
IAMロールのポリシー:S3Get、S3List
IAMロールの信頼関係:sts:AssumeRoleWithWebIdentity → accounts.google.com
上書きの条件:異なる場合

①イベントドリブン転送を設定後、転送先からファイルを削除すると再度転送されるか?

イベントドリブン転送設定直後:ファイルアップロードのイベントが実施されていないため実行されない。
ファイルアップロード直後:アップロードしたファイルのみを対象に転送処理が実行される。
転送先からファイル削除後:再転送はされない。

②イベントドリブン転送を設定した上でバッチ転送を設定実施。
バッチ転送完了後、転送先からファイルを削除すると再度転送されるか?

バッチ転送実行後:
 削除したファイル:再度転送される。
 イベントドリブンで転送済みのファイル:上書きの条件によりスキップされる。

転送済みのファイルは上書きの条件によりますが、スキップされました。

まとめ

検証結果

検証結果としては以下のようになりました。

イベントドリブン転送で転送される範囲:転送元にアップロードされたファイルのみ
バッチ転送の仕組み:転送元に対してリスト オペレーションを実行し、対象のものが転送されます。
よくある質問 – ジョブの開始後にオブジェクトをソースバケットに追加した場合、そのオブジェクトは転送されますか?
イベントドリブン転送の仕組み:転送元に対する変更を検知し、転送されます。
イベントドリブン転送

イベントドリブン転送はアップロードされたオブジェクトをトリガーに転送を行うため、更新が続けられているバケットを移行するにはイベントドリブン転送に加えてバッチ転送を併用する必要があるようです。
要件によってバッチ転送を定期的に実行する必要があり、削除したものは転送対象から外したい場合にはStorage Transfer Serviceの設定で転送するデータを最終更新日時でフィルタすることが考えられます。

感想

公式ドキュメント-イベントドリブン転送にも併用するようにと記載がありました。

ライブ マイグレーション: 1 回限りのバッチ移行のフォローアップとして、イベント ドリブン転送により、ダウンタイムの短い移行を実現できます(数分程度のダウンタイム)。

結果的に検証することになったとしても、動作結果は予測出来ておくべきなのでしっかりドキュメントを読むべきであると改めて感じました。

reono

2022年4月、NHNテコラスに新卒入社。大学時代は山に登ったり、インドに行ったりしてました。

Recommends

こちらもおすすめ

Special Topics

注目記事はこちら