LoginSignup
3
3

More than 5 years have passed since last update.

EC2インスタンスに複数ENIをアタッチした場合の通信テスト

Posted at

こちらに記載されているEC2インスタンスにENIを複数アタッチした場合のmeta data serverとの通信が現時点でどんな状況かをテストしてみた。

構成

CentOS6のAMIを使って複数のENIをアタッチしたEC2インスタンスを起動して、EIPはeth0、eht1のいずれかにアタッチする。
EIPはデフォルトゲートェイが向いているENIにアタッチ。

検証すること

デフォルトゲートウェイがeth1に向いている場合にEC2インスタンスが起動するかを調べる。

デフォルトゲートウェイがeth0に向いてる場合

起動直後のルーティングは以下。

# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
10.0.0.0        *               255.255.255.0   U     0      0        0 eth0
link-local      *               255.255.0.0     U     1002   0        0 eth0
default         ip-10-0-0-1.ap- 0.0.0.0         UG    0      0        0 eth0

デフォルトゲートウェイがeth0に向くように設定する。

# cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=dhcp
ONBOOT=on
DEFROUTE=yes

# cat /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1
BOOTPROTO=dhcp
ONBOOT=on
DEFROUTE=no

ネットワークを再起動した後のルーティングを表示する(これは当然通信可能)。

# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
10.0.0.0        *               255.255.255.0   U     0      0        0 eth0
10.0.2.0        *               255.255.255.0   U     0      0        0 eth1
link-local      *               255.255.0.0     U     1002   0        0 eth0
link-local      *               255.255.0.0     U     1003   0        0 eth1
default         ip-10-0-0-1.ap- 0.0.0.0         UG    0      0        0 eth0

# ifconfig -a
eth0      Link encap:Ethernet  HWaddr 06:F0:8D:D1:56:9E
          inet addr:10.0.0.100  Bcast:10.0.0.255  Mask:255.255.255.0
          inet6 addr: fe80::4f0:8dff:fed1:569e/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:205 errors:0 dropped:0 overruns:0 frame:0
          TX packets:212 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:15578 (15.2 KiB)  TX bytes:24467 (23.8 KiB)
          Interrupt:246

eth1      Link encap:Ethernet  HWaddr 06:01:19:0A:B4:D9
          inet addr:10.0.2.100  Bcast:10.0.2.255  Mask:255.255.255.0
          inet6 addr: fe80::401:19ff:fe0a:b4d9/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:949 errors:0 dropped:0 overruns:0 frame:0
          TX packets:591 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:75907 (74.1 KiB)  TX bytes:82037 (80.1 KiB)
          Interrupt:245

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

デフォルトゲートウェイがeth1に向いてる場合

デフォルトゲートェイがeth1に向くように設定変更する。

# cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=dhcp
ONBOOT=on
DEFROUTE=no

# cat /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1
BOOTPROTO=dhcp
ONBOOT=on
DEFROUTE=yes

ネットワークを再起動した後のルーティングを表示する。
EIPをつけた変えたりしたのでダウンはしたが、正常に通信出来る。

# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
10.0.0.0        *               255.255.255.0   U     0      0        0 eth0
10.0.2.0        *               255.255.255.0   U     0      0        0 eth1
link-local      *               255.255.0.0     U     1002   0        0 eth0
link-local      *               255.255.0.0     U     1003   0        0 eth1
default         ip-10-0-2-1.ap- 0.0.0.0         UG    0      0        0 eth1

# ifconfig -a
eth0      Link encap:Ethernet  HWaddr 06:F0:8D:D1:56:9E
          inet addr:10.0.0.100  Bcast:10.0.0.255  Mask:255.255.255.0
          inet6 addr: fe80::4f0:8dff:fed1:569e/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:111 errors:0 dropped:0 overruns:0 frame:0
          TX packets:117 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:7425 (7.2 KiB)  TX bytes:8368 (8.1 KiB)
          Interrupt:246

eth1      Link encap:Ethernet  HWaddr 06:01:19:0A:B4:D9
          inet addr:10.0.2.100  Bcast:10.0.2.255  Mask:255.255.255.0
          inet6 addr: fe80::401:19ff:fe0a:b4d9/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:560 errors:0 dropped:0 overruns:0 frame:0
          TX packets:364 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:46871 (45.7 KiB)  TX bytes:44451 (43.4 KiB)
          Interrupt:245

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

デフォルトゲートウェイがeth1に向いてるEC2から作成したAMIを使ってEC2を起動

念のため、先ほどのEC2インスタンスからAMIを作成してEC2を起動してみる。
先ほどと同じようにEC2にはENIを2つアタッチしてeth1にEIPをアタッチすると正常に起動した。

# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
10.0.0.0        *               255.255.255.0   U     0      0        0 eth0
10.0.2.0        *               255.255.255.0   U     0      0        0 eth1
link-local      *               255.255.0.0     U     1002   0        0 eth0
link-local      *               255.255.0.0     U     1003   0        0 eth1
default         ip-10-0-2-1.ap- 0.0.0.0         UG    0      0        0 eth1

# ifconfig -a
eth0      Link encap:Ethernet  HWaddr 06:38:12:29:FA:F2
          inet addr:10.0.0.200  Bcast:10.0.0.255  Mask:255.255.255.0
          inet6 addr: fe80::438:12ff:fe29:faf2/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:117 errors:0 dropped:0 overruns:0 frame:0
          TX packets:125 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:5989 (5.8 KiB)  TX bytes:7692 (7.5 KiB)
          Interrupt:246

eth1      Link encap:Ethernet  HWaddr 06:CE:B6:82:AA:92
          inet addr:10.0.2.200  Bcast:10.0.2.255  Mask:255.255.255.0
          inet6 addr: fe80::4ce:b6ff:fe82:aa92/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:331 errors:0 dropped:0 overruns:0 frame:0
          TX packets:258 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:28919 (28.2 KiB)  TX bytes:30075 (29.3 KiB)
          Interrupt:245

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

参考

ちなみにAmazon Linuxではeth0が優先されるようにされており、さらにmeta data serverへはeth0を使うようにStatic Routingが設定されているみたい。

$ sudo route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         ip-10-0-0-1.ap- 0.0.0.0         UG    0      0        0 eth0
default         ip-10-0-2-1.ap- 0.0.0.0         UG    10001  0        0 eth1
10.0.0.0        *               255.255.255.0   U     0      0        0 eth0
10.0.2.0        *               255.255.255.0   U     0      0        0 eth1
instance-data.a *               255.255.255.255 UH    0      0        0 eth0

$ sudo cat /etc/sysconfig/network-scripts/route-eth0
# Static route for metadata service
169.254.169.254 via 0.0.0.0 dev eth0

$ ifconfig -a
eth0      Link encap:Ethernet  HWaddr 06:5B:66:C0:16:C3
          inet addr:10.0.0.100  Bcast:10.0.0.255  Mask:255.255.255.0
          inet6 addr: fe80::45b:66ff:fec0:16c3/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:9001  Metric:1
          RX packets:732 errors:0 dropped:0 overruns:0 frame:0
          TX packets:678 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:73668 (71.9 KiB)  TX bytes:70086 (68.4 KiB)
          Interrupt:72

eth1      Link encap:Ethernet  HWaddr 06:12:84:DD:FD:5C
          inet addr:10.0.2.100  Bcast:10.0.2.255  Mask:255.255.255.0
          inet6 addr: fe80::412:84ff:fedd:fd5c/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:9001  Metric:1
          RX packets:13 errors:0 dropped:0 overruns:0 frame:0
          TX packets:15 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:1304 (1.2 KiB)  TX bytes:1362 (1.3 KiB)
          Interrupt:73

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)
3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3