Day2—AWS CLI工具+为EC2分配IAM角色

将AWS CLI工具安装在EC2实例上。
1.创建一个linux实例;
2.用之前的命令行和方法连接上该实例;
3.在终端中输入命令:aws s3 ls做测试,回车结果是Unable to locate credentials。当然,此时我们还未将AWS CLI工具安装在EC2实例上;
4.此时我们需要先在实例中建立一个IAM角色。
5.回到AWS控制台,在服务中选择“IAM”
6.添加一个新用户AWS_CLI,访问类型选择编程访问,在权限当中,选择直接附加现有策略,添加“AdministratorAcess”,点击下一步,直接创建用户。记录下访问密钥 ID:XXXXXXXXXXXXXXXXXXX1;私有访问密钥:XXXXXXXXXXXXXXXXXXXXXXXXXXX2
7.此时回到终端输入命令:aws configure
8.输入要求的ID,此处我的需要输入:XXXXXXXXXXXXXXXXXXX1,回车再输入密钥:XXXXXXXXXXXXXXXXXXXXXXXXXXX2
9.输入区域名:cn-north-1,这是中国(北京)区域的代码,回车。
10.终端出现这样一个条目:Default output format [None],忽略,直接回车即可。至此,AWS CLI工具已经配置完毕。
11.再次在终端输入aws s3 ls,回车就可以看到全部的s3的bucket了。
12.在终端中输入aws ec2 describe-instances,回车我们就能看到在运行的ec2实例的基本详情。
13.利用命令行关掉当前运行的实例。在终端中输入命令:
aws ec2 stop-instances --instance-ids i-XXXXXXXXX
(其中i-XXXXXXXXX是该实例的实例ID,在终端屏幕中找InstanceID就是);此时该实例已被关闭。
14.此时我们可以回到AWS控制台中,查看一下该实例的状态。我们可以发现,实例状态已经变为“stopped”。

二、为EC2分配IAM角色
1.在AWS控制台的“服务”选项中选择IAM,之后点击左侧边栏中的“角色”,在新打开界面中选择“创建角色”。
2.此次试验我们选择“AWS产品”,并且选择ec2。
3.创建策略中,我们可以选择AWS自带的很多已经很完备的策略
4.输入s3,勾选AmazonS3ReadOnlyAcess选项。直接点击下一步审核。
5.角色名称定为“AWS_S3_RO”,点击创建角色。
6.我们现在要重新创建一个ec2的实例,步骤同前一致。
7.在配置实例详细信息时,在IAM角色选项中,我们暂时选择“无”,此处需要注意的点是,在新版的aws控制台中,除了在此处能为实例分配角色,还能在实例创建完成后再分配角色,这是与旧版完全不同的。所以我们此时先选择“无”,不需要在此处为实例分配角色。
8.添加存储项选择默认,在添加标签中,添加一个键为“Name”,值为“IAM_Role”.
9.配置安全组,选择一个现有的安全组即可,仅开通SSH端口即可。
10.启动后,选择先前我们已有的密钥对。
11.待实例状态为可用后,我们再打开mac的终端,来连接这个实例。连接方法与命令与前文完全一致,只需注意将实例的IP地址修改好。
12.连接成功后,我们输入aws s3 ls测试是不会成功的,所以我们再次回到AWS控制台来为该实例赋予我们新建的角色,之后再进行测试。
13.打开AWS控制台,选中该实例,点击右上角的“操作”,选择实例设置,选择“附加/替换IAM角色”选项,在下拉框中选择我们之前创建好的角色“AWS_S3_RO”,点击应用。
14.配置成功后,我们再次回到终端,重新输入aws s3 ls,此时我们就可以看到bucket的信息了。
15.我们再做一个小实验,把该角色去除掉。回到AWS控制台选择“操作”,选择“附加/替换IAM角色”,在下拉框中选择“无角色”,点击应用后,我们再回到终端输入同样的命令aws s3 ls,我们就再次无法获取任何bucket的信息了。

猜你喜欢

转载自blog.csdn.net/weixin_43420057/article/details/83105754