Можно ли сделать экземпляры EC2 на веб-уровне частными?

У нас есть типичная трехуровневая архитектура, включающая веб, приложение и БД. Можно ли сделать экземпляры EC2 на веб-уровне частными? а разрешить входящий трафик только через ALB? AFAIK мы можем применить SG, разрешая только соединения от SG ALB. Но что, если наш частный экземпляр EC2 должен вернуть ответ клиенту? Как он будет маршрутизироваться через ALB, поскольку ALB в основном используется для управления входящим трафиком. Также для исходящего трафика мы можем настроить что-то вроде Private EC2 instance -> ALB -> Internet? Если да, то как? Итак, есть ли способ для частных экземпляров EC2 связываться с Интернетом, не назначая им общедоступный IP-адрес?

2 ответа

Решение

Лучше всего хранить экземпляры в частной подсети даже для веб-уровня.

Для входящего трафика вы должны добавить балансировщик нагрузки в свои общедоступные подсети, а затем разрешить вход HTTP/HTTPS в группу безопасности веб-сайтов только из балансировщика нагрузки. Вы можете сделать это, добавив диапазоны подсетей в группу безопасности веб-серверов, или вместо этого сославшись на группу безопасности, назначенную ей подсистемой балансировки нагрузки.

Для исходящего интернет-трафика в частной подсети вам потребуется создать шлюз NAT или экземпляр NAT в публичной подсети, а затем добавить маршрут для 0.0.0.0/0для частной подсети для маршрутизации трафика к NAT. Кроме того, если вам нужен трафик IPv6, вы должны создать только исходящий интернет-шлюз с маршрутом ::/0.

Но что, если наш частный экземпляр EC2 должен вернуть ответ клиенту? Как он будет маршрутизироваться через ALB, поскольку ALB в основном используется для управления входящим трафиком.

Вам не нужно делать ничего особенного, если ваш ALB и экземпляры установлены правильно. Любой запрос, поступающий в ALB, сможет вернуться к клиентскому событию, если экземпляры находятся в частной подсети без подключения к Интернету.

Однако ваш экземпляр не сможет самостоятельно инициировать интернет-соединения. Поэтому, если для работы экземплярам не нужен Интернет, вам не нужен NAT. В противном случае это обязательно.

Другие вопросы по тегам