AWS S3: копирование файлов с S3 на удаленный сервер с учетными данными доступа - PullRequest
0 голосов
/ 08 июня 2018

Я хочу перенести данные с S3 на удаленный сервер.Данные на S3 защищены, когда я пытаюсь использовать AWS CLI на удаленном сервере с учетными данными, я получаю ошибку AccessDenied.

Однако, когда я нахожусь в экземпляре E2 и использую ту же команду, я могу получить доступ к защищенным файлам.

Можно ли перенести эти файлы из экземпляра E2 на мой удаленный сервер напрямую?

Ранее я хотел бы:

  1. AWS CLI S3 загрузить файл в экземпляр E2
  2. Скопировать загруженный из E2 файл на мой удаленный сервер

Однако эти файлы имеют большой размер, и я бы выполнил передачу в два раза быстрее, если бы смог перенести с S3 на мой удаленный сервер, находясь в экземпляре E2.

Возможно ли это?Я пытался

aws s3 cp s3://protected-bucket/data/data.txt user_name@remote-server.edu:/path/to/data/

И это не удалось.Я также попробовал aws s3 sync, и это тоже не удалось.

Ответы [ 2 ]

0 голосов
/ 09 июня 2018

Тот факт, что вы можете получить доступ к файлам из своего экземпляра Amazon EC2, но не с удаленного сервера, говорит о том, что вы используете другой набор учетных данных для доступа к Amazon S3.

Вполне вероятно, что Роль IAM назначена вашему экземпляру EC2.В этом случае автоматически предоставляются учетные данные, которые могут использоваться Интерфейсом командной строки AWS (CLI) .

. Вам потребуется создать пользователя IAM для удаленного сервера, а затем сгенерироватьКлюч доступа и секретный ключ для этого пользователя IAM.На удаленном сервере запустите aws configure и введите эти учетные данные.Для предоставления доступа к корзине S3 вам потребуется назначить разрешения этому пользователю IAM.

См .: Управление ключами доступа для пользователей IAM - Управление идентификацией и доступом AWS

0 голосов
/ 08 июня 2018

Вы можете использовать AWS SDK boto3 для загрузки файлов с S3 на удаленный сервер.

http://boto3.readthedocs.io/en/latest/guide/s3-example-download-file.html

...