AWS CLI에서 두 번째 실행시 "자격 증명을 찾을 수 없습니다"가 발생 함


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

우분투 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.