Google Clould の Storage Transfer Service でAzure Blob Storageからデータコピー
本記事では、Google Cloud の Storage Transfer Service で、Azure Blob Storageからデータコピーする手順をご紹介します。
Storage Transfer Service について
Storage Transfer Service とは、Google Cloud、Amazon、Azure、オンプレミスなどにあるデータを迅速かつ安全に転送することができる Google Cloud のサービスです。
小規模なデータの移動は、AWSとの間のデータセットの場合など、 gsutil rsync
を利用することができます。
一方、大規模なデータセットになると、gsutil では時間がかかり安全性も下がってきます。
そういった際に利用できるのが Storage Transfer Service です。
以下のような特徴が挙げられます。
- コード、コマンドを使用せずに転送が可能
- 転送ステータスをモニタリングする管理画面が利用可能
- コスト、時間、スケジュールを管理し、ビジネスのニーズに合わせた柔軟なデータ転送設定が可能
- 高いセキュリティと信頼性
Storage Transfer Service を利用するシナリオとしては、以下のような内容が考えられます。
- AWSから 1TB 超転送する
- オンプレミスから 1TB 超のデータを転送する
- 別のクラウドストレージプロバイダ(Azureなど) から転送する
- 別の Google Cloud Storage リージョンから 1TB 超のデータを転送する
サービスの詳細は、公式サイトもご確認ください。
Azure Blob Storage からのデータ転送
この記事では Azure Blob Storage から Google Cloud にデータを転送するの手順をご紹介いたします。
(1) Azure Blob Storage の準備
コンテナとファイルの用意
Azure Blob Storage に以下を用意して実施しています。
- ストレージアカウント: storagetransfertest8320
- コンテナ: storage-transfer-test
コンテナ内に、転送テスト用のPDFファイルをアップロードしています。
SASの作成
Shared Access Signature(SAS)を作成します。
これは、 Storage Transfer Service から Azure Blob Storage にアクセスするための認証情報となります。
ストレージアカウントの画面の左メニュー 「セキュリティとネットワーク 」の項目にある、「Shared Access Signature」を開きます。
「使用できるサービス」 のすべてにチェックを入れ、与えられているアクセス許可 で、「読み取り」 , 「リスト」 をチェックします。
このチェックは、必要最低限のものにした方が良いです。
下までスクロールし 「SAS と接続文字列を生成する」 をクリックします。
SAS と接続文字列 が生成されます。
今回は、?
から始まっている 「SASトークン」 を使用します。
(2) Storage Transfer Service の設定
Google Cloud の Storage Transfer Service は、 「ストレージ」 の項目にあります。
転送ジョブ作成
「転送ジョブ作成」 を押します。
ステップ1 の「開始」にある、参照元の種類で 「Azure Blob Storage(Azure Data Lake Storage Gen2 を含む) 」を選択します。
次に ステップ2 の「ソースの選択」に進みます。
ここで (1) 「Azure Blob Storage の準備」 で準備した以下の項目を入力します。
- ソースストレージアカウント名
- コンテナまたはフォルダ
- Shared Access Signature(SAS)
ステップ 3 の「転送先の選択」に進みます。今回は、事前に用意したバケットを利用しています。
ステップ 4 の「ジョブを実行するタイミングの選択」に進みます。
今回は、以下を選択しています。
- 1 回だけ実行
- 今すぐ開始
を設定しています。
この他には、以下のように実行タイミングを柔軟に設定することが出来ます。
- 毎日実行
- 毎週実行
- カスタム頻度で実行
ステップ 5 の「設定の選択」に進みます。
ここでは、実行時の動作を設定することができます。
例を挙げると
- メタデータのオプション
GCSでは、ストレージクラスがあります。転送後のファイルへのアクセス頻度により、転送時に指定することが出来ます。 - 上書き条件
同じファイルがあった場合にスキップ、変更があった場合に上書き、内容に関わらず上書きなどの設定が出来ます。 - 削除のタイミング
削除しない、転送完了後に転送元のファイルを削除、転送元に存在しないファイルを転送先から削除などの設定が出来ます。
各種設定ができ、柔軟に設定が可能です。
※ 設定方法は、公式サイトもご確認下さい。
この設定を行い、「作成」ボタンを押すと設定が完了します。
今回は、「今すぐ開始」を選択しているので、すぐに実行が始まります。
実行状況、結果確認
上記の ステップ5 で 「作成」ボタンを押すと一覧画面に戻ります。
ここで、ステータスが確認できます。
以下の図では、「今すぐ開始」 で処理が実行されているため、ステータスが「処理中」 になっています。
処理が完了すると 「成功」 となります。
実際にGCSのバケットを確認すると、Azure Blob Service にアップロードしたファイルが転送されています。
Storage Transfer Service の料金について
転送料金は、合計バイト数に「1 GB あたり $0.0125」が適用されます。
小さいデータセットの移動も可能ですが、1TB以上の比較的大きなデータセットを対象としています。
詳細は、公式サイトをご確認下さい。
Storage Transfer Service の料金
まとめ
Storage Transfer Service を利用することで、他のクラウドプロバイダーに保存しているデータを簡単に Google Cloud Storage に転送することが出来ます。
コードを書かずに設定でき、柔軟な実行条件を設定できるのも特徴です。
Google Cloud Storage に転送後は、BigQueryへインポートして利用するなど Google Cloud の各種サービスでの利用がしやすくなります。
特に、既存のAzureのシステムを活用しながら、BigQueryでのデータ分析を行いたい場合など、マルチクラウドを実現する一つの方法としてご検討ください。
TD SYNNEX では、Google Cloud と Microsoft Azure ともに取り扱っております。
マルチクラウドのでの利用も可能となりますので、ご興味のある方はお気軽にお問い合わせください。