AWS CLI melempar "Tidak dapat menemukan kredensial", yang kedua kalinya dijalankan

9

Saya mencoba mengunduh beberapa file dari S3 ke instance EC2 menggunakan AWS CLI (1.8.7) saat startup menggunakan User-Data Script. Mesin virtual ini memiliki Profil Peran & Instansi IAM dengan izin yang sesuai. Terkadang, CLI akan gagal dengan kesalahan "Tidak dapat menemukan kredensial". Ini sering terjadi, (tidak setiap waktu), tetapi selalu setelah perintah S3 terpisah, yang berfungsi. Inilah output dari skrip:

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

Adakah yang tahu apa yang menyebabkan ini?

Sunting: Ini adalah server Amazon Linux.

Simon Paris
sumber
Sudahkah Anda mencoba menunda 10 detik sebelum mencoba mengambil file? Mungkin kredensial IAM belum ada pada saat pertama kali perintah dijalankan.
EEAA
Saya mengalami masalah yang sama persis dengan Ubuntu 16.04 LTS.
sj26

Jawaban:

3

Saya memiliki masalah yang sama, bahkan menghubungi dukungan dan mereka tidak dapat memberikan jawaban. Mengekspor kredensial ke variabel lingkungan tidak berfungsi untuk aws s3 ...perintah. Anda harus menggunakan aws configureutil atau membuat ~/.aws/configfile seperti ini:

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

Silakan merujuk dokumentasi AWS di http://docs.aws.amazon.com/cli/latest/topic/config-vars.html

Saya tidak hanya gagal menjalankan sama sekali dengan ekspor lingkungan pada peluncuran EC2 melalui Data Pengguna tetapi juga memposting peluncuran dari baris perintah pada instance berjalan yang sepenuhnya dikerahkan.

Steven K7FAQ
sumber