> 1. A custom domain with ssl, for an httpS url.
This is pretty straightforward as long as you're setting up any VPS or have access to the server itself. If you wanted something like SquareSpace or Github Pages, this is much more difficult.
> 2. A CDN, for super fast loading.
I honestly have no idea what this means. A CDN can help if you have a large website over multiple data-centres, but really seems to be overshooting what you are trying to do here. Are you just thinking Cloudflare? What's the reason for this? You're hosting a static website, it's not like you've got to send massive amounts of data over the wire, so I can't see how having some large CDN backing you is going to provide much if anything at all. You should maybe specify what you really want here, since it sounds like you're worried your site won't be mirrored and may have downtime or might be slow in some countries, but instead you're phrasing it as if a CDN is a requirement. Why is a CDN a requirement?
> 3. Be able to create 301 redirects with something similar to an htaccess. So it seems GitHub page are not an option.
As long as you set up nginx / apache yourself, I don't see why this is hard to come by. Any VPS service would work for this.
> 4. Something simple to use, because I don't want to lose time learning/configuring stuff. So the Amazon combo S3+route53+cloudfront won't be possible for me.
Indeed, something "simple-to-use". Perhaps this goes back to "simple is not easy", and it sounds like you want easy based on everything so far.
> 5. And not expensive, less than $10 per month.
This seems to be the part that I don't quite get. How are you supposed to use a CDN for a service that has running costs of $10 / month? I mean, that could be the cost of one server. Take DigitalOcean for example (I don't work for them, but am a customer). You could pay $5 a month for a small VPS, with very little storage (20GiB). This would allow you to host your website, with your own domain, with LetsEncrypt certificates for TLS. You wouldn't have any CDN backing you, but you could set the whole thing up just as you would any other server, and if you know what you're trying to do you could even do the whole setup on a Docker container and just deploy the whole thing through their API.
That said, keep in mind if you want the total cost under $10 / month you're probably not gonna make it. Your domain could be anywhere between $25 - $40 a year (assuming it's cheap), which means that monthly you'll probably be paying about $8-$9 a month just for the VPS service and your domain. Any cost on top of this (excluding time, which will be the major investment at first) will pretty much put you over your limit. Also, if you end up deciding that the $5 DigitalOcean plan doesn't provide good enough specs / limits, then you'll be shifting to the $10 and $20 per month plans which will definitely put you over budget here. Another VPS provider, http://edis.at, that I've heard good things from provide some differing plans based one what you're looking for, but total overall cost is pretty similar.
There's lots of information about stuff like DigitalOcean online, but I fear that I don't understand your needs in depth enough to just recommend getting a VPS and going for it. It seems like the best path to take for a static site, but the remarks about CDNs and such seem to make me wary pushing that advice.