"start ecs" 不适用于基于 arm64 的实例 a1.large

"start ecs" does not work on arm64 based instance a1.large

我正在将容器从 m5.large 个实例迁移到生产 ecs 集群中的 a1.large 个实例。

但是在这种类型的实例上,当用户数据脚本尝试启动 ecs 命令时,我注意到它不再可用:

[ec2-user@ip-10-1-1-90 ~]$ start ecs
-bash: start: command not found

我正在使用最新推荐的 AMI (ami-0c812cd5f7b956092):

aws ssm get-parameters --names /aws/service/ecs/optimized-ami/amazon-linux-2/arm64/recommended

我错过了什么?

我的猜测是您在 m5 节点上使用较旧的 "Amazon Linux AMI" ECS AMI。 ARM 实例仅在使用 systemd 的 Amazon Linux 2 中受支持。

对于任何基于 Amazon Linux 2 的 AMI(arm 或 x86),您需要 运行 systemctl start ecs。此外,出于兼容性原因,您可以在 Amazon Linux AMI 或 Amazon Linux 2 上使用 service 样式调用:service ecs start.