Memindahkan bucket Amazon S3 dari satu akaun AWS ke akaun lain terdengar mudah ... sehingga anda mencuba dengan daripada data 4–5 terabytes Pada tahap ini, kaedah- atau replikasi antara akaun - rasa seperti menghantar setiap fail melalui pelabur merpati.Mereka baik untuk gigabyte, tetapi anda akan menunggu hari (dan membayar lebih daripada yang anda mahu) untuk terabyte. aws s3 cp Itulah di mana Dalam kes ini, dalam kes ini, ia telah daripada cara "biasa", sepenuhnya automatik, dan selamat. AWS DataSync 10× faster Mengapa DataSync untuk migrasi besar? AWS DataSync dibina untuk pergerakan besar-besaran data – fikir terabyte kepada petabyte. Memindahkan data secara langsung antara perkhidmatan AWS (atau daripada on-prem kepada AWS) tanpa penyimpanan perantara. Melambatkan pemindahan, menjadikannya lebih cepat. Mengendalikan metadata, objek tag, dan ACL secara automatik. Ia boleh dijalankan secara beransur-ansur supaya anda boleh melakukan pemotongan dengan masa henti minimum. Apabila anda bergerak Antara akaun AWS, faedah ini penting. 4–5 TB Langkah 1 : Sediakan buckets Kita perlukan dua buckets: Bucket sumber dalam akaun AWS asal (yang menyimpan 5 TB data anda). Bucket destinasi dalam akaun AWS sasaran. Kedua-duanya mesti : wujud sebelum bermula. Berada di kawasan AWS yang sama jika anda mahu kelajuan maksimum & kos yang lebih rendah. Mempunyai versi opsional (DataSync tidak memerlukan seperti replikasi). Langkah 2: Peranan dan kebenaran IAM DataSync memerlukan keizinan untuk membaca daripada sumber dan menulis ke destinasi — di antara akaun. (Mungkinkan peranan DataSync akaun sasaran dan pengguna yang log masuk untuk membaca dan senarai objek) Source Bucket Policy { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::DIST_ACCOUNT_ID:role/datasync-role", "arn:aws:iam::DIST_ACCOUNT_ID:user/distention_account_logged_in_user" ] }, "Action": [ "s3:GetBucketLocation", "s3:ListBucket", "s3:ListBucketMultipartUploads" ], "Resource": "arn:aws:s3:::source_bucket" }, { "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::DIST_ACCOUNT_ID:role/datasync-role", "arn:aws:iam::DIST_ACCOUNT_ID:user/distention_account_logged_in_user" ] }, "Action": [ "s3:AbortMultipartUpload", "s3:DeleteObject", "s3:GetObject", "s3:ListMultipartUploadParts", "s3:PutObjectTagging", "s3:GetObjectTagging", "s3:PutObject" ], "Resource": "arn:aws:s3:::source_bucket/*" } ] } (Ini adalah peranan yang digunakan oleh DataSync untuk mengakses bucket sumber) Destination Account Role Policy { "Version": "2012-10-17", "Statement": [ { "Action": [ "s3:GetBucketLocation", "s3:ListBucket", "s3:ListBucketMultipartUploads" ], "Effect": "Allow", "Resource": "arn:aws:s3:::source_bucket" }, { "Action": [ "s3:AbortMultipartUpload", "s3:DeleteObject", "s3:GetObject", "s3:ListMultipartUploadParts", "s3:PutObject", "s3:GetObjectTagging", "s3:ListBucket", "s3:PutObjectTagging" ], "Effect": "Allow", "Resource": "arn:aws:s3:::source_bucket/*" } ] } (Mungkinkan peranan DataSync dan pengguna akaun destinasi untuk menulis data) Destination Bucket Policy { "Version": "2008-10-17", "Statement": [ { "Sid": "DataSyncCreateS3LocationAndTaskAccess", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::DIST_ACCOUNT_ID:role/datasync-role", "arn:aws:iam::DIST_ACCOUNT_ID:user/distention_account_logged_in_user" ] }, "Action": [ "s3:GetBucketLocation", "s3:ListBucket", "s3:ListBucketMultipartUploads", "s3:AbortMultipartUpload", "s3:DeleteObject", "s3:GetObject", "s3:ListMultipartUploadParts", "s3:PutObject", "s3:GetObjectTagging", "s3:PutObjectTagging" ], "Resource": [ "arn:aws:s3:::dist_bucket", "arn:aws:s3:::dist_bucket/*" ] } ] } Langkah 3: Mencipta lokasi DataSync Kita perlukan dua "tempat" - satu untuk bucket sumber, satu untuk destinasi. Contoh AWS CLI untuk bucket sumber: aws datasync create-location-s3 \ --s3-bucket-arn arn:aws:s3:::s3-source-01 \ --s3-storage-class STANDARD \ --s3-config BucketAccessRoleArn="arn:aws:iam::1234567890:role/datasync-role" \ --region us-east-1 Ulangi untuk bucket destinasi dengan ARN bucket sendiri. Langkah 4: Mencipta Task DataSync Sebaik sahaja kedua-dua lokasi dicipta, setkan tugas DataSync untuk menyalin objek daripada lokasi sumber ke lokasi sasaran. Anda boleh : Membolehkan menyalin metadata (mengekalkan timestamps, tag). Menjalankan sinkronisasi incremental sehingga cutover akhir. Gunakan konsol untuk memantau kelajuan pemindahan dan penyelesaian. Langkah 5: Menjalankan dan memantau pemindahan untuk , anda tidak selesai dalam beberapa minit, tetapi anda masih akan melihat peningkatan besar berbanding kaedah tradisional. dalam migrasi saya, perbezaan kelajuan adalah dramatis - jam bukannya hari. 4–5 TB Tips untuk pemindahan besar Daerah yang sama lebih murah dan lebih cepat - pemindahan antar rantau boleh menggandakan bil. Menjalankan peningkatan adalah rakan anda - menjalankan DataSync beberapa kali sebelum cutover akhir supaya anda hanya menyalin perubahan pada berjalan terakhir. Pastikan IAM ketat – anda membuka capaian antara akaun; memadamkannya selepas migrasi. Tag migrasi supaya anda boleh menjejaki kos pemindahan dalam AWS Cost Explorer. pemikiran akhir Migrasi antara akaun AWS yang digunakan untuk bermaksud memilih antara atau DataSync mengubah persamaan itu - memberi anda Tiada skrip manual atau masa tamat. 5 TB of S3 data Perlahan dan free-ish Cepat dan mahal fast, secure, repeatable migrations Pikirkan ia sebagai menaik taraf daripada mengangkut bucket air untuk memasang paip tekanan tinggi.Selepas anda menggunakannya, anda tidak akan kembali.