EC2にIAMロールをアタッチした場合、OS上にアクセスキーやシークレットキーを登録する必要なくEC2上でIAMロールに設定した権限を利用できるようになります。
このようなインスタンス上でスクリプトを動かうような場合、profileを指定せずに記述したりできますが。
EC2にアタッチしている認証情報を元にプロファイル名をつけて利用できる方法があるのでメモ。
ドキュメント
Amazon EC2 インスタンスメタデータの認証情報を使用する
~/.aws/credentials
aws-cliで利用するcredentialsファイルへ下記のように設定すればEC2にアタッチされた認証情報を元にプロファイル名をつける事ができます
[profile profilename]
credential_source = Ec2InstanceMetadata
region = region
credential_source = Ec2InstanceMetadata
と設定する事で、プロファイル名を付ける事ができます。
ドキュメントではEC2にアタッチされている認証情報を元に、role_arnを指定してarn:aws:iam::123456789012:role/rolename
へスイッチする記述がされています。
[profile profilename]
role_arn = arn:aws:iam::123456789012:role/rolename
credential_source = Ec2InstanceMetadata
region = region
総評
たまにEC2にアタッチした情報を指定するのに何を書けばいいのか忘れては調べ直している事があったので、Ec2InstanceMetadata
を使えばよいとメモ。