В моем VPC есть две подсети, каждая из которых находится в разной зоне доступности. Подсеть S1 является общедоступной, а подсеть S2 - частной. Я реализовал два экземпляра EC2, каждый в своей собственной подсети.
/ AZ1 ====> S1 (10.0.1.x) =====> EC1 (10.0.1.1)
VPC |
\ AZ2 ====> S2 (10.0.2.x) =====> EC2 (10.0.2.2)
Ну, я подключился к EC1 по SSH и все в порядке, но если я попытаюсь выполнить эхо-запрос к EC2 (10.0.2.2) из EC1 (10.0.1.1), я получу следующее:
ec2-user@ec1 ~# ping 10.0.2.2
PING 10.0.2.2 (10.0.2.2) 56(84) bytes of data.
From 10.0.1.1 icmp_seq=1 Destination Host Unreachable
From 10.0.1.1 icmp_seq=2 Destination Host Unreachable
From 10.0.1.1 icmp_seq=3 Destination Host Unreachable
В чем будет проблема?
Это конфигурации:
Таблица маршрутов для компьютера EC1:
ec2-user@ec1 ~# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default ip-10-0-1-1.ec2 0.0.0.0 UG 0 0 0 eth0
10.0.1.0 * 255.255.255.0 U 0 0 0 eth0
10.0.2.0 * 255.255.255.0 U 0 0 0 eth0
Таблица маршрутизации для публичной подсети S1:
Destination Target Status Propagated
10.0.0.0/16 local Active No
0.0.0.0/0 igw-xxxxxx Active No
Таблица маршрутов для частной подсети S2:
Destination Target Status Propagated
10.0.0.0/16 local Active No
Сетевые ACL открыты для ALL Traffic
РЕДАКТИРОВАТЬ: Группа безопасности применена к компьютеру «EC2».
Inbound
Type Protocol Port Range Source
All traffic All All 10.0.0.0/16
Я нашел проблему. Шлюз для 10.0.2.x был неправильным. Я исправляю и все работает.
ec2-user@ec1 ~# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default ip-10-0-1-1.ec2 0.0.0.0 UG 0 0 0 eth0
10.0.1.0 * 255.255.255.0 U 0 0 0 eth0
10.0.2.0 ip-10-0-1-1.ec2 255.255.255.0 U 0 0 0 eth0