Я полагаю, что группа безопасности не требуется для балансировщика сетевой нагрузки (NLB), потому что он ведет себя прозрачно, сохраняя исходный IP-адрес для связанных целевых экземпляров. То есть вы по-прежнему можете указывать группы безопасности - но на целевом уровне напрямую, а не балансировщик нагрузки. Итак, концептуально , это не имеет большого значения (при использовании экземпляров EC2 за NLB) , где указаны SG. Хотя некоторые люди отмечают, что может быть сложно ограничить диапазон IP-адресов для проверки работоспособности NLB. [1] Более того, я думаю, что было бы удобнее указать правила группы безопасности один раз (централизованно) на балансировщике нагрузки, вместо того, чтобы прикреплять определенную группу безопасности c к каждому экземпляру EC2, который является целью NLB. Эти два можно рассматривать как недостатки NLB по сравнению с двумя другими балансировщиками нагрузки.
Технически NLB построен на совершенно новой технологии по сравнению с ALB / CLB. На некоторые различия указывает на reddit сотрудник AWS [2]:
На высоком уровне балансировщики нагрузки Classi c (CLB) и Application (ALB) представляют собой коллекцию ресурсов балансировки нагрузки, подключенных к вашему VP C с помощью набора сетевых интерфейсов Elasti c (ENI). У них есть слушатели, которые принимают запросы от клиентов и направляют их к вашим целям (ALB и NLB) / бэкэндам (CLB). В том же ключе Network Load Balancer (NLB) представляет собой аналогичную группу ресурсов балансировки нагрузки, подключенных к вашему VP C, но с использованием AWS Hyperplane ENI вместо обычного ENI. ENI Hyperplane - это распределенная конструкция, которая интегрируется с Software Defined Network (SDN) EC2 для прозрачного подключения нескольких базовых ресурсов балансировки нагрузки через один IP-адрес.
Все, кто не сделал Вы слышали термин «гиперплоскость» раньше, не стесняйтесь проверить соответствующий сеанс re: Invent. [3] Hyperplane используется для NAT Gateway, PrivateLink и улучшенного VP Lambda C Networking [4].
Учитывая, на что способна Hyperplane, а также учитывая тот факт, что он построен на EC2, я не вижу причин, по которым AWS не смог бы реализовать SG для NLB, если бы захотел. Я согласен с @Marcin, что это, вероятно, намеренно.
[1] https://forums.aws.amazon.com/thread.jspa?threadID=263245 [2] https://www.reddit.com/r/aws/comments/cwbkw4/behind_the_scenes_what_is_an_aws_load_balancer/#t1_eyb2gji [3] https://www.youtube.com/watch?v=8gc2DgBqo9U#t = 33 мин. 40 сек. [4] https://aws.amazon.com/de/blogs/compute/announcing-improved-vpc-networking-for-aws-lambda-functions/