https://github.com/jlund/streisand
It's essentially a set of Ansible scripts that will install a set of VPN daemons on your cloud instance* , such as OpenVPN, Stunnel, OpenConnect, L2TP/IPsec, Shadowsocks, and more. Seems to be running well so far.
* supported providers are Amazon EC2, DigitalOcean, Google Compute Engine, Linode and Rackspace.
https://github.com/hwdsl2/setup-ipsec-vpn
Recommended.
If the configuration when connecting behind a NAT on a badly configured router i've never really had a bad experience with ZT. I use it to connect into my AWS VPC then connect to anything I need to as if it were local.