问题描述
我用于Docker主机的AmazonLinux2 AMI似乎未安装AWS CLI。日志中包含来自尝试运行aws
命令的用户数据脚本的错误:
/var/lib/cloud/instance/scripts/part-001: line 7: aws: command not found
然后我使用SSH连接到实例以进行完整性检查,并且绝对找不到aws
:
[ec2-user@ip-X-X-X-X ~]$ cat /etc/os-release
NAME="Amazon Linux"
VERSION="2"
ID="amzn"
ID_LIKE="centos rhel fedora"
VERSION_ID="2"
PRETTY_NAME="Amazon Linux 2"
ANSI_COLOR="0;33"
CPE_NAME="cpe:2.3:o:amazon:amazon_linux:2"
HOME_URL="https://amazonlinux.com/"
[ec2-user@ip-X-X-X-X ~]$ aws --version
-bash: aws: command not found
我认为默认情况下在所有AmazonLinux AMI上都安装了AWS CLI?我不记得曾经需要自己安装它。
这篇文章甚至说CLI v1默认安装在AmazonLinux2上:
那么怎么可能在此现货AMI上找不到它?仅某些AmazonLinux2 AMI预先安装了CLI吗?作为参考,我正在使用此AMI:
amzn2-ami-minimal-hvm-2.0.20200917.0-x86_64-ebs (ami-0a6993b2978bd23cb)
解决方法
在AWS论坛上的post中,
Minimal默认情况下安装的软件包较小。例如,默认情况下安装了许多 AWS特定软件包,以便轻松集成到其他AWS服务。 最低版本没有安装这些功能。对于那些不直接与其他AWS服务进行交互或者想要挑选安装哪些服务的用户来说,这所占的空间要小得多。
如果需要awscli
,可以安装它:
sudo yum install -y awscli