AWS 3データ転送


S3 migration


サーバが既存のAWSアカウントから他のAWSアカウントに移行するにつれて、S 3 Bucket内のデータも移行する.

1. target IAM policy

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:ListBucket",
                "s3:GetObject"
            ],
            "Resource": [
                "arn:aws:s3:::<source bucket name>", 
                "arn:aws:s3:::<source bucket name>/*" 
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:ListBucket",
                "s3:PutObject",
                "s3:PutObjectAcl"
            ],
            "Resource": [
                "arn:aws:s3:::<target bucket name>", 
                "arn:aws:s3:::<target bucket name>/*"
            ]
        }
    ]
}

2. source bucket policy

{
	"Version": "2012-10-17",
	"Statement": [
		{
			"Sid": "DelegateS3Access",
			"Effect": "Allow",
			"Principal": {
				"AWS": "<target IAM arn>"
			},
			"Action": [
				"s3:ListBucket",
				"s3:GetObject"
			],
			"Resource": [
				"arn:aws:s3:::<source bucket name>/*",
				"arn:aws:s3:::<source bucket name>"
			]
		}
	]
}

3. AWS-CLI


インストール:https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html
$ aws s3 cp s3://<source bucket name> s3://<target bucket name> \ 
  --acl bucket-owner-full-control \
  --recursive