I have a PiHole running in EC2 and I just VPN into it. The VPN is configured so that only DNS goes through it, so I don't tunnel all my traffic through it and pay for lots of egress.
Could easily run the VPN through something local, of course, but I prefer to expose as little as possible on my home network.
~$7.20/month for a t3.micro instance + $1.60/month for 20 GB of block storage, plus a penny or two for the bandwidth usage.
But you could do it cheaper than that. A t3.nano is ~$3.60/month and could easily handle running the PiHole, and you could probably get away with only 10 GB of block storage, possibly even less. I choose to use a t3.micro and 20 gig because I do other stuff with my instance.
I have a PiHole running in EC2 and I just VPN into it. The VPN is configured so that only DNS goes through it, so I don't tunnel all my traffic through it and pay for lots of egress.
Could easily run the VPN through something local, of course, but I prefer to expose as little as possible on my home network.