Interfejs AWS CLI zgłasza „Nie można zlokalizować poświadczeń” przy drugim uruchomieniu


9

Próbuję pobrać niektóre pliki z S3 do instancji EC2 przy użyciu interfejsu AWS CLI (1.8.7) podczas uruchamiania przy użyciu skryptu danych użytkownika. To wystąpienie ma profil roli i wystąpienia IAM z odpowiednimi uprawnieniami. Czasami CLI kończy się niepowodzeniem z błędem „Nie można zlokalizować poświadczeń”. Zdarza się to często (nie za każdym razem), ale zawsze po osobnym poleceniu S3, które działało. Oto wynik skryptu:

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

Masz pojęcie, co może to spowodować?

Edycja: To jest serwer Amazon Linux.


Czy próbowałeś opóźnić 10 sekund przed próbą pobrania plików? Być może poświadczenia IAM nie są jeszcze dostępne przy pierwszym uruchomieniu polecenia.
— EEAA

Mam dokładnie ten sam problem z Ubuntu 16.04 LTS.
— sj26,

Odpowiedzi:


3

Miałem ten sam problem, nawet skontaktowałem się z pomocą techniczną i nie mogli udzielić odpowiedzi. Eksportowanie referencji do zmiennych środowiskowych nie działa w przypadku aws s3 ...poleceń. Musisz albo użyć aws configureutil, albo utworzyć taki ~/.aws/configplik:

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

Proszę odnieść się do dokumentacji AWS pod adresem http://docs.aws.amazon.com/cli/latest/topic/config-vars.html

Nie tylko okazało się, że w ogóle nie działa z eksportami środowiska podczas uruchamiania EC2 za pośrednictwem Danych użytkownika, ale także po uruchomieniu z wiersza polecenia w pełni wdrożonej działającej instancji.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.