残念ながら、その情報を取得する簡単な方法はありません。
ステップ1.インスタンスのメタデータから現在のEC2インスタンスIDを取得します。
curl -s http://169.254.169.254/latest/meta-data/instance-id
現在のリージョンも必要な場合があります。
curl -s http://169.254.169.254/latest/meta-data/placement/availability-zone/ | sed 's/\(.*\)[a-z]/\1/'
ステップ2. EC2インスタンスに接続されているIAMインスタンスプロファイルのIDを取得します。
aws ec2 describe-instances \
--region us-east-1 \
--instance-id i-12345678 \
--query 'Reservations[0].Instances[0].IamInstanceProfile.Id'
必要に応じてEC2インスタンスIDと地域を忘れずに置き換えてください。
ステップ3. IAMインスタンスプロファイルの役割を取得します。
aws iam list-instance-profiles \
--query "InstanceProfiles[?InstanceProfileId=='ABCDEFG'].Roles"
IAMインスタンスプロファイルIDを忘れずに置き換えてください。
注:
- IAMインスタンスプロファイルは、それに関連付けられた複数のIAM役割を有することができます。通常は1つだけですが、それ以上のものを持つことができます。
"サーバー上で"と言っているときは、EC2インスタンスで意味しますか? – Bruce
次のコマンドは、EC2インスタンスに付加されているIAMロールの詳細を示します。インスタンスメタデータに存在します:カールhttp://169.254.169.254/latest/meta-data/iam/info これはあなたが探しているものですか? –
私はec2インスタンスからこれを実行しようとしていることを反映するために私の質問を更新しました。インスタンスのメタデータを見つけることは、私が興味を持っているものではありません(私はコンソールからこれを見つけることができます)。 AWS CLIがどのような役割を果たしているかなど、知りたいことがあります。 –