Я только начинаю изучать AWS на несколько дней. Я не понимаю, как ELB распределяет трафик из Интернета. Например, если у меня четыре ec2, два в публичной подсети и другие в частной подсети, и я использую классическую балансировку нагрузки для подключения публичной подсети к внешнему Интернету.
Вопрос: как классическая балансировка нагрузки подключается к ec2, который я развернул в частной подсети? Должен ли я для этого настроить внутреннюю балансировку нагрузки между публичной и частной подсетями?
Если вы хотите сбалансировать нагрузку между вашим передним веб-уровнем и внутренним уровнем, вам понадобится балансировщик нагрузки между общедоступной и частной подсетями. Публичный ELB не подключается к частной подсети.
Особенностью частной подсети является то, что она недоступна из Интернета, независимо от какого-либо балансировщика нагрузки - обратите внимание, что, согласно приведенному ниже комментарию Майкла, это не точное определение, это упрощение. Любой шаблон, при котором вы можете получить доступ к частной подсети из Интернета через балансировщик нагрузки, означает, что подсеть открыта для Интернета и по сути является общедоступной. Кто-то с обширными знаниями и опытом в области ИТ может решить спроектировать сеть таким образом в некоторых особых обстоятельствах, но это нестандартно.
Если желательно ограничить количество балансировщиков нагрузки, то можно использовать балансировщик нагрузки в общедоступной подсети, нацеленный на экземпляры в частной подсети. Эти экземпляры не должны иметь общедоступных IP-адресов. Если веб-серверы передают трафик другим экземплярам, таким как серверы приложений или баз данных, эти другие экземпляры должны входить в группу безопасности, которая принимает трафик только от групп безопасности уровня веб-сервера.
Есть полезная статья о AWS VPC и общедоступных / частных подсетях. Вот.