 
                        
                    Мигрируя ведра S3 между учетными записями AWS, как Pro (не теряя здравомыслия)
11 августа 2025 г.Перемещение ведра Amazon S3 из одной учетной записи AWS в другую звучит просто ... пока вы не попробуете его с4–5 терабайтданных.
В таком масштабе обычные методы -aws s3 cpИли репликация по перекрестному доступе-чувствуйте, как отправляйте в рассылку каждый отдельный файл через голубь-носитель. Они подходят для гигабайтов, но вы будете ждать дни (и платить больше, чем хотите) за терабайты.
Вот гдеAWS Datasyncвходит. В моем случае это было10 × быстреечем «нормальный» способ, полностью автоматизированный и безопасный. Вот как я это сделал.
Почему DataSync для больших миграций?
DataSync AWS создан для объемного перемещения данных - подумайте о терабайтах в петабайты. Это:
- Перемещает данные непосредственно между службами AWS(или от Prem до AWS) без хранения среднего класса.
- Параллелизирует передачи, делая их намного быстрее.
- Обрабатывает метаданные, теги объектов и ACL автоматически.
- Можно работать постепенно, чтобы вы могли сделать сокращение с минимальным временем простоя.
Когда ты двигаешься4–5 ТБМежду аккаунтами AWS эти льготы имеют значение.
Шаг 1: Приготовьте ведра
Нам нужно два ведра:
- Исходное ведроВ исходной учетной записи AWS (которая удерживает ваши 5 ТБ данных).
- Ведро назначенияВ целевой учетной записи AWS.
Оба должны:
- Существуют до начала.
- Быть в том же регионе AWS, если вы хотите максимальную скорость и снижение стоимости.
- Иметь версию необязательно (DataSync не требует этого, как репликация).
Шаг 2: IAM Роли и разрешения
DataSync требует разрешения для чтения из источника и записаться в пункт назначения - через учетные записи. Вот где вступают роли IAM и политики ведра.
Политика исходного ведра(Разрешить роли данных DataSync DataSync и зарегистрированного пользователя для чтения и списков объектов)
{
 "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 использует для доступа к ведро источника)
{
    "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 и пользователя учетной записи назначения для написания данных)
{
 "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 ТБВы не заканчиваете за считанные минуты, но вы все равно увидите огромное улучшение по сравнению с традиционными методами. В моей миграции разница в скорости была драматичной - часы вместо дней.
Pro Tips for Large Transfers
- Та же регион дешевле и быстрее-перекрестные переводы могут удвоить счет.
- Инкрементные пробежки - ваш друг- Запустите DataSync несколько раз перед окончательным сокращением, так что вы копируете изменения только в последнем запуске.
- Держите IAM-Вы открываете доступ к перекрестному доступу; Удалите его после миграции.
- Пометить миграциюТаким образом, вы можете отслеживать расходы на передачу в AWS Explorer.
Последние мысли
Мигрируя5 ТБ данных S3Между учетными записями AWS, используемыми для выбора междумедленно и свободноилибыстро и дорогоПолем DataSync изменяет это уравнение - давая вамБыстрые, безопасные, повторяемые миграциибез ручных сценариев или простоя.
Думайте об этом как об улучшении от перевозки ведер с водой до установки трубопровода высокого давления. Как только вы его использовали, вы не вернетесь.
Оригинал
