ユーザーデータスクリプトを使用して起動時に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