How to create secondary private ip with AWS CDK?


I cannot figure out how I can attach a secondary private IP to my primary ENI (eth0) with AWS CDK.

This is how I create my instance:

   const myVpc = new ec2.Vpc(this, "my-vpc", {
      maxAzs: 3,

   const mySecurityGroup = ...
  const imageDebian10 = ...
    new ec2.Instance(this, "my-instance", {
      instanceName: "my-instance",
      vpc: myVpc,
      vpcSubnets: {
        subnetType: ec2.SubnetType.PUBLIC,
      availabilityZone: this.availabilityZones[0],
      securityGroup: mySecurityGroup,
      machineImage: imageDebian10,
      instanceType: ec2.InstanceType.of(
asked 2 years ago1140 views
1 Answer


As far as i know that you cannot modify the Primary interface, Here are my recommendations for you, I have done something like this with Cloud-formation both any stack could be the same.


  • Create Two interaces or one interface eni(0) [I have created manually because there is custom requirement for us ]
  • You can call One is primary and Second Interface as Secondary ENI
  • You can refer those interfaces in your template

Primary network interface

Each instance has a default network interface, called the primary network interface. You cannot detach a primary network interface from an instance. You can create and attach additional network interfaces. The maximum number of network interfaces that you can use varies by instance type. For more information, see IP addresses per network interface per instance type.

If you still have any questions please let me know

Thank You GK

profile picture
answered 2 years ago

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions