ECS Fargate - How to get IP Address

0

Hi All,

I am running an ECS Cluster for our Kafka Connect Images and have a working configuration deployed. To scale up Kafka Connect one of the things you need to do for each container is ensure that the Kafka Connect Rest Hostname is set to prevent a 409 Conflict when adding tasks (if you are running as part of a cluster). Using localhost is fine for a single node - but not for multiple.

Since I am running ECS in Fargate awsvpc mode. I didn't see a way to get the IP of the Container (per AWS docs not supported in awsvpc mode).

To work around this problem I added a custom command for the container on startup to call the container metadata service and set it that way e.g.

JSON=$(curl ${ECS_CONTAINER_METADATA_URI}/task)
TASK=$(echo $JSON | jq -r '.Containers[0].Networks[0].IPv4Addresses[0]')
CONNECT_REST_ADVERTISED_HOST_NAME=$TASK

Is there a more native way to do this?

Best, Wayne

xathras
posta 2 anni fa5012 visualizzazioni
1 Risposta
1
Risposta accettata

The container metadata URI is the AWS native way to get node ENI IP.

Jason_S
con risposta 2 anni fa
AWS
ESPERTO
verificato 2 anni fa
  • Thank you for feedback.

Accesso non effettuato. Accedi per postare una risposta.

Una buona risposta soddisfa chiaramente la domanda, fornisce un feedback costruttivo e incoraggia la crescita professionale del richiedente.

Linee guida per rispondere alle domande