Почему мой AWS NACL разрешает только HTTP-доступ с правилами входящего трафика «Весь трафик» или «Весь TCP»? - PullRequest
0 голосов
/ 25 октября 2019

У меня есть AWS VPC, настроенный с 3 подсетями - 1 общедоступная и 2 частная. У меня есть экземпляр EC2 со связанным Elastic Block Store (EBS содержит мой веб-сайт), работающий в общедоступной подсети, и база данных MySQL в частных подсетях. Группа безопасности, подключенная к экземпляру EC2, разрешает входящий HTTP-доступ из любого источника и SSH-доступ только с моего IP-адреса. Правило исходящей безопасности разрешает весь трафик ко всем пунктам назначения. Группа безопасности, связанная с базой данных, разрешает доступ к MySQL / Aurora только для входящего и исходящего трафика, причем источником и назначением является группа безопасности открытого доступа.

Все это работало на отлично, но когда я пришел к настройке NACL для подсетей, я столкнулся с трудностью, которую не могу понять. Если я изменяю правило входящего трафика в NACL общедоступной подсети на что-либо, кроме «Весь трафик» или «Весь TCP», я получаю сообщение об ошибке с моего веб-сайта: Unable to connect to the database: Connection timed out. 2002. Я пытался использовать каждые параметрдоступны и всегда получают этот результат. Я также получаю неожиданный результат от NACL, подключенного к частным подсетям: если я запрещаю весь доступ (т. Е. Удаляю все правила, кроме правила по умолчанию «запретить все») для входящего и исходящего трафика, веб-сайт продолжает работать правильно(при условии, что для правила входящего трафика в NACL общедоступной подсети установлено значение «Весь трафик» или «Весь TCP»).

Похожий вопрос был задан здесь , но ответ был, по сути, не беспокоясь об использовании NACL, а не объяснил, как правильно их использовать. Я учусь на сертификацию AWS Solutions Architect, так что, очевидно, нужно понимать их использование, и в моем реальном примере ни одна из рекомендованных AWS настроек NACL не работает.

...