This document describes how to use the application slave IP address feature on Engine Yard.
This feature allows you to assign an elastic IP address to an app slave instance directly from the dashboard. As an example, you can use this to create an IP whitelist for communicating with a gateway. You can also use it to maintain IP continuity if your app master goes down and the slave gets promoted.
Update an environment by adding a new app slave (you cannot add an IP address to an app slave when you are in the process of creating a new environment).
Add a new app slave, and then add an IP address to it (you cannot add an IP address to a pre-existing app slave).
Configure app slave IP addresses
You need to update an existing environment by adding a new app slave, and then request an IP address for it.
Note: The UI dynamically displays the number of elastic IP addresses you have available on your account. If you need more, contact Engine Yard Support to request an increase in your EIP limit. (The AWS limit is set per account and region.)
To configure app slave IP addresses
Log in to your Engine Yard account.
Navigate to the environment by clicking on the environment name in the dashboard.
On the Environment page, click Add.
Select the number of application instances you need to add.
Select Add IP address under the App instance address.
The UI dynamically displays the number of elastic IP addresses you have available on your account.
(Optional) If you have existing unused IP addresses, you can reuse them here.
Enter the volume size and instance size.
We recommend a configuration consisting of app instances with the same:
Volume size (for example, 15 GB)
Type (for example, High CPU Medium)
Bitness (for example, 64 bit)
Choose the application snapshot date.
Engine Yard adds an IP address for each new app instance, up to the number of available elastic IP addresses.
Note: If you need more elastic IP addresses, contact Engine Yard Support to request an increase in your EIP limit.
Engine Yard adds and configures your new application instances in parallel. After the new instances have been added, the entire environment is then reconfigured to recognize the new instances.
Your app continues to run and serve requests during this parallel configuration. Once the new instances are finished booting, a quick Chef run momentarily halts traffic while updating the load balancer configuration; the new instances are then recognized by HAProxy, Nginx, etc.
Manage app slave IP addresses
Important: We recommend testing in a staging environment before applying changes in a production environment.
To manage app slave IP addresses in your environment
Once the new app slaves are running, you can terminate the old app slave (the instance without the IP address).
On the dashboard, click Tools > IP Addresses on the toolbar.
You can view the new IP addresses.
(Optional) You can detach the IP address from an instance on this page.
(Optional) You can delete unused IP addresses after they are not associated with an instance any longer.
Verify app slave IP addresses
UI messages and dashboard help text provide the information you need to verify the app slave status.
To verify app slave IP addresses
On the environment page, you can watch provisioning messages and progress.
The new app slaves appear with their new IP addresses.
You can also hover over the instance to see the availability zone.
You might have these questions related to app slave IP addresses.
Will my application be available during the provisioning?
Your application does not lose availability when you add an application slave. Adding an app slave with an IP address is handled by provisioning and is resolved by the time the application is deployed to the new slave.
Can I choose the IP address?
If you have an unused IP address (from a previously active instance), you can use that. When you add an app slave, you'll see the unused IP address in the selection list.