0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

サクッとクロスアカウントで S3 sync を実施する

Posted at

はじめに

S3 バケットの内容を別のバケットに同期したいユースケースで使用する AWS CLI の s3 sync ですが、クロスアカウントで実施したいパターンも多々あると思います。
そこで一番簡素な手順と思われサクッと実施するパターンを備忘として残しておきます。

1. コピー元のアカウントで実施すること

以下のポリシーを持つ IAM ユーザーまたはロールを作成する。

例: ユーザー sample-s3-bucket-sync

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:ListBucket",
                "s3:GetObject"
            ],
            "Resource": [
                "arn:aws:s3:::<コピー元バケット名>",
                "arn:aws:s3:::<コピー元バケット名>/*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:ListBucket",
                "s3:PutObject",
                "s3:PutObjectAcl"
            ],
            "Resource": [
                "arn:aws:s3:::<コピー先のバケット名>",
                "arn:aws:s3:::<コピー先のバケット名>/*"
            ]
        }
    ]
}

2. コピー先のアカウントで実施すること

コピー先バケットのバケットポリシーに以下を設定する。

{
    "Version": "2012-10-17",
    "Id": "S3AccessPolicy",
    "Statement": [
        {
            "Sid": "AllowS3PutObject",
            "Effect": "Allow",
            "Principal": {
                "AWS": "<1で作成したユーザーまたはロールのarn>"
            },
            "Action": "s3:PutObject",
            "Resource": "arn:aws:s3:::<コピー先バケット名>/*"
        },
        {
            "Sid": "AllowS3ListBucket",
            "Effect": "Allow",
            "Principal": {
                "AWS": "<1で作成したユーザーまたはロールのarn>"
            },
            "Action": "s3:ListBucket",
            "Resource": "arn:aws:s3:::<コピー先バケット名>"
        }
    ]
}

3. sync 実施

s3 sync コマンドを実行します。

  • 1で作成したユーザーにて実行します
  • 1でロールを作成した場合は、使用ユーザーに assume role してから実施して下さい
aws s3 sync s3://<コピー元バケット名> s3://<コピー先バケット名> --acl bucket-owner-full-control

Ref

0
1
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
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?