皆さんこんにちは、XIMIXの重山です。
本記事は、NI+C TeamGCP Advent Calendar 2024の10日目の記事となります。
先日 Cloud StorageからAmazon S3へファイル転送したいという要望をいただいた際に、調べた内容をブログとして、記載したいと思います。
Cloud StorageからAmazon S3へのファイル転送
PCローカルにダウンロードしてS3に上げて実現することも可能ですが、、、
セキュリティ面やファイル転送速度の観点で不安なため、クラウド間での転送を実施したいところ。
そこで、次のステップを実施し、クラウド間のファイル転送を行いたいと思います。
IAM>ユーザ(①で作成したユーザ)>セキュリティ認証情報から アクセスキーを取得する。
Cloud Shellを起動し、認証情報を設定する。
先述で取得したアクセスキーをCloud Shell Boto 構成ファイルに保管する。
※参考:Boto 構成ファイル | Cloud Storage
■実行コマンド
vi. boto
//Botoファイルが開くので、"i"で編集
//以下の通り、認証情報を保存
[Credentials]
aws_access_key_id = $MYACCESSKEY
aws_secret_access_key = $MYSECRETKEY
//Esc
//:wq!で保存
lsコマンドを実行し、S3のバケット情報を参照する。
■実行コマンド
gcloud storage ls s3://転送先パス
初回実行時は、Cloud Shellの承認画面が出るので、承認を行う。
S3が参照できたため、認証が出来ている。
(S3側オブジェクト情報)
ここまで出来たら、通常の転送コマンドと同様に、ファイルコピーコマンドを実行する。
■実行コマンド
gcloud storage cp gs://転送元パス s3://転送先パス
以下のログ結果から、正常に終了したことが分かる。
念の為、S3側も確認してみたところ、コピーを実行したファイルがあることが確認できた。
(S3側オブジェクト情報)
最後まで読んでいただきありがとうございます。
実施したい内容としては、至ってシンプルでしたが、当初は、Boto 構成ファイルの設定部分がドキュメントを読んでも分からず、少し苦労しました。また、AWS側の権限不足でエラーも出たりもしました。
今回実施したした際に、どちら側が原因で上手くいっていないのかを、出力されるログを元に、調べることが重要だということを再認識させられました。
ご参考になれば、幸いです。