Мне нужно перенести около 20 ТБ данных из одной корзины S3 в другую корзину S3, где обе находятся в разных учетных записях у разных поставщиков, и я не являюсь владельцем ни одной из них.
Мне предоставлен доступ к сегментам источника и назначения с идентификатором/секретом IAM.
Для передачи я рассматриваю либо aws CLI, либо rclone CLI.
Я планирую запускать команды CLI из коробки за пределами AWS, поскольку у меня нет доступа ни к исходному, ни к целевому AWS.
Будет ли копирование или синхронизация перемещать файл непосредственно в пункт назначения с помощью AWS или файлы будут загружены из источника в мой локальный ящик, а затем загружены в пункт назначения?
Я, естественно, хочу, чтобы AWS выполнила передачу, не затрагивая мой ящик.
Заранее спасибо.
Чтобы копировать объекты между корзинами S3, вам понадобится один набор учетных данных с доступом на чтение в исходной корзине и доступом на запись в целевой корзине. Это требует координации между поставщиками, поскольку им обоим приходится работать вместе, чтобы обеспечить такой доступ.
Если вам удастся этого добиться, вы можете использовать aws s3 sync
или aws s3 cp --recursive
для копирования файлов непосредственно между корзинами.
Однако если вы не можете использовать один набор учетных данных для доступа к обоим сегментам, вам необходимо:
Лучше всего это сделать из экземпляра Amazon EC2 в том же регионе, что и корзины S3, поскольку это обеспечит минимальную задержку и позволит избежать расходов на передачу данных. Экземпляр EC2 не обязательно должен находиться в той же учетной записи, что и сегменты.
Если к обоим сегментам может получить доступ один и тот же пользователь или профиль IAM, интерфейс командной строки AWS будет использовать CopyObject (или составной UploadCopy) для прямого копирования объекта из S3 в S3.