I recently moved my personal website (https://chrxr.com) to a static site in a rather complicated fashion.
I use Wagtail as my CMS, so I dockerized it and put it on an ECS cluster. I then use Wagtail Bakery to publish the pages to S3. I then change the task count on the ECS service to 0. For a DB I use sqlite in EFS, so it's persistent and backed up.
I was previously running on an EC2, and cut the cost from about $15 per month to ~$1-2 per month. All I'm paying for is <1mb S3 storage, a single route 53 hosted zone, and one image in an ECR repo.
If I want to add content, I spin up the ECS task again and work away. Note that part of the reason for such a low cost is my website get VERY little traffic :)
Apart from the cost, I also have the advantage that it's lightning quick most of the time, with caching provided by CloudFront.
I think this is catering to a specific audience who is not me :) I actually find that the complexity of self hosting is the interesting part.
I did this to learn stuff. Seeing as I have little to say, my blog site is more of a technical playground than a valuable store of content.
I omitted that between the EC2 version and this current version, I built a really convoluted version with an ALB, Aurora, always-on ECS etc. That came to $80 a month. So then that motivated me to go the other way with the super cheap option.
I use Wagtail as my CMS, so I dockerized it and put it on an ECS cluster. I then use Wagtail Bakery to publish the pages to S3. I then change the task count on the ECS service to 0. For a DB I use sqlite in EFS, so it's persistent and backed up.
I was previously running on an EC2, and cut the cost from about $15 per month to ~$1-2 per month. All I'm paying for is <1mb S3 storage, a single route 53 hosted zone, and one image in an ECR repo.
If I want to add content, I spin up the ECS task again and work away. Note that part of the reason for such a low cost is my website get VERY little traffic :)
Apart from the cost, I also have the advantage that it's lightning quick most of the time, with caching provided by CloudFront.