У меня есть экземпляр EC2 с CoreOS 1068.9.0.
На этом сервере работает очень простой HTTP-сервер Hello World.
> curl http://52.43.128.34/
Hello, world!
У меня есть эластичный IP-адрес, назначенный сетевому интерфейсу в той же подсети. Он имеет публичный IP-адрес 54.190.35.220 и частный IP-адрес 10.8.0.104. И группа безопасности экземпляра, и группа безопасности на сетевом интерфейсе разрешают трафик на TCP-порт 80 от 0.0.0.0/0
.
Добавляю в экземпляр сетевой интерфейс. Журналы CoreOS, похоже, указывают на то, что новый IP был добавлен нормально, и он отображается в ifconfig как eth1.
Но другие компьютеры в подсети не могут получить доступ к HTTP-серверу, и он недоступен извне. Не удается установить соединение как внутри, так и за пределами VPC - другие компьютеры не могут получить к нему доступ с помощью curl http://10.8.0.104/
и внешние компьютеры не могут получить к нему доступ с curl http://54.190.35.220/
.
Что дает?
РЕДАКТИРОВАТЬ: Подробнее
Таблица маршрутизации подсети:
Route Table: rtb-b6449fd1
----------------------------
Destination | Target
----------------------------
10.8.0.0/16 | local
0.0.0.0/0 | igw-91eb56f5
172.31.0.0/16 | pcx-f6f64e9f
В итоге я добился того же, назначив несколько IP-адресов одному интерфейсу вместо добавления нескольких интерфейсов к одной машине. Оказывается, делать это в первую очередь сложно с маршрутизацией ядра. Это сообщение в блоге меня поправило.