AWSの既存のEC2インスタンスにIAMロールを追加したいと思います。 AWS CLIを使ってみました。しかし、それを行う方法を見つけることができませんでした。
昨日リリースされたAWS CLIv1.11.46以降(GitHubの CHANGELOGファイル を参照)、次のことができますassociate-iam-instance-profile
コマンドを使用して、IAMロールなしで最初に起動された既存のEC2インスタンスにIAMロールをアタッチします。
replace-iam-instance-profile-association
を使用して、実行中のインスタンスに現在アタッチされているIAMロールを置き換えることもできます。
詳細については、次の記事を参照してください AWS Security Blog :
AWS CLIを使用して、AWS IAMロールを既存のAmazon EC2インスタンスにアタッチします 。
[〜#〜]更新[〜#〜]
2017年2月22日以降、IAMロールを EC2 console から既存のEC2インスタンスにアタッチ/置換することもできます。詳細は このブログ投稿 を参照してください。
Rolesは、インスタンスを最初に起動するときに割り当てる必要があります。
起動後にロールを割り当てることはできません。
Launch More Like Thisコンソールコマンドを介して新しいインスタンスを起動することをお勧めします。これにより、同じAMIに基づいて新しいブートディスクが作成されるため、保存したデータはコピーされません。データを保存する場合は、インスタンスからAMIを作成し、そのAMIから新しいインスタンスを起動する必要があります。
2017年2月の更新:IAMロールを既存のインスタンスに追加できるようになりました。これは AWSコマンドラインインターフェイス(CLI) で実行できます。使用 - replace-iam-instance-profile-association
コマンド。
既存のEC2インスタンスにロールをアタッチしようとしたときに「アソシエーションはアクティブなアソシエーションではありません」というエラーが発生した場合は、次のことを行う必要があります。
1. detach the existing role from the existing EC2 instance.
2. attach a new role to the existing EC2 instance.
これを行うと、既存のEC2インスタンスにロールをアタッチできるようになります。
この機能は 追加 2017年2月9日でした。注:探しているものは「インスタンスプロファイル」と呼ばれます。ポリシーは権利を説明します。次に、そのポリシーがロールまたはインスタンスプロファイル、あるいはその両方に追加されます。具体的な方法についてのメモがないので、回答として追加します。
ソースドキュメント ここ
リンクの腐敗に関するStackOverflowガイドラインに準拠するための具体的な手順を以下に示します。
1)役割を作成する
aws iam create-role --role-name YourNewRole --assume-role-policy-document file://YourNewRole-Trust-Policy.json
2)ロールにポリシーを添付する
aws iam attach-role-policy --role-name YourNewRole --policy-arn arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess
3)インスタンスプロファイルを作成します(これは、インスタンスにアタッチされたときにロールが呼び出されるものです)
aws iam create-instance-profile --instance-profile-name YourNewRole-Instance-Profile
4)インスタンスプロファイルにロールを追加する
aws iam add-role-to-instance-profile --role-name YourNewRole --instance-profile-name YourNewRole-Instance-Profile
5)ec2インスタンスにインスタンスプロファイルをアタッチする
aws ec2 associate-iam-instance-profile --instance-id YourInstanceId --iam-instance-profile Name=YourNewRole-Instance-Profile
さて、それは今のところ厳しい厳しい事実です。 IAMロールを既存のインスタンスに関連付けることはできません。 EC2インスタンスがssm apiと通信することを必要とするSystem Server Managerサービスを試していたときに知った。
もう少し待つ必要があると思います。