-
Suggestion
-
Resolution: Fixed
-
None
-
1
-
Problem Definition
Stock images launched from Bamboo with instance type C5, M5 and anything that requires enhanced networking with the Elastic Network Adapter (ENA) will fail to launch with the following error:
com.amazonaws.services.ec2.model.AmazonEC2Exception: Enhanced networking with the Elastic Network Adapter (ENA) is required for the 'c5.xlarge' instance type. Ensure that you are using an AMI that is enabled for ENA. (Service: AmazonEC2; Status Code: 400; Error Code: InvalidParameterCombination; Request ID: ) at com.amazonaws.http.AmazonHttpClient$RequestExecutor.handleErrorResponse(AmazonHttpClient.java:1639) at com.amazonaws.http.AmazonHttpClient$RequestExecutor.executeOneRequest(AmazonHttpClient.java:1304) at com.amazonaws.http.AmazonHttpClient$RequestExecutor.executeHelper(AmazonHttpClient.java:1056) at com.amazonaws.http.AmazonHttpClient$RequestExecutor.doExecute(AmazonHttpClient.java:743) at com.amazonaws.http.AmazonHttpClient$RequestExecutor.executeWithTimer(AmazonHttpClient.java:717) at com.amazonaws.http.AmazonHttpClient$RequestExecutor.execute(AmazonHttpClient.java:699) at com.amazonaws.http.AmazonHttpClient$RequestExecutor.access$500(AmazonHttpClient.java:667) at com.amazonaws.http.AmazonHttpClient$RequestExecutionBuilderImpl.execute(AmazonHttpClient.java:649) at com.amazonaws.http.AmazonHttpClient.execute(AmazonHttpClient.java:513) at com.amazonaws.services.ec2.AmazonEC2Client.doInvoke(AmazonEC2Client.java:15642) at com.amazonaws.services.ec2.AmazonEC2Client.invoke(AmazonEC2Client.java:15618) at com.amazonaws.services.ec2.AmazonEC2Client.executeRunInstances(AmazonEC2Client.java:15005)
Suggested Solution
Enable ENA on our stock AMI's.
Workaround
- Launch an instance using an instance type that works (such as M4)
- Confirm that the AMI you launched from has ENA installed:
- If it's not ENA installed, install it using the appropriate instructions for the distro: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking-ena.html
- Once ENA is installed (or if it's already installed):
- Stop the instance and enable ENA support via AWS CLI: aws ec2 modify-instance-attribute --instance-id instance_id --ena-support
- Create a custom AMI off this instance and use it for Elastic Bamboo. The AMI will inherit the enhanced networking attribute from the instance.
- Configure a new Image Configuration at Bamboo Administration > Image Configurations that uses the new AMI ID and set the instance type to the desired type.