0

我在 AWS 中定义了一个 ECS 集群和一个 Auto Scaling 组,我用它来添加/删除实例以根据需要处理任务。我有 ASG 设置,以便它在适当的时间创建 EC2 实例,但它不会连接到 ECS 集群,除非我手动进入并禁用/启用 ECS 服务。

我在 EC2 机器上使用 Amazon Linux 2 ami,一切都在同一个区域/账户等中。我在下面包含了我的用户数据。

#!/bin/bash 
yum update -y 
amazon-linux-extras disable docker 
amazon-linux-extras install -y ecs 
echo "ECS_CLUSTER={CLUSTERNAME}" >> /etc/ecs/ecs.config
systemctl enable --now ecs

如前所述,这会安装 ECS 服务并正确设置配置文件,但启用实际上并没有连接机器,而是在运行时在机器上运行相同的禁用/启用命令连接没有问题。我错过了什么?

4

2 回答 2

0

首先,正确的语法是

#!/usr/bin/env bash
echo "ECS_CLUSTER=CLUSTER_NAMe" >> /etc/ecs/ecs.config

更新配置后,最好重新启动 ECS 代理。

#!/usr/bin/env bash
echo "ECS_CLUSTER=CLUSTER_NAME" >> /etc/ecs/ecs.config
sudo yum update -y ecs-init
#this will update ECS agent, better when using custom AMI
/usr/bin/docker pull amazon/amazon-ecs-agent:latest
#Restart docker and ECS agent
sudo service docker restart
sudo start ecs
于 2020-07-07T02:13:10.270 回答
0

我最终用古老的格言解决了这个问题,把它关掉再打开。

例如,我shutdown -r 0在用户数据脚本的底部添加了“配置”并立即连接后重新启动机器。

于 2021-03-02T22:39:47.357 回答