こんにちは、香田です。
今回はStorage Transfer Serviceでジョブを毎時実行させる方法について紹介していきます。
GCPで提供されているStorage Transfer Serviceを利用し、S3のデータをCloud Storageへ毎時転送できるようにしていきます。
Storage Transfer Serviceについて
Storage Transfer Serviceを使用すると、AWS S3やAzure Blob StorageといったクラウドのデータをCloud Storageへ簡単に転送可能となります。
クラウドデータのデータ転送はスケジュール設定によって、下記のように1回限りや繰り返しジョブとして転送することが可能です。
Storage Transfer Serviceの利用料金は、基本無料で利用可能になっています。
S3バケット、Cloud Storageバケットの作成
はじめに転送元のS3バケットと転送先のCloud Storageバケットを作成していきます。
S3バケットを作成します。
aws s3 mb s3://<バケット名>; --region ap-northeast-1
Cloud Storageバケットを作成します。
gsutil mb -l asia-northeast1 gs://<バケット名>;
転送ジョブの作成
次に転送ジョブを作成していきます。
GCP コンソール画面より[Data Transfer]、[Transfer Service|クラウド]を選択し、[転送ジョブを作成]をクリックします。
ソースタイプに[Amazon S3 バケット]を選択し、作成したS3バケット名を入力します。認証情報は適宜設定してください。
転送先バケットに作成したCloud Storageバケットを入力します。
[転送ジョブの説明]を適宜入力し、[高度な転送オプション]はデフォルトの状態にしておきます。
毎時実行させるため[スケジュールのオプション]は[カスタム頻度で実行]を選択します。
[カスタム頻度]で繰り返す間隔は1時間に設定し、[作成]をクリックします。
下記のように転送ジョブが作成され、[最新の実行ステータス]が成功となっていることが確認できるはずです。
転送ジョブの手動実行
スケジュール設定した転送ジョブは、手動で実行することも可能です。
試しにS3バケットにファイルをアップロードし、手動実行によりCloud Storageへデータが転送されていることを確認してみます。
検証用にファイルを作成し、S3へアップロードします。
echo "$(date) hello world" > test.log
aws s3 cp test.log s3://<バケット名>
GCP コンソール画面より、作成した転送ジョブを選択し[実行を開始]をクリックします。
しばらくすると、実行履歴に進行状況や転送済みデータが表示され転送ジョブが成功していることが確認できるはずです。
S3にアップロードしたファイルが、Cloud Storageにて確認できれば成功です。
gsutil cat gs://<バケット名>/test.log
さいごに
Storage Transfer Serviceでジョブを毎時実行させる方法いかがでしたでしょうか?
AWS S3上に蓄積されているデータをノーコードでCloud Storageへ転送できるのは大きなメリットではないでしょうか。
Storage Transfer Serviceでジョブを毎時実行させる際、本記事が参考になれば幸いでございます。
最後までご覧いただきありがとうございます。