为什么在amazonlinux2 ami上找不到aws cli?

问题描述

我用于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上:

AWS Docs Link

那么怎么可能在此现货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