O AWS CLI lança "Impossível localizar credenciais", a segunda vez que é executado

9

Estou tentando baixar alguns arquivos do S3 para uma instância do EC2 usando o AWS CLI (1.8.7) na inicialização usando um Script de Dados do Usuário. Esta instância tem um papel e & Perfil da Instância com as permissões apropriadas. Às vezes, a CLI falhará com o erro "Não é possível localizar credenciais". Isso acontece com freqüência (não o tempo todo), mas sempre após um comando S3 separado, que funcionava. Aqui está a saída do script:

++ 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

Alguma ideia do que poderia causar isso?

Edit: Este é um servidor Amazon Linux.

    
por Simon Paris 23.10.2015 / 10:12

1 resposta

3

Eu tive o mesmo problema, até contatei o suporte e eles não conseguiram responder. A exportação de credenciais para variáveis de ambiente não funciona para os comandos aws s3 ... . Você tem que usar o aws configure util ou criar um arquivo ~/.aws/config como este:

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

Consulte a documentação da AWS no link

Não só encontrei a falha na execução com as exportações de ambiente no lançamento do EC2 por meio dos Dados do usuário, mas também após o lançamento na linha de comando em uma instância em execução totalmente implementada.

    
por 28.05.2017 / 00:30