我建立了新的 AWS 身分和存取管理 (IAM) 角色,但是在啟動執行個體時,在下拉清單中找不到該角色。
解決方法
下拉式清單包含執行個體設定檔,而非 IAM 角色,但您可以將 IAM 角色新增至執行個體設定檔。您必須選擇已新增必要 IAM 角色的執行個體設定檔。
請依照下列步驟建立連結至執行個體設定檔的新 IAM 角色。然後,在啟動執行個體時,從下拉清單中選擇執行個體設定檔。使用 IAM 主控台或 AWS Command Line Interface (AWS CLI) 建立連結至執行個體設定檔的新 IAM 角色。
**注意:**如果您在執行 AWS CLI 命令時收到錯誤,請確定您使用的是最新版本的 AWS CLI。
使用 IAM 主控台
此範例使用 Amazon Elastic Compute Cloud (Amazon EC2) 顯示選取 EC2 作為您的使用案例會為 Amazon EC2 建立信任關係。您的 EC2 使用案例也會建立:
- 執行個體設定檔。
- 為執行個體設定檔提供與 IAM 角色相同的名稱。
- 將 IAM 角色新增至相同的執行個體設定檔。
**注意:**如果在建立 IAM 角色時未選取 EC2,則不會為 Amazon EC2 建立執行個體設定檔和信任關係。
-
開啟 IAM 主控台。
-
在導覽窗格中,選擇角色,然後選擇建立角色。
-
選擇 EC2 作為 AWS 服務,選取 EC2 作為您的使用案例,然後選擇下一步: 權限。
-
為您的使用案例選擇政策名稱,選擇下一步: 標籤,然後選擇下一步: 檢閱。
-
輸入角色名稱,然後選擇建立角色。
使用 AWS CLI
- 建立一個名為
Test-Role-Trust-Policy.json 的檔案并將下述政策貼到檔案中:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "",
"Effect": "Allow",
"Principal": {
"Service": "ec2.amazonaws.com"
},
"Action": "sts:AssumeRole"
}
]
}
2.執行下列命令以建立 IAM 角色:
$ aws iam create-role --role-name Test-Role --assume-role-policy-document file://Test-Role-Trust-Policy.json
3.執行下列命令以建立執行個體設定檔:
$ aws iam create-instance-profile --instance-profile-name Webserver
- 執行下列命令,將 IAM 角色新增至執行個體設定檔:
$ aws iam add-role-to-instance-profile --role-name Test-Role --instance-profile-name Webserver
在 EC2 的現有 IAM 角色中,您必須將 EC2 服務主體新增到其現有的信任政策中。如需詳細資訊,請參閱
指定主體。
**注意:**如果 IAM 角色和執行個體設定檔的名稱不同,請務必選取正確的執行個體設定檔。啟動 EC2 執行個體時,正確的執行個體設定檔已新增必要的 IAM 角色。IAM 角色不會列在下拉清單中。
相關資訊
修改角色
編輯現有角色的信任關係
適用於 Amazon EC2 的 IAM 角色