Dan*_*ach 7 amazon-ec2 amazon-web-services aws-cli amazon-linux-2
我用于 Docker 主机的 AmazonLinux2 AMI 似乎没有安装 AWS CLI。日志中有来自尝试运行aws命令的用户数据脚本的错误:
/var/lib/cloud/instance/scripts/part-001: line 7: aws: command not found
Run Code Online (Sandbox Code Playgroud)
然后我使用 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
Run Code Online (Sandbox Code Playgroud)
我认为所有 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 论坛上的这篇文章:
Minimal 默认安装了一组较小的软件包。例如,默认安装了许多AWS 特定软件包,以便轻松集成到其他 AWS 服务。最低限度没有安装这些。对于那些不直接与其他 AWS 服务交互或想要挑选安装哪些服务的人来说,这可以大大减少占用空间。
如果你愿意awscli,你可以安装它:
sudo yum install -y awscli
Run Code Online (Sandbox Code Playgroud)