Friday, February 4, 2022

[SOLVED] How do I get my EC2 Instance to connect to ECS Cluster?

Issue

I have an ECS cluster defined in AWS and an Auto Scaling Group that I use to add/remove instance to handle tasks as necessary. I have the ASG setup so that it is creating the EC2 instance at the appropriate time, but it won't connect to the ECS Cluster unless I manually go in and disable/enable the ECS service.

I am using the Amazon Linux 2 ami on the EC2 machines and everything is in the same region/account etc. I have included my user data below.

#!/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

As mentioned this installs the ECS service and sets the config file properly but the enable doesn't actually connect the machine, but running the same disable/enable commands on the machine once running connects without problem. What am I missing?


Solution

I ended up solving this using the old adage, turn it off and on again.

e.g. I added shutdown -r 0 to the bottom of the user data script to restart the machine after it was "configured" and it connected right now.



Answered By - HammNCheez
Answer Checked By - Terry (WPSolving Volunteer)