Streams App expose state via API in AWS ECS Fargate

Hi,
Has anyone deployed streaming apps that vend statestore data over a rest/gRPC in AWS ECS Fargate environment? Since this is a serverless container orchestrated environment how and what needs to be set in the “application.server” property? Does it need to be private ipv4 of the task? Wondering if anyone that has implemented it in ECS Fargate can share thier thoughts?

Thanks.

@siva.madala In the past I added a script to the container which would query the ECS task metadata endpoint and parsed out the IP address which I set in an environment variable or in a config file. Here is some information about the metadata endpoint that I hope you find useful.

https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-metadata-endpoint-v3.html

@rick , Thanks for the input. I have taken same approach as well and thanks for validating it. I am assuming for all of the tasks to be able to talk to each other over the private IP address, I am assuming you would’ve had to make sure that securitygroup is allowing the internal communication, correct?

Thanks.

Yeah, sorry I do not remember all the specifics to get it to work, but SGs would seem necessary. Another consideration is that, if I understand correctly, the IP address of the attached network device can change, and I don’t think Kafka Streams can adapt to that effortlessly.