Переміщення букету 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 ТБ даних). Доцільний букет в обліковому записі 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 Task Після створення обох розташувань налаштуйте завдання DataSync для копіювання об'єктів з джерельного розташування до місця призначення. Ви можете : Увімкніть копію метаданих (збереже часові позначки, теги). Виконуйте інтенсивні синхронізації до кінцевого скорочення. Використовуйте консоль для моніторингу швидкості передачі та завершення. Крок 5: Запустити і контролювати трансфер Для , ви не закінчите за хвилини, але ви все одно побачите величезне поліпшення порівняно з традиційними методами.У моїй міграції різниця в швидкості була драматичною - години замість днів. 4–5 TB Поради для великих трансферів Такий самий регіон дешевше і швидше — транскордонні перевезення можуть подвоїти рахунок. Інкрементальні запуски є вашим другом — запускайте DataSync кілька разів до кінцевого перевищення, щоб ви тільки копіювали зміни на останньому запуску. Тримайте IAM жорстким — ви відкриваєте доступ між обліковими записами; видаліть його після міграції. Натисніть міграцію, щоб можна було відслідковувати витрати на передачу в AWS Cost Explorer. Останні думки міграції між обліковими записами AWS означає вибір між або DataSync змінює цю рівняння — даючи вам Без ручного написання або затримки часу. 5 TB of S3 data повільний і вільний Швидко і дорого fast, secure, repeatable migrations Подумайте про це як про оновлення від транспортування банок води до встановлення трубопроводу високого тиску.