Your website visitors are not supposed to talk directly to the Fargate container. As you realised the IPs are not predictable and can change at any time - it’d be difficult to keep the DNS up to date.
Instead use Application Load Balancer in front of Fargate and use the ALB’s address for your website.
ALB will automatically register the Fargate ...
I’m not sure how exactly it would work. When there are no healthy ALB targets the ALB returns 503 error, hence your visitors would see an error page instead of your website. That may trigger a Fargate container start but that often takes tens of seconds, sometimes even over a minute. By the time your container is up your visitor is probably gone.
If you ...
If re-writing your app to fit the above response it's not an option or costly, you could look into GCP CloudRun
CloudRun it's serverless containers developed by GCP. You can pack your website in a container and then CloudRun only bills you per CPU usage during requests and boot-up. It even has a really good free tier that will make running your app at ...
You did not include the actual Load Balancer in your template. Please include that, for a full answer.
Your problem is most likely that your Load Balancer - which most likely has a private IP in your subnets and communicates with that - is not allowed to communicate with your ECS instances, since they allow only traffic from 188.8.131.52/16.
That's correct, Fargate is more expensive than EC2 for the same vCPU/RAM amount.
The smallest Fargate container with 0.25 vCPU and 0.5 GB RAM costs $0.019/hr, that's ca $14/month per container.
If you need 1 vCPU then the minimum amount of RAM is 2GB (see Fargate Supported Configurations) and suddenly the price is ca $55/month per container. ...
I think Fargate is included in SES. I can find no direct reference but several indirect references so your mileage may vary. Here's my logic:
What is Fargate
AWS Fargate is a serverless compute engine for containers that works with both Amazon Elastic Container Service (ECS) and Amazon Elastic Kubernetes Service (EKS).
What is ECS
After searching, I found out it was due to the fact that I was not enabling "Service Discovery" during the service creation, so no private DNS was created. Here is some additional documentation which explains exactly the steps:
Are you the author/developer of this service? If you are you better redesign it because what you describe is not a suitable, scalable architecture.
The closest you can get to your stated requirements is using AWS Lambda - Lambdas are created per-request, i.e. if you have 1 client you'll have 1 lambda running, if you have 100 clients you'll have 100 lambdas ...