AWS EC2 で Linux にセカンダリアドレスを割り当てる
AWS 上の Linux (等) に固定アドレスを割り当てたり、セカンダリアドレスを割り当てる手順をメモしておきます。
プライマリアドレスを固定設定する
プライマリアドレスを固定設定してみます。
Step.1
インスタンスを作成する際、ネットワークインターフェイスの プライマリ IP
に固定アドレスを指定します。 これで起動してくる Linux (のインターフェイス設定) 自体は DHCP ではあるものの、指定したアドレスで起動してきます。
Step.2
設定はこれだけです。 Linux ディストリビューションの種類に関わらず、以下のようにプライマリインターフェイスが固定アドレスで起動してきます。
1
2
3
4
5
6
7
8
9
10
11
12
13 | [root@ip-192-168-224-11 ~]# ip address show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9001 qdisc pfifo_fast state UP group default qlen 1000
link/ether 06:bf:e2:bc:01:c4 brd ff:ff:ff:ff:ff:ff
inet 192.168.224.11/24 brd 192.168.224.255 scope global dynamic eth0
valid_lft 3180sec preferred_lft 3180sec
inet6 fe80::4bf:e2ff:febc:1c4/64 scope link
valid_lft forever preferred_lft forever
|
セカンダリアドレスを固定設定する
次はセカンダリアドレスを固定設定してみます。
Step.1
ENI の設定画面からセカンダリアドレスを固定設定したいインターフェイスを選択し、アクション
→ IP アドレスの管理
をクリックします。
Step.2
新しい IP の割り当て
をクリックします。
Step.3
空欄が追加されるので新規に固定設定したいアドレスを入力し、右下の 更新する
をクリックします。
Step.4
これでセカンダリアドレスが固定設定されました。
Step.5
Amazon Linux の場合は ec2-net-utils
というパッケージの機能により、AWS 管理コンソールからセカンダリアドレスを設定するだけで、OS 上の設定は特に必要なく、セカンダリアドレスが反映されます。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 | [root@ip-192-168-224-11 ~]# ip address show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9001 qdisc pfifo_fast state UP group default qlen 1000
link/ether 06:bf:e2:bc:01:c4 brd ff:ff:ff:ff:ff:ff
inet 192.168.224.11/24 brd 192.168.224.255 scope global dynamic eth0
valid_lft 3431sec preferred_lft 3431sec
inet 192.168.224.12/24 brd 192.168.224.255 scope global secondary eth0
valid_lft forever preferred_lft forever
inet6 fe80::4bf:e2ff:febc:1c4/64 scope link
valid_lft forever preferred_lft forever
|
手動で OS 上のセカンダリアドレスを固定設定する
Amazon Linux 以外、例えば CentOS の場合は AWS の管理コンソールから ENI にセカンダリアドレスを設定しても (ec2-net-utils
が無い為) OS には自動反映されません。 CentOS であれば「ec2-net-utils
を追加してしまう」という方法もありますが、セカンダリアドレスを手動で設定してしまう、という方法もあります。具体的には以下のようにサブインターフェイスを設定します。 以下は CentOS7 の場合です。
| [root@ip-192-168-224-21 ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0:1
DEVICE=eth0:0
BOOTPROTO=none
ONBOOT=yes
TYPE=Ethernet
IPADDR=192.168.224.22
NETMASK=255.255.255.0
|
network
サービスを再起動し、設定を反映します。
| [root@ip-192-168-224-21 network-scripts]# service network restart
Restarting network (via systemctl): [ OK ]
|
これでセカンダリアドレスが反映されました。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 | [root@ip-192-168-224-21 ~]# ip address show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9001 qdisc pfifo_fast state UP group default qlen 1000
link/ether 06:fe:1e:f7:84:58 brd ff:ff:ff:ff:ff:ff
inet 192.168.224.21/24 brd 192.168.224.255 scope global dynamic eth0
valid_lft 2219sec preferred_lft 2219sec
inet 192.168.224.22/24 brd 192.168.224.255 scope global secondary eth0:0
valid_lft forever preferred_lft forever
inet6 fe80::4fe:1eff:fef7:8458/64 scope link
valid_lft forever preferred_lft forever
|
参考