MEGAZONEブログ
インスタンスプロファイルを調べてみた
はじめに
ブログを閲覧いただきありがとうございます。
AWSを再学習中の営業の寺山です。
本ブログは、AWS初学者向けに、私が最初につまづいた事、その解決方法について、
何かの参考になればと思い、ここに残していきたいと思います!
目次
EC2起動画面で作成したIAMロールが表示されない
ある日のこと、AWSのハンズオンのネットワーク入門編を受講し、
昔見てたマネージドコンソールと全然違うなーと思いながら、
EC2を起動するため、新規で作成したIAMロールをアタッチしようとしたところ・・・
あれ、先ほど作成したIAMロールが表示されない・・・・
なんで・・・?
ハンズオンの手順通りに進めてきたはずなのですが・・・
ちなみに、構築しようとしていた構成は以下です!
AWSネットワークに関する理解を深めようとしていた時でした!
色々調べていくと、インスタンスプロファイルというものが関係してそうという事がわかりました。
インスタンスプロファイルは参考書にも出てきたけど、そんな詳しくは知らないなーと思い、
調べることにしました。
インスタンスプロファイルとは?
AWS公式引用
https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html
AWS公式引用
Amazon EC2 は、IAM ロールのコンテナとしてインスタンスプロファイルを使用します。IAM コンソールを使用して IAM ロールを作成すると、コンソールによりインスタンスプロファイルが自動的に作成され、対応するロールと同じ名前が付けられます。Amazon EC2 コンソールを使用して IAM ロールを持つインスタンスを起動する場合、またはインスタンスに IAM ロールをアタッチする場合は、インスタンスプロファイル名のリストに基づいてロールを選択します。
つまりは、EC2インスタンスとIAMロールは直接結びつけることはできず、
EC2とIAMロールを結びつけるために、このインスタンスプロファイルが必要ということです。
インスタンスプロファイルがなければ、IAMロールをアタッチすることはできません!
先ほどの画面をみてみると・・・
インスタンスプロファイルのARNが表示されてませんね!
インスタンスプロファイルを作成してみた
AWSマネジメントコンソールからEC2用IAMロールを作成する場合は、
自動的にインスタンスプロファイルが作成されるようなのですが、
今回はなぜか作成されておらず、IAMロールにインスタンスプロファイルが表示されておりませんでした。
AWS CLIやCloudFormationでEC2用IAMロールを作成する場合は、明示的にインスタンスプロファイルを作成する必要がありますので、これも注意が必要です。
インスタンスプロファイルを作ってみた!
AWS CLIを利用し、インスタンスプロファイルを作成してみました。
まずはインスタンスプロファイル作成のコマンドを実行します。
$ aws iam create-instance-profile --instance-profile-name hands-on-ssm
続いて、作成したインスタンスプロファイルを、新規で作成したIAMロールに紐付けします。
$ aws iam create-instance-profile --instance-profile-name hands-on-ssm
マネージドコンソール画面上でもIAMロールにインスタンスプロファイルが追加されました。
また、EC2起動画面でも、作成したIAMロールが選択できるようになりました!!
まとめ
・インスタンスプロファイルとは、IAMロールを格納しておく箱
・このインスタンスプロファイルに格納されているIAMロールを紐づけることで、操作権限の付与が可能
初歩的なことだとは思うんですが、参考書読んでるだけではわからない、実際に動かすことでわかることがありました!AWSって楽しい!!
MEGAZONEではこれからAWSを使いたい、もっと活用していきたい!ユーザー様のご支援をしております。
お困りごとがあれば、ぜひお問合せください!
最後まで読んでいただきありがとうございました!