Q:

how to hide aws hosted webservers behind a vpn or proxy

I am trying to find a simple solution using either software based vpn or proxy solution. I have an AWS account in which I host multiple web based application. I dont want to expose the URL of stage/UAT environment. So I want to use some software proxy or software based VPN solutions. The solution should be simple - team should connect to vpn or proxy and should be able to access the URLs. I tried with openVPN server, but I have multiple aws accounts where configuration gets complicated.
Any software based, paid or company managed solution should be fine.

A:

I would suggest using OpenVPN market place AMI so they provide a beautiful and manageable interface for admin plus user.
Plus feature 

Have an option for Two factors Authenticator by default which provides an extra layer of security       
You do not need to manage or generate any keys

So you will need to allow traffic from open VPN in your private staging server and the user will only be able to connect if they are connected with the VPN server.

I have multiple aws accounts where configuration gets complicated.

Do not make think complicated and risky by using one VPN server for all accounts. It's better to use individual VPN access certificates for each account instead of using a single common one.

