IAM角色(IAM Role)是通常是關聯到用戶及組,但是也可以關聯到Amazon EC2,Amazon EC2實例可以使用IAM角色訪問各種AWS資源。
在這里創建[CloudWatchLogsFullAccess]權限的角色后分配給Amazon EC2,這樣就可以簡單的使用CloudWatch Logs監控。
創建IAM角色
登錄AWS管理界面后點擊[IAM] -> [角色] -> [創建新角色]。
在這里角色名稱填寫CloudWatch-User后,點擊[下一步]。
選擇[Amazon EC2]。
勾選[CloudWatchLogsFullAccess]后,點擊[下一步]。
確認內容點擊[創建角色]。
成功創建了CloudWatch-User角色。
創建Amazon EC2時配置IAM角色
在創建Amazon EC2實例過程的[配置實例]的IAM角色里選擇[CloudWatch-User]就可以,其他步驟和參照 >> 5分鍾創建AWS EC2
獲取元數據(MetaData)
在啟動的Amazon EC2實例內部通過HTTP獲取EC2自身的各種元數據(MetaData).,這是調用Amazon EC2獨有的REST API,向”169.254.169.254″請求GET方式獲取元數據。
可獲取的有3種類型[dynamic],[meta-data],[user-data]。
# curl http://169.254.169.254/latest/ dynamic meta-data user-data
可確認元數據(MetaData)里有iam。
# curl http://169.254.169.254/latest/meta-data/ ami-id ami-launch-index ami-manifest-path block-device-mapping/ hostname iam/ instance-action instance-id instance-type local-hostname local-ipv4 mac metrics/ network/ placement/ product-codes profile public-hostname public-ipv4 public-keys/ reservation-id security-groups services/
獲取security-credentials下面的IAM角色的元數據。
# curl http://169.254.169.254/latest/meta-data/iam/security-credentials/CloudWatch-User { "Code" : "Success", "LastUpdated" : "2015-05-04T07:07:06Z", "Type" : "AWS-HMAC", "AccessKeyId" : "XXXXXXXXXXXXXXXXXXXX", "SecretAccessKey" : "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "Token" : "XXXXXXXXXXXXXXXXXX", "Expiration" : "2015-05-04T13:09:38Z" }
也可以獲取Amazon EC2的AMI ID等等信息。
# curl http://169.254.169.254/latest/meta-data/ami-id ami-89634988
結語
給Amazon EC2分配IAM角色以后,在Amazon EC2訪問AWS資源時不必在配置AccessID和SecretKey了。