How to fix the AWS “ENA not Enabled” or failure to launch a T3 instance.
[for aMiSTACX] – The whole purpose of releasing our G3 stacks was to take advantage of the new AWS T3 class of servers. The T3 class provide a nice extra punch of horsepower for your small instance servers like the t3-micro and t3 small. Both have an extra CPU that really makes a difference with multi-threaded applications, and running scripts that make use of cron.
Note: All G4s have ENA enabled by default.
“These general-purpose instances are even more cost-effective than the T2 instances, with On-Demand prices that start at $0.0052 per hour ($3.796 per month). If you have workloads that currently run on M4 or M5 instances but don’t need sustained compute power, consider moving them to T3 instances. You can host the workloads at a very low cost while still having access to sustainable high performance when needed (unlimited bursting is enabled by default, making these instances even easier to use than their predecessors).
… The instances are powered by custom high frequency Intel® Xeon® Scalable (Skylake) Processors featuring the new Intel® AVX-512 instructions and you can launch them today in seven sizes.
…Like all of our most recent instance types, the T3 instances are HVM only, and must be launched within a Virtual Private Cloud (VPC) using an AMI that includes the Elastic Network Adapter (ENA) driver.”
Some aMiSTACX G3 Owners missing the ENA Key
We don’t know how or why, but we found that one of our G3s [WordPress F1; since fixed in v2.0] was missing the ENA Driver bound to the ethernet adapter. Even though ENA was installed, it just wasn’t enabled. [Kind of like that extra horsepower key available on select Dodge Challenger models that unlock insane horsepower, and the dealer didn’t give it to you 🙁 ]
How to 3D-Print your own Key 🙂 and enable ENA.
The good part is that ENA is already installed on all G3s. You can verify this from CLI with: modinfo ena
This will print out a screen like this:
Next, you want to verify the driver is bound to the adapter. More than likely it is not; otherwise, why are you reading this article?
Use the following command to verify that the ena module is being used on a particular interface, substituting the interface name that you wish to check. If you are using a single interface (default), it might be eth0. To make sure run netstat -i
ethtool -i eth0
Output will look like this:
In the above case, the ena
module is not loaded, because the listed driver is vif
.
The Fix to Enable ENA
- Create an IAM account or use an IAM account that has programmatic access to Administrator or full EC2 permissions.
- Stop the target aMiSTACX instance.
- From another instance, better to use a clone of the same stack for simplicity as it should already have AWSCLI installed. If not, you may have to install it from CLI.
sudo apt-get install awscli
- You should set up aws configure to make things easier, and re-run the command, but basically it will ask you for your access keys. Region etc. If you get no errors then the new target T3 is all ready to go.
- From the remote instance, easiest if you are in same region/zone, and like I said, a clone of your stack works, or any aMiSTACX G4 LAMP/LEMP will do. Run the following:aws ec2 modify-instance-attribute –region {your region} –instance-id {instance_id} –ena-support
e.g.aws ec2 modify-instance-attribute --region us-west-2 --instance-id i-0d7be23c1987a0beb --ena-support
- Now that ENA is enabled on the target, just select the T3 instance class, and do a whole-shot off the line with start 😉
That’s it! Wow! You can feel that extra horsepower right away on the new T3s. 😀
Now, don’t forget to register for your aMiSTACX A51 account. As we alert all customers to issues like this, and you don’t have to miss a beat.
Weaponize your Business with aMiSTACX! and with the right Key.