web-dev-qa-db-ja.com

インスタンスプロファイル認証情報を使用するAWSCLI

EC2インスタンス内からAWSCLIを使用するときに、インスタンスプロファイルの認証情報を使用するように指定するにはどうすればよいですか?ドキュメントは言う:

Instance profile credentials – these credentials can be used on EC2
instances with an assigned instance role, and are delivered through
the Amazon EC2 metadata service.

これは自動ですか、それともメタデータサービスを呼び出して、返された資格情報を~/.aws/credentialsファイルに保存する必要がありますか...その後、呼び出しを行いますか?

18
DaveB

あなたが話しているのは IAMロール です。これらはEC2インスタンスにアタッチされ、キーは4時間ごとにロール/ローテーションされます。

notインスタンスのメタデータからそれらをプルして、aws-cliまたはSDKに提供する必要があります。自動的にプルされます。

--debugフラグを指定してaws-cliを実行すると、認証情報が取得されていることがわかります。

$ aws --debug s3 ls
...
2015-03-10 18:15:04,459 - MainThread - botocore.credentials - DEBUG - Looking for credentials via: iam-role
2015-03-10 18:15:04,465 - MainThread - botocore.vendored.requests.packages.urllib3.connectionpool - INFO - Starting new HTTP connection (1): 169.254.169.254
2015-03-10 18:15:04,466 - MainThread - botocore.vendored.requests.packages.urllib3.connectionpool - DEBUG - "GET /latest/meta-data/iam/security-credentials/ HTTP/1.1" 200 37
2015-03-10 18:15:04,468 - MainThread - botocore.vendored.requests.packages.urllib3.connectionpool - INFO - Starting new HTTP connection (1): 169.254.169.254
2015-03-10 18:15:04,469 - MainThread - botocore.vendored.requests.packages.urllib3.connectionpool - DEBUG - "GET /latest/meta-data/iam/security-credentials/myrole-snipped HTTP/1.1" 200 898
2015-03-10 18:15:04,469 - MainThread - botocore.credentials - INFO - Found credentials from IAM Role: myrole-snipped
20
tedder42