пытается установить стек LAMP на экземпляр aws в частной подсети VPC
используя сценарий 2, описанный здесь: http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Scenario2.html
Я настроил все с соответствующими подсетями, группами безопасности, интернет-шлюзом и таблицей маршрутизации.
С моей настройкой я могу успешно:
- пинг NAT
- ssh в NAT
- пинговать внешний сайт через NAT (например, ping ietf.org
)
- пинг частного экземпляра от NAT (например, ping 10.0.X.X
)
- ssh в частный экземпляр
- ping NAT от частного экземпляра
Однако я не могу пинговать частный экземпляр в Интернет (т.е. ping ietf.org
не работает)
и когда я пытаюсь sudo yum update
из частного экземпляра я получаю следующую ошибку:
Cannot find a valid baseurl for repo: amzn-main/latest
Я полагаю, это ошибка маршрутизации или группы безопасности ...?
Ноты:
- Проверка источника / назначения отключена для экземпляра NAT
- экземпляру NAT назначен общедоступный IP, но не эластичный IP
- ACL не реализован (оставлен по умолчанию)
- таблица маршрутов для публичной подсети:
10.0.X.X/XX local
0.0.0.0/0 internet gateway
- таблица маршрутов для частной подсети:
10.0.X.X/XX local
0.0.0.0/0 nat instance
- группы безопасности:
Входящий частный экземпляр
ALL Traffic = vpc_private_sg
SSH(22) = vps_nat_sg
MySQL(3306) = vpc_public_sg
ALL ICMP = 0.0.0.0/0
Исходящий частный экземпляр
SSH(22) = vps_nat_sg
HTTP(80) = 0.0.0.0/0
HTTPS(443) = 0.0.0.0/0
ALL ICMP = 0.0.0.0/0
Входящий инстанс NAT
ALL Traffic = vpc_private_sg
SSH(22) = vps_nat_sg
SSH(22) = 10.0.X.X/XX
HTTP(80) = 10.0.X.X/XX
HTTPS(443) = 10.0.X.X/XX
ALL ICMP = 0.0.0.0/0
Экземпляр NAT исходящий
SSH(22) = 10.0.X.X/XX
HTTP(80) = 0.0.0.0/0
HTTPS(443) = 0.0.0.0/0
ALL ICMP = 0.0.0.0/0
Эта проблема:
стандартный экземпляр AMI некорректно работает как экземпляр NAT
Если вы попытаетесь использовать стандартный экземпляр AMI в качестве экземпляра NAT, у него будут те же симптомы, что описаны в вопросе выше:
Сложное решение:
Чтобы стандартный экземпляр AMI работал как экземпляр NAT, вам необходимо настроить его:
Простое решение:
использовать Сообщество amzn-ami-vpc-nat экземпляр уже настроен для использования в качестве экземпляра NAT
Для большинства людей (которые используют экземпляр NAT для административного подключения) настраиваемый экземпляр NAT просто не нужен.
AWS предоставляет стандартные экземпляры, настроенные для использования NAT (т. Е. Измененные, как описано выше), в качестве экземпляров AMI сообщества.
Launch Instance
в панели управления EC2Step 1: Choose an Amazon Machine Image (AMI)
нажмите на Community AMIs
селектор слеваamzn-ami-vpc-nat 2017
или проще nat 2017
(примечание ниже) в поле ввода поискаПримечание:
Причина, по которой вы включаете год в поиск экземпляров AMI сообщества, заключается в том, что AWS хранит все старые версии NAT AMI (21 на момент написания, начиная с 2013 года), которые в основном включают год в номере версии.
... лучше / проще всего просто выбрать последнюю версию.