Note: this article was originally published on November 13, 2017.
This document is designed to provide additional details, insights and process information around the recently announced End-Of-Life (EOL) of the older Engine Yard technology stacks and older AWS instance types. While this is a "soft" EOL and these older technologies will continue to function on the Engine Yard platform, the costs associated with continuing to operate these technologies will increase significantly.
Instances are being EOL'd because they are systems based on older system architectures and infrastructure within AWS. Usage costs for these instances are gradually increasing as the equivalent current generation cost falls. These instances do not support or fully support all of the latest technologies offered by AWS (Encrypted EBS, truly Elastic EBS), and their reliability and maintenance requirements are gradually increasing over time.
AWS Instance Families Affected:
- C1 - c1.medium, c1.xlarge
- C3 - c3.large, c3.xlarge, c3.2xlarge, c3.4xlarge, c3.8xlarge
- M1 - m1.small, m1.medium, m1.large, m1.xlarge
- M2 - m2.xlarge, m2.2xlarge, m2.4xlarge
- M3 - m3.medium, m3.large, m3.xlarge, m3.2xlarge
- R3 - r3.large, r3.xlarge, r3.2xlarge, r3.4xlarge, r3.8xlarge
- HI1 - hi1.4xlarge
The retiring stacks have reached their End-of-life due to technology constraints. The stacks being retired are all based on an OS image from late 2009. Open-SSL for this image has been updated to the fullest extent possible but has reached a point where many of the web-services the instance or an application may interact with will not accept requests due to the use of older and insecure authentication mechanisms. Software updates will no longer be published to these stacks and Support of instances running on these will be based on "Best Effort" response.
Engine Yard Stacks Affected:
- custom stacks based on any of the above
IMPORTANT: Modern instances are not supported on EOL stacks, so a migration from EOL instances must be combined with a stack upgrade or migration.
Before You Begin
When planning your updates it is important to be aware of some key considerations that will have an impact on how you proceed.
- VPC: The modern instance types you'll be changing to all require the use of Amazon VPC. If your account has been active with Engine Yard since before September 2015, and you haven't already gone through an update to add VPC, you'll need to take some extra steps as part of your preparations.
- If you are currently on a stack that is not
Stable-v5you'll need to do a stack upgrade. Stack upgrades sometimes also mean upgrading the Ruby version that your application relies on, or updating to a newer major database version.
- Stable-v4 requires Ruby 1.9.3 or higher, and MySQL 5.5 or higher.
- Stable-v5 requires Ruby 2.0 or higher and MySQL 5.6 or higher.
- If you use custom cookbooks they may also need to be updated for compatibility with more recent versions of Chef.
- Not all Current instance types are supported on all versions of the Stable-v4 and Stable-v5 stacks; you may need to review and apply a stack upgrade to see all modern instance types.
There are a few different ways to approach this transition:
- For Platinum Support, our migrations team can work with you to craft a custom upgrade plan and assist you with testing and updating cookbooks for your new configuration.
- If Platinum is not an option, we can tailor a Professional Services project to fit your specific needs and requirements.
- If you'd rather complete this on your own, the remainder of this document is specifically intended to help you find the details you need to succeed.
If you would like assistance with an upgrade please reach out to our Customer Success team for additional details on the options available. If you are completing the migration yourself and have questions or run into any trouble please file a ticket with Support so we can assist you further.
The following table suggests what might be the closest instance type to each of the retiring instances. Before selecting your target instance types you may want to look at current load and utilization to see if any changes to Memory or CPU resources could be beneficial.
|c1.medium||2 vCPU 1.7 GB||t2.medium||2 vCPU 4 GB|
|c1.xlarge||8 vCPU 7 GB||c4.2xlarge||8 vCPU 15 GB|
|c3.large||2 vCPU 3.75 GB||c4.large||2 vCPU 3.75 GB|
|c3.xlarge||4 vCPU 7.5 GB||c4.xlarge||4 vCPU 7.5 GB|
|c3.2xlarge||8 vCPU 15 GB||c4.2xlarge||8 vCPU 15 GB|
|c3.4xlarge||16 vCPU 30 GB||c4.4xlarge||16 vCPU 30 GB|
|c3.8xlarge||32 vCPU 60 GB||c4.8xlarge||32 vCPU 60 GB|
|m1.small||1 vCPU 1.7 GB||t2.medium||2 vCPU 4 GB|
|m1.medium||1 vCPU 3.75 GB||t2.medium||2 vCPU 4 GB|
|m1.large||2 vCPU 7.5 GB||t2.large||2 vCPU 8 GB|
|m1.xlarge||4 vCPU 16 GB||m4.xlarge||4 vCPU 16GB|
|m2.xlarge||2 vCPU 17.1 GB||r4.large||2 vCPU 15.25 GB|
|m2.2xlarge||4 vCPU 34.2 GB||r4.xlarge||4 vCPU 30.5 GB|
|m2.4xlarge||8 vCPU 68.4 GB||r4.2xlarge||8 vCPU 61 GB|
|m3.medium||1 vCPU 3.75 GB||t2.medium||2 vCPU 4 GB|
|m3.large||2 vCPU 7.5 GB||m4.large||2 vCPU 8 GB|
|m3.xlarge||4 vCPU 15 GB||m4.xlarge||4 vCPU 16 GB|
|m3.2xlarge||8 vCPU 30 GB||m4.2xlarge||8 vCPU 32 GB|
|r3.large||2 vCPU 15.25 GB||r4.large||2 vCPU 15.25 GB|
|r3.xlarge||4 vCPU 30.5 GB||r4.xlarge||4 vCPU 30.5 GB|
|r3.2xlarge||8 vCPU 61 GB||r4.2xlarge||8 vCPU 61 GB|
|r3.4xlarge||16 vCPU 122 GB||r4.4xlarge||16 vCPU 122 GB|
|r3.8xlarge||32 vCPU 244 GB||r4.8xlarge||32 vCPU 244 GB|
|hi1.4xlarge||none, instance type not used|
The easiest way to confirm if your environment has VPC is to check the instances available to the specific environment. To do this:
- click the "Add" button on the cloud dashboard.
- select to add either an application or utility instance
- click the available instance types drop down and look for instance types of
- if you see all of these instance types you can move on to the next section.
- if you see some, but not all of these instance types, you may need to review and apply an environment upgrade.
- if you do not see any of these instances, you'll need to start by enabling VPC for your account. Don't actually migrate your environment to VPC until you've reviewed all of this document, if you need to upgrade to a new stack as well you might want to make both changes at the same time.
Confirm Stack Version
To determine your current stack version:
- View the environment
- The stack version is located below the region and environment type which appears below the main control buttons (Apply, Snapshot, Add, Terminate) for the environment.
Complete Stack Upgrades
If you already use VPC or have now enabled it, you can combine the VPC migration with one of the following Stack upgrades:
- Simple Upgrade from v1, v2, or v3 stacks to Stable-v4
- Complex Upgrade from v1, v2, or v3 stacks to Stable-v4
- Upgrade to Stable-v5
If you completed the VPC or Stack Upgrade, you've already replaced your instances with modern types and your work here is done. If you already have a VPC and were on a Supported Stack what needs to happen next is just to rotate out the existing instances with their modern equivalent. The process for this is the same as if you were replacing a degraded instance in your environment.
If you have any questions or if we can assist further, please reach out to support so we can provide additional guidance.