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了。