如何在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
答案 0 :(得分:2)
启动EC2实例时需要使用instance profile - 如果它附加了实例配置文件,那么AWS CLI将自动使用其中设置的权限来授予对资源的访问权限,而不是依赖于您提供的资源凭证。
答案 1 :(得分:0)
您需要为您的实例分配instance role。授予其从存储桶中获取对象的权限。然后,aws cli
会自动从实例元数据中获取凭据,因此您无需先配置aws
。