Just a quick post with an EC2 launch configuration for running a Rancher Host in an EC2 Private Subnet.
Doing it this way will let you set up autoscaling groups etc. This also provides an alternative to using docker-machine across private IPs, this way we don’t have to set up any private SSH communication between the Rancher Server and the Host, which may (should?) exist in different networks.
Super simple stuff, but I’ve not seen much online in terms of how people are implementing Rancher and would like to slowly add to that.
The important thing here is to set
User data (under
Advanced Details at the
Configure details stage) like so:
#!/bin/bash curl https://releases.rancher.com/install-docker/17.06.sh | sh docker run -e CATTLE_AGENT_IP="$(curl http://169.254.169.254/latest/meta-data/local-ipv4)" --rm --privileged -v /var/run/docker.sock:/var/run/docker.sock -v /var/lib/rancher:/var/lib/rancher rancher/agent:v1.2.6 https://rancher.example.com/v1/scripts/_CHANGE_THIS_BIT_
- Install a supported version of Docker
- Register the host with the Private IP against your rancher instance.
You’ll need to set up a security group, just make sure your hosts can talk to each other on
You’ll also need some way for these Rancher Hosts to access the internet, like a NAT Gateway, or an alternative method of getting everything they need.