To add an additional network interface to an instance or to remove an interface from your instance perform the steps described below.
The steps below only provide a basic overview. The exact tasks required will vary depending on your network design.
Contents
When an instance is created, a default Ethernet interface is attached to the system (eth0). You can create additional network interfaces and attach them to an instance.
If an instance has only one Ethernet interface, a public IP address can be assigned automatically. However, this address will be removed by AWS as soon as the network is restarted after a second interface has been added to the instance. Be careful not to lose connectivity to your instance when changing the network configuration.
Creating a New Network Interface
The following steps are required to create a new network interface that can later be added to an instance:
Step | Details |
---|---|
Locate the Network Interfaces option on the EC2 dashboard and click on it. | Clicking on Network Interfaces opens the list of existing networks. |
Create a new interface. | Click on Create Network Interface at the top of the interface list. This opens the interface creation window. |
On this screen,
Click on Create when you are done. The new interface will appear in the overview list. There you can assign a name to the interface. Check that the interface is in state available. |
Attaching the Interface to your Instance
After creating a network interface, you have to assign it to the instance where it will be used.
Adding a second network interface to a non-Amazon Linux EC2 instance causes traffic flow issues. This occurs because both interfaces are in the same subnet, and there is only one routing table containing one default gateway. Traffic that comes into the second network interface leaves the instance using the first network interface. This is blocked by AWS because a mismatch between MAC address and IP address.
To make the second interface work, perform the following steps:
- Add the new interface to your running instance.
- Create a configuration file for the second interface.
- If one interface has a public IP address, restart your network and test reachability of the public interface.
- If both interfaces only have private IP addresses or both have a public IP address,
- configure a secondary routing table, and then
- set up rules in the custom routing table policy database so that traffic for the secondary interface uses the new routing table.
Refer to the AWS documentation and to section Example of a More Complex Network Configuration. Failure to use the proper steps, may make your instance unreachable!
Step | Details | |
---|---|---|
Locate your network interface in the interface list and right-click on it. | The right-click opens the context menu. Select Attach. This will open the window to enter the necessary instance information. | |
Select your instance and confirm entry. | Select your instance from the drop-down list and click on Attach. The state of your interface will change from available to in-use. | |
Verify that instance has second interface. | Select your instance in the instance list. The description tab in instance details should now display two network interfaces: |
You can also attach/detach existing interfaces from the instance overview screen. Select your instance and then Actions > Networking > Attach or Detach network interface.
Assigning an Elastic IP Address to the Network Interface
The public IP address assigned to your instance by default when it starts, is not persistent. You will receive a new address when the instance is stopped and started again.
An Elastic IP address is a persistent, public IPv4 address to be used for one of your network interfaces or instances. You can associate an Elastic IP address with any instance or network interface in your account.
The advantage of associating the Elastic IP address with the network interface instead of directly with the instance is that you can move the network interface with its attributes easily from one instance to another.
The initial automatically assigned public IP address will be removed as soon as you restart the network or the instance after adding a network interface with an Elastic IP address to your instance. Do not restart your network or your instance before you are sure you can reach it via the Elastic IP address. The automatically assigned public IP address will also be disabled if you assign an Elastic IP address to the primary Ethernet interface of the instance.
The table below describes the steps required to add an Elastic IP address to a network interface.
Step | Details |
---|---|
Locate the Elastic IPs option on the EC2 dashboard and click on it. | This will list the already created Elastic IP addresses. |
Allocate a new address. | In the overview list, click on Allocate new address if you need to allocate a new address. It is also possible to assign an existing address to an interface. However, each address can only be used for one instance. This will open the address allocation window. |
In the address allocation window, select the Amazon pool (or your own pool of public addresses), and click on Allocate. The new address will be shown in the list. | |
Associate the address with the network interface. | Right-click on the address and select Associate. A window to enter the required options opens. In the window,
|
Detaching a Network Interface from an Instance
You can detach a network interface from your instance in two ways:
- Select your instance in the instance list and use the menu Actions > Networking > Detach Network Interface. Or,
- Select your network interface in the network interface list and use the menu Actions > Detach.
Take care that this step will not make your instance unreachable.
The primary network interface cannot be detached.