LoginSignup
2
0

More than 1 year has passed since last update.

AWS S3からGCP CloudStorageにデータをコピーする

Posted at

はじめに

AWS Glue作ったParquetのデータがあってこれをなんとかGCPにもっていきたかったのでコピーする方法について調べました。

以下はとあるバケットのデータ。Parquetで8.4GB元のテキストデータは70GBくらいですかね。これをGCPのCloudStorageにもっていこうと思います。
image.png

AWS IAM Roleを作る

GCPがAWSにアクセスできるようにIAM Roleを作ってあげます。

まずは以下のリンクを開いてGCPプロジェクトのサブジェクトIDを取得します。プロジェクトIDは自身で指定したものを入力してください。

image.png

AWSのIAMを開き、ロールの作成→ウェブアイデンティティ→Googleを選択します。Audienceには先ほど取得したサブジェクトIDを指定します。

image.png

ポリシーは以下を設定します。(バケット名は適宜修正してください。)

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:Get*",
                "s3:List*",
                "s3:Delete*"
            ],
            "Resource": [
                "arn:aws:s3:::uzresk-opendata",
                "arn:aws:s3:::uzresk-opendata/*"
            ]
        }
    ]
}

AWSS3toGCPCloudStorageAccessRoleみたいな名前を付けて保存し、ARNをコピーしておきます。

Data Transferを使ってS3→CloudStorageへのコピー

DataTransferを開き、「転送ジョブを作成」を押して転送ジョブを作っていきます。転送元はS3、転送先はGCPを選択してください。

image.png

ソースのAWSのバケット名、先ほど作ったIAM RoleのARNをコピーを設定します。

image.png

転送先のCloudStorageのバケットとフォルダを指定します。

image.png

転送実行モードを選択します。今回は1度だけ起動を選択しました。

image.png

何を設定したかわかるようにJOBの名前は適当に書いておきましょう。

image.png

保存すると、1分もしないうちに完了するはずです。

image.png

転送速度などわかるようですね・・・。

image.png

さいごに

  • AWSのIAMRoleを使ってGCPにデータをコピー可能でありかなりお手軽に利用できました。
  • 参考までに合計8.4GB, 1007ファイルで転送時間は32秒、平均転送速度は280MB/Secでした。

参考

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0