AWS CLIは、2回目の実行時に「資格情報が見つかりません」をスローします


9

ユーザーデータスクリプトを使用して起動時にAWS CLI(1.8.7)を使用して、S3からEC2インスタンスにいくつかのファイルをダウンロードしようとしています。このインスタンスには、適切な権限を持つ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、2015年

Ubuntu 16.04 LTSでもまったく同じ問題が発生します。
sj26

回答:


3

私も同じ問題を抱えており、サポートに連絡しても、回答は得られませんでした。認証情報を環境変数にエクスポートすると、aws s3 ...コマンドに対して機能しません。aws configureutilを使用するか、次の~/.aws/configようなファイルを作成する必要があります。

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

http://docs.aws.amazon.com/cli/latest/topic/config-vars.htmlにある AWSドキュメントを参照してください

ユーザーデータを介してEC2を起動すると、環境のエクスポートがまったく実行されないだけでなく、完全にデプロイされた実行中のインスタンスのコマンドラインから起動後にも実行できませんでした。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.