Amazon EC2 ubuntu instance ifconfig does not show interfaces attached by attach_network_interface

amazon ec2linux-networking

I have launched a c3.xlarge ubuntu instance in a VPC. This instance supports 4 interfaces. I use ec2 python APIs to create_network_interface and attach_network_interface to add eth1, eth2, and eth3. On the AWS console, the instance is up and running. All 4 network interfaces are shown in the AWS console with the correct subnet ID.

When I ssh into the instance, and use "ifconfig" to show the interfaces, only eth0 is shown. If I use "ifconfig -a", I can see eth0-3, but only eth0 has an IP address assign to it.

Am I missing anything?
Thanks in advance….


Edit:
From the AWS console EC2 dashboard, I clicked on the instance->Description, scroll down to see the "Network interfaces" portion, it shows all eth0, eth1, eth2, and eth3. If I click on eth1 – eth3, they all show the IP address and status like this:
Network Interface eth1
Interface ID
eni-119f304f
VPC ID
vpc-873db7e2
Attachment Owner
17xxxxxxxx79
Attachment Status
attached
Attachment Time
Fri Sep 09 10:58:58 GMT-700 2016
Delete on Terminate
false
Private IP Address
10.31.2.12
Private DNS Name
ip-10-31-2-12.us-west-2.compute.internal

Elastic IP Address

Source/Dest. Check
true
Description
cluster001-demux-peer1
Security Groups
cluster001-demux

The private IP addresses are created and assigned to those network interfaces from AWS's point of view.

The /etc/network/interfaces shows the normal things:
auto lo
iface lo inet loopback

# Source interfaces
# Please check /etc/network/interfaces.d before changing this file
# as interfaces may have been defined in /etc/network/interfaces.d
# NOTE: the primary ethernet device is defined in
# /etc/network/interfaces.d/eth0
# See LP: #1262951
source /etc/network/interfaces.d/*.cfg

Best Answer

You're not missing too much. Only eth0 has an IP, so by default ifconfig will show only that one. The other interfaces either need IPs, don't have a configuration in your interfaces file(s), or don't have dhcp services on their layer two broadcast domains.

How about providing the contents of /etc/networks/interfaces so we can see what's supposed to be what? That is, if you don't just see the problem immediately.