Inicialmente espero que el tráfico a mi aplicación web sea mínimo y no quiero asumir el costo de un balanceador de carga. Pero si mi aplicación gana tracción, entonces puedo configurar un balanceador de carga más adelante. ¿Es posible usar AWS Fargate sin un balanceador de carga?
Eso no es fácil de lograr, vea este hilo: https://forums.aws.amazon.com/thread.jspa?messageID=931880
El enfoque más simple es asignar un balanceador de carga. Si realmente no quiere hacer eso, sugieren ejecutar algún script que actualizará el DNS cada vez que se implemente una tarea.
Creo que deberías ir con un LB siempre que no haya tracción, el costo es insignificante.
No puramente en AWS si quieres https. Con HTTP es posible usar ECS Service Discovery. Técnicamente, podría combinar CloudFlare con ECS/Service Discovery para HTTP y configurar sus grupos de seguridad para bloquear todo el tráfico excepto CloudFlare (publican una lista de IP), y esto permitirá que su sitio público esté seguro y evitará la necesidad de usar un ALB en AWS.