CLI AWS выдает «Не удается найти учетные данные», во второй раз он запускается

9

Я пытаюсь загрузить некоторые файлы из S3 в экземпляр EC2, используя AWS CLI (1.8.7) при запуске, используя скрипт пользовательских данных. Этот экземпляр имеет профиль роли и экземпляра IAM с соответствующими разрешениями. Иногда CLI завершается с ошибкой «Не удается найти учетные данные». Это происходит часто (не каждый раз), но всегда после отдельной команды S3, которая сработала. Вот вывод сценария:

++ date +%r
03:24:10 AM
++ aws s3 cp s3://non-public-bucket-1/15mb-zip-file.zip ./15mb-zip-file.zip
Completed 1 of 1 part(s) with 1 file(s) remaining^Mdownload: s3://non-public-bucket-1/15mb-zip-file.zip to 15mb-zip-file.zip
++ date +%r
03:24:14 AM
++ unzip 15mb-zip-file.zip

# Snip

++ date +%r
03:26:01 AM
++ curl http://169.254.169.254/latest/meta-data/instance-id
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100    10  100    10    0     0  13831      0 --:--:-- --:--:-- --:--:-- 10000
i-12345678++ date +%r
03:26:01 AM
++ aws s3 cp s3://non-public-bucket-2/my-small-text-file.json ./output.json
download failed: s3://non-public-bucket-2/my-small-text-file.json to output.json Unable to locate credentials

++ date +%r
03:26:34 AM

Есть идеи, что может вызвать это?

Изменить: Это сервер Amazon Linux.

Саймон Пэрис
источник
Вы пытались поставить 10-секундную задержку, прежде чем пытаться получить файлы? Возможно, учетные данные IAM еще не введены в действие при первом запуске команды.
EEAA
У меня точно такая же проблема с Ubuntu 16.04 LTS.
sj26

Ответы:

3

У меня была такая же проблема, даже связался с техподдержкой и они не смогли дать ответ. Экспорт учетных данных в переменные среды не работает для aws s3 ...команд. Вы должны либо использовать aws configureутилиту, либо создать такой ~/.aws/configфайл:

[default]
aws_access_key_id=foo
aws_secret_access_key=bar
region=us-west-2

Пожалуйста, обратитесь к документации AWS по адресу http://docs.aws.amazon.com/cli/latest/topic/config-vars.html.

Я не только обнаружил, что он вообще не выполняется при экспорте среды при запуске EC2 через пользовательские данные, но и после запуска из командной строки на полностью развернутом запущенном экземпляре.

Стивен K7FAQ
источник