Моя среда Elastic Beanstalk со сбалансированной нагрузкой и автоматическим масштабированием использует VPC с общедоступными и частными подсетями в двух зонах доступности.
ELB и EC2 находятся в одних и тех же общедоступных подсетях.
EC2 получили общедоступный IP-адрес.
EC2 находятся в группе безопасности с входящим правилом, открывающим порт 22 для 0.0.0.0/0 (Я тоже пробовал со своим IP)
EC2 связаны с парой ключей, которую я использую (она работает для других EC2 за пределами этого VPC).
EC2 здоровы.
Но...
ssh -i "~/.ssh/my.pem" ec2-user@ec2-my-instance-ip.eu-west-1.compute.amazonaws.com
... приводит к "Истекло время ожидания операции".
Что очевидного мне не хватает?
Изменить: правила для входа в ACL общедоступной подсети:
Входящие правила на SG EC2:
Подробная информация о публичной подсети:
Subnet ID: subnet-3cf38775 | Public subnet 2
Availability Zone: eu-west-1b
IPv4 CIDR: 10.0.2.0/24
Route Table:
10.0.0.0/16 -> local
0.0.0.0/0 -> nat-01b4b81a02e336d3c
Добавляем здесь резюме для ясности, хотя @Mike любезно объяснил мне правильный пункт выше. У меня есть две общедоступные (и две частные) подсети (в двух зонах доступности), и таблица маршрутов, подключенная к общедоступной подсети, содержащей мой недоступный EC2, не направляла трафик на интернет-шлюз. Я изменил таблицу маршрутов в этой подсети, чтобы использовать ту же таблицу маршрутов, что и в другой общедоступной подсети, и теперь все просто шикарно.
Имеет ли подсеть, в которой находится экземпляр, путь к 0.0.0.0/0
к интернет-шлюзу, подключенному к VPC?
Также есть ли у группы безопасности 0.0.0.0/0
все или только tcp на выходе?