В ведре AWS S3 хранится большое количество файлов. Мне нужно перенести эти файлы в другую корзину S3, принадлежащую другому пользователю, и в другом регионе. Файлы хранятся в разных местах в моем ведре S3 - эти ключи (например, location1
& location2
) тоже нужно перенести. Оба сегмента S3 связаны с серверами AWS EC2 Ubuntu. Вот пример структуры моего ведра S3:
s3://mybucket/location1/some_file
s3://mybucket/location1/some_file2
s3://mybucket/location2/some_file
etc...
Какой подход к передаче файлов с S3 на S3 был бы наиболее эффективным с учетом этих ограничений?
https://aws.amazon.com/premiumsupport/knowledge-center/account-transfer-s3/
Вы можете скопировать объекты Amazon S3 из одной учетной записи AWS в другую с помощью операции S3 COPY. Вы должны предоставить целевой учетной записи AWS доступ к ресурсам исходной учетной записи AWS с помощью списков управления доступом Amazon S3 (ACL) или политик корзин.
После настройки разрешений IAM для нескольких учетных записей это так же просто, как aws s3 sync s3://sourcebucket s3://destinationbucket
через интерфейс командной строки. Серверы-посредники не требуются - все происходит на S3 напрямую (и в результате будет значительно быстрее).
(Если вам не нужна вся корзина, CLI может так же легко копировать отдельные объекты)
Вы можете реализовать следующий сценарий: