With the release of the TWM-AMIs v2.9.1 and v3.1.1, you will be able to launch new instances directly into the new generation T3, M5, C5, and R5 instance types. But what about your existing instances?? Never fear; we have you covered!
This guide will explain how to use a new SmartUpgrade script and a single AWS CLI command to enable Enhanced Networking and NVMe support, which is required to switch your existing v2.9 or v3.x instances to a new T3, M5, C5, or R5 instance type.
IMPORTANT:
These changes cannot be easily undone, but will NOT harm a production server or prevent it from running on earlier generation instance types
It is strongly advised that you make an AMI backup of your instance before proceeding...just in case!
You MUST have AWS CLI access from ANOTHER system such as your local workstation or another AWS instance in order to execute a necessary command to enable ENA support on this instance after these drivers are installed
If you have an HA Cluster, you can use the running instance to update the standby instance and do not need another separate workstation for AWS CLI access
AWS CLI Information: https://docs.aws.amazon.com/cli/latest/userguide/installing.html
Once you have made a backup and ensured you have AWS CLI access from a different machine than the instance you are upgrading, connect to your instance via SSH. First, you will want to run SmartUpgrade normally (with --auto switch) to ensure you are fully up to date with the latest linux kernel.
IMPORTANT: After SmartUpgrade is finished updating, you MUST reboot your instance to ensure you are actively running the absolute latest kernel. This is important to ensure the ENA and NVMe driver builds that will occur in the next step are building off the correct source version.
Reconnect to the instance via SSH and run the following command:
SmartUpgrade new-gen-prep
You will be shown warning information similar to the above and asked for confirmation to proceed. Simply press ENTER to continue and the script will complete and return you to the prompt:
You can copy the AWS CLI command presented to you, which is complete with the real instance ID of your server:
aws ec2 modify-instance-attribute --instance-id <i-xxxxxxxxxxxxxxxxx> --ena-support
Now you must stop/halt the instance in order to run the AWS CLI command to enable ENA support. Once the instance is stopped, you can paste the AWS command into your other workstation CLI and execute it.
If something went wrong, it will display an error message:
If it is successful, it returns no message at all:
THAT'S IT! You can now change your instance via the EC2 Console to any T3, M5, C5, or R5 type you desire and then start the instance. It may take slightly longer than normal for the instance to start up the first time on a new generation instance type. Please be patient.
WHAT HAPPENS IF MY INSTANCE DOESN'T BOOT ON THE NEW GEN TYPE!?
If you've given the instance at least 10 minutes to boot up for the first time on a new gen type and the Web GUI and SSH consoles are still non-responsive, go to the EC2 Console and choose to Stop the instance. Then choose to Stop the instance a SECOND time. You will be prompted with a Force Stop message this second time, which will ensure the instance shuts off. It will NOT shut down with just a single STOP command in this type of failed state!
After requesting the Forced Stop, it will take 5-10 minutes to fully shut down the instance. Once it is in a Stopped state, you can switch back to a previous generation (t2, m3, etc) type and boot the instance normally. We suggest you contact our Support Team for further assistance if this happens.