CloudFront is looking good. My added bandwidth cost is about $.20 a month - a very cost effective way to add SSL to my S3 hosted weblog. There is one financial gotcha - the first 1000 URL invalidations are free, but it is $.005 per invalidation after that. I blew through my free invalidations when I added SSL and regenerated every page last month. I think 1000 free invalidations a month would be ample for most people, but not for me.
I have almost 900 total posts. That means I invalidate about 90 URLs with every post (10 posts per page). Or about 10 posts a month, unless I’m willing to pay. I don’t think anyone really wants to page through my entire weblog. And I already updated my archive (2015), category (technology), and tag (java) pages to present a single page of titles last year. So I’ve updated the hexo landscape theme to only generate the first index page.
My fork of hexo-theme-landscape is on github. Take the First Step uses the work branch. I cherry-pick commits from work to master so that I can generate clean pull requests from master.