Auto Scaling does not directly support this use case, but using a combination of Auto Scaling lifecycle hooks, Amazon CloudWatch Events, and AWS Lambda functions will perform a similar function. Configure the following:

5. Choose Specific group name(s), and select the Auto Scaling group or groups that want to auto-attach a second ENI to on launch.

6. On the right side of the screen, select Add target. Lambda function is automatically chosen from the predefined list of targets.

7. Choose Configure details.

If configured correctly, when Auto Scaling launches a new instance, the second ENI you specified will be attached to the new instance.

Note: If you are not using the Amazon Linux AMI in your launch configuration, you might need to do some additional configuration on the OS level to bring up the additional interface.

You also need to write code that deletes the second ENI when Auto Scaling terminates the instance to avoid exhausting private IP addresses in the subnet and reaching the ENI limit in your account. A similar approach can be used to use a Termination lifecycle hook and trigger a Lambda function through CloudWatch Events or Amazon Simple Notification Service (Amazon SNS) to detach and delete the interface with DeviceIndex > 0. Or, you can write a boto script that periodically deletes all the unused interfaces in your account.

You can also use SNS instead of CloudWatch Events to invoke your lambda function by configuring --notification-target-arn when creating the hook. This can be ideal if you are seeking cross-account or cross-region support, because CloudWatch Events currently does not support that.