You get a bunch of elastic IPs, you point your domains to those, you point those to your instances.
That's secure, no one can use those IPs until you release them. Is this rocket science? On AWS I don't think you really get charged for this even (or very little) from what I can tell if you have them all pointing to your instances.