Deploying behind a gateway server
About deployment gateways
If you want to deploy your application in a DMZ, you should prepare a bastion server which enables you to connect to your DMZ. You should define a Deployment Gateway in your Cloud66 account and specify the information of the bastion server, then you will be able to deploy your application in the DMZ.
Important
Team members should have Edit Deploy Gateways access rights to be able to use the deployment gateway.
Deploying an application behind a gateway
Gateway management is available through toolbelt .
First, you need to define a gateway. For example:
$ cx gateways add --name aws_bastion --address 1.1.1.1 --username ec2-user --private-ip 2.2.2.2
In order to use this gateway for an application deployment, you need to first specify it in the manifest:
production:
gateway:
name: aws_bastion
username: ec2-user
…and then make it available before you start the deployment:
$ cx gateways open --name aws_bastion --key /tmp/gateway.pem --ttl 1h
Now you can deploy your application.
After the deployment is finished you can invalidate the gateway or leave it until the TTL is over.
$ cx gateways close --name aws_bastion
Accessing servers behind a gateway
If you want to connect to your servers behind a bastion server you will need to have access to the bastion server’s key. You can then use Toolbelt to connect to your server as follows:
$ cx ssh --gateway-key ~/.ssh/bastion_key -s "My Awesome App" Lion