如何在EC2实例上启用AWS CLI?

时间:2018-06-07 01:57:09

标签: amazon-web-services amazon-s3 amazon-ec2 aws-cli

如何在EC2实例上启用AWS CLI?在我创建EC2实例之后,我可以通过SSH进入机器,但是当我尝试执行aws s3 ls之类的操作时,它会提示我先执行aws configure,然后我必须输入我的密钥。我希望能够自动执行此操作,以便我可以从S3存储桶中获取其他工件进行安装。请注意,我在计算机上使用AWS CLI创建EC2实例,但我需要在EC2实例上使用AWS CLI。

我创建简单EC2实例的AWS命令如下所示(这在我的计算机上完成)。

aws ec2 run-instances \
 --image-id ami-14c5486b \
 --count 1 \
 --instance-type t2.micro \
 --key-name testkey \
 --subnet-id subnet-xxxxxxxx \
 --security-group-ids sg-xxxxxxxx \
 --tag-specifications 'ResourceType=instance,Tags=[{Key=Name,Value=test}]'
 --user-data file://install-software.sh

install-software.sh看起来类似于以下内容(这是提交给EC2实例)。

#!/bin/bash

aws s3 cp s3://mybucket/some-archive.tar.gz some-archive.tar.gz
tar xf some-archive.tar.gz
sudo some-archive/bin/install.sh

2 个答案:

答案 0 :(得分:2)

启动EC2实例时需要使用instance profile - 如果它附加了实例配置文件,那么AWS CLI将自动使用其中设置的权限来授予对资源的访问权限,而不是依赖于您提供的资源凭证。

答案 1 :(得分:0)

您需要为您的实例分配instance role。授予其从存储桶中获取对象的权限。然后,aws cli会自动从实例元数据中获取凭据,因此您无需先配置aws