252 文字
1 分

別アカウントのS3バケットに転送する手順

2018-08-16

概要#

前提条件#

  • 転送元
    • アカウント A
  • 転送先
    • アカウント B

手順#

アカウントAでの作業#

1. アカウント個別の設定を入れます。#

S3 のアカウント名は、AWS 全体でユニークな ID があります。Account A にて bucket を適当に作ると、デフォルトではそのユーザのアクセス権限が付与されているので、そこからログイン中の ID がわかります。

image.png

2. 移行元のbucketにbucket policyを入れます。#

{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "DelegateS3Access",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::<AWS ID of Account B>:user/<IAM account name on Account B>"
},
"Action": [
"s3:ListBucket",
"s3:GetObject"
],
"Resource": [
"arn:aws:s3:::<minedia-source-bucket>/*",
"arn:aws:s3:::<minedia-source-bucket>"
]
}
]
}

例: image.png

アカウントBでの作業#

アカウントBの認証を設定している前提で、普通にaws s3コマンドを発行すれば終わりです。

% aws s3 sync s3://minedia-source-bucket/ s3://minedia-destination-bucket/

平均して 260MB/s で転送出来ていまいました。

別アカウントのS3バケットに転送する手順
https://blog.teraren.com/posts/qiita-20180816-7d317e5eac77d87fc294/
作者
Yuki Matsukura
公開日
2018-08-16
ライセンス
CC BY-NC-SA 4.0
この記事が役に立ったら
GitHub Sponsorsで応援できます

コメント