Use Application Slave IP Addresses

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.

Get started with app slave IP addresses

Prerequisites

  • This article assumes you already have an Engine Yard account. If not, see Sign up for an Engine Yard Account.
  • You need to understand that you must:

    • 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

  1. Log in to your Engine Yard account.
  2. Navigate to the environment by clicking on the environment name in the dashboard.
  3. On the Environment page, click Add.

    Enviro_Add_Instances.png

  4. Select the number of application instances you need to add.

  5. 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.

    AppSlaveIPAddress.png

    (Optional) If you have existing unused IP addresses, you can reuse them here.

  6. 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)

  7. Choose the application snapshot date.

  8. Click AddtoClusterButton.png

    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

  1. Once the new app slaves are running, you can terminate the old app slave (the instance without the IP address).

    AppSlaveListwithIPs.png

  2. On the dashboard, click Tools > IP Addresses on the toolbar.

    ToolsIPAddresses.png

  3. You can view the new IP addresses.

    IPAddressList.png

  4. (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

  1. On the environment page, you can watch provisioning messages and progress.

    AppSlaveProvisioning.png

    The new app slaves appear with their new IP addresses.

  2. You can also hover over the instance to see the availability zone.

    AppInstanceHover.png

See Manage app slave IP addresses for more information.

FAQs

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.

How can I get more elastic IP addresses?

Contact Engine Yard Support and ask for an increase in your EIP limit.

More information

This table provides other resources related to app slave IP addresses.

For more information about... See...
Adding an instance to an environment Add Instances to an Environment
Using the Apply button Apply Configuration Changes
Updating a single instance Use Instance Update on Engine Yard

If you have feedback or questions about this page, add a comment below. If you need help, submit a ticket with Engine Yard Support.

Comments

Article is closed for comments.