Преместването на Amazon S3 от един AWS акаунт в друг звучи просто... докато не го опитате с от данните . 4–5 terabytes В този случай, обикновените методи - или репликация на кръстосани сметки – чувствате се като изпращане на всеки отделен файл чрез гълъб на превозвача. Те са добре за гигабайти, но ще чакате дни (и плащате повече, отколкото бихте искали) за терабайти. aws s3 cp Това е къде Във вашия случай, това е било Това е много по-лесно от „нормалния“ начин, напълно автоматизиран и сигурен. AWS DataSync 10× faster Защо DataSync за големи миграции? AWS DataSync е създаден за масово движение на данни – помислете за терабайти до петабайти. Премества данни директно между AWS услуги (или от местно до AWS) без посредническо съхранение. Паралелизира трансферите, което ги прави много по-бързи. Автоматично обработва метаданни, обектни тагове и ACL. Може да се изпълнява постепенно, така че можете да направите прекъсване с минимално време за спиране. Когато се движите Между акаунтите на AWS тези предимства имат значение. 4–5 TB Стъпка 1: Подгответе бурканите Трябват ни две кутии: Източник на резервоара в оригиналния акаунт на AWS (този, който държи вашите 5 TB данни). Целева кутия в целевия акаунт на AWS. И двамата трябва: Те съществуват преди да започнат. Бъдете в същия регион на AWS, ако искате максимална скорост и по-ниски разходи. Имате версиониране по избор (DataSync не го изисква, както репликацията прави). Стъпка 2: IAM Роли и разрешения DataSync се нуждае от разрешение за четене от източника и писане до местоназначението – през акаунти. (Позволява на ролята DataSync на целевия акаунт и на потребителя, който е влязъл, да чете и списва обекти) 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/*" } ] } (Това е ролята, която DataSync използва за достъп до източника) 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/*" } ] } (Позволява на потребителя на ролята и целевия акаунт на DataSync да пише данни) 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/*" ] } ] } Стъпка 3: Създаване на DataSync местоположения Нуждаем се от две „места“ – едно за източника, едно за дестинацията. Пример за AWS CLI за източник: 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 Повторете за целевата кутия със собствената си кутия ARN. Стъпка 4: Създаване на DataSync задача След като и двете местоположения са създадени, задайте задача DataSync, за да копирате обекти от местоположението източник към местоположението местоназначение. Можете да: Възможност за копиране на метаданни (запазва времеви отпечатъци, тагове). Изпълнявайте нарастващи синхронизации до окончателното изрязване. Използвайте конзолата, за да следите скоростта на трансфер и завършване. Стъпка 5: Изпълнение и мониторинг на трансфера за В моята миграция разликата в скоростта беше драматична – часове вместо дни. 4–5 TB Съвети за големи трансфери Същият регион е по-евтин и по-бърз – трансферите между регионите могат да удвоят сметката. Увеличаващите се изпълнения са вашият приятел - изпълнете DataSync няколко пъти преди окончателното изрязване, така че да копирате само промените на последното изпълнение. Поддържайте IAM плътно – отваряте достъп между акаунти; премахнете го след миграцията. Забележете миграцията, за да проследите разходите за трансфер в AWS Cost Explorer. Заключителни мисли миграцията между акаунти на AWS, които се използват за избор между или DataSync променя това уравнение - давайки ви Без ръчно редактиране или спиране на времето. 5 TB of S3 data Бавно и свободно Бързо и скъпо fast, secure, repeatable migrations Помислете за това като надстройване от транспортиране на кутии вода до инсталиране на тръбопровод с високо налягане.