Yandex Cloud
Поиск
Связаться с намиПодключиться
  • Истории успеха
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Популярные
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • AI Studio
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Облако для интеграторов
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Контент-программа
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Тарифы Yandex Cloud
    • Промоакции и free tier
    • Правила тарификации
  • Истории успеха
  • Документация
  • Блог
Проект Яндекса
© 2025 ООО «Яндекс.Облако»
Yandex Application Load Balancer
  • Начало работы
    • Обзор
    • Настройка групп безопасности
    • Работа с сервисными аккаунтами
    • Создание и изменение ресурсов по конфигурации
  • Управление доступом
  • Правила тарификации
  • Справочник Terraform
  • Метрики Monitoring
  • Аудитные логи Audit Trails
  • Логи L7-балансировщика
  • История изменений
  • Обучающие курсы

В этой статье:

  • Пример настройки
  • Консоль управления
  • Terraform
  1. Инструменты для Managed Service for Kubernetes
  2. Настройка групп безопасности

Настройка групп безопасности для инструментов Application Load Balancer для Managed Service for Kubernetes

Статья создана
Yandex Cloud
Обновлена 2 сентября 2025 г.
  • Пример настройки
    • Консоль управления
    • Terraform

Для корректной работы Ingress-контроллера или Gateway API нужно настроить группы безопасности кластера и групп узлов Yandex Managed Service for Kubernetes и балансировщика нагрузки Application Load Balancer.

Для кластера, групп узлов и балансировщика можно использовать разные группы безопасности (рекомендуется) или одну и ту же группу.

В группах безопасности должны быть настроены:

  • Все стандартные правила, описанные в соответствующих разделах документации:
    • Для кластера и групп узлов — в разделе Настройка групп безопасности документации Managed Service for Kubernetes.
    • Для балансировщика — в разделе Группы безопасности. Последнее правило, для исходящего трафика на виртуальные машины бэкендов, должно разрешать соединения в подсети групп узлов кластера или его группу безопасности.
  • Правила для проверок состояния бэкендов, разрешающие:
    • Балансировщику — отправлять трафик узлам кластера по протоколу TCP на порт 10501 (назначение трафика — подсети или группы безопасности групп узлов кластера).
    • Группам узлов — принимать этот трафик (источник трафика — подсети балансировщика или его группа безопасности).

Группы безопасности кластера и групп узлов указываются в их настройках. Подробнее см. инструкции:

  • По созданию и изменению кластера.
  • По созданию и изменению группы узлов.

Идентификаторы групп безопасности балансировщика указываются:

  • В ресурсе Ingress — в аннотации ingress.alb.yc.io/security-groups. Если балансировщик создается по нескольким Ingress, ему назначаются все указанные в этих Ingress группы безопасности.
  • В ресурсе Gateway — в аннотации gateway.alb.yc.io/security-groups.

Пример настройкиПример настройки

Пусть необходимо создать правила для следующих условий:

  • Требуется развернуть балансировщик с публичным IP-адресом, принимающий HTTPS-трафик, в трех подсетях, имеющих CIDR 10.128.0.0/24, 10.129.0.0/24 и 10.130.0.0/24, — далее они помечаются [Б].
  • При создании кластера были указаны CIDR кластера 10.96.0.0/16 [К] и CIDR сервисов 10.112.0.0/16 [С].
  • Группа узлов в кластере расположена в подсети, имеющей CIDR 10.140.0.0/24 [Узл].
  • Подключаться к узлам по SSH и управлять кластером через API, kubectl и другие утилиты можно только из CIDR 203.0.113.0/24 [Упр].

Консоль управленияКонсоль управления

Создайте следующие группы безопасности и правила:

  • Группа безопасности балансировщика:

    Исходящий трафик
    Входящий трафик
    Диапазон портов Протокол Назначение CIDR блоки Описание
    0-65535 TCP CIDR 10.140.0.0/24[Узл] Для отправки трафика, в том числе для проверок состояния, на узлы
    Диапазон портов Протокол Источник CIDR блоки Описание
    80 TCP CIDR 0.0.0.0/0 Для получения входящего HTTP-трафика
    443 TCP CIDR 0.0.0.0/0 Для получения входящего HTTPS-трафика
    30080 TCP Проверки состояния балансировщика — Для проверок состояния узлов балансировщика
  • Группа безопасности группы узлов для проверок состояния бэкендов:

    Входящий трафик
    Диапазон портов Протокол Источник CIDR блоки Описание
    10501 TCP CIDR 10.128.0.0/24[Б]
    10.129.0.0/24[Б]
    10.130.0.0/24[Б]
    Для проверок состояния бэкендов
  • Группа безопасности кластера и группы узлов для служебного трафика:

    Исходящий трафик
    Входящий трафик
    Диапазон портов Протокол Назначение CIDR блоки Описание
    0-65535 Любой (Any) Группа безопасности Текущая (Self) Для трафика между мастером и узлами
    Диапазон портов Протокол Источник CIDR блоки Описание
    0-65535 TCP Проверки состояния балансировщика — Для сетевого балансировщика нагрузки
    0-65535 Любой (Any) Группа безопасности Текущая (Self) Для трафика между мастером и узлами
    0-65535 ICMPv6 CIDR 10.0.0.0/8
    192.168.0.0/16
    172.16.0.0/12
    Для проверки работоспособности узлов из подсетей внутри Yandex Cloud
  • Группа безопасности группы узлов для служебного трафика:

    Исходящий трафик
    Входящий трафик
    Диапазон портов Протокол Назначение CIDR блоки Описание
    0-65535 Любой (Any) CIDR 0.0.0.0/0 Для доступа к внешним ресурсам
    Диапазон портов Протокол Источник CIDR блоки Описание
    0-65535 Любой (Any) CIDR 10.96.0.0/16[К]
    10.112.0.0/16[С]
    Для трафика между подами и сервисами
  • Группа безопасности кластера для служебного трафика:

    Исходящий трафик
    Входящий трафик
    Диапазон портов Протокол Назначение CIDR блоки Описание
    4443 TCP CIDR 10.96.0.0/16[К] Для трафика между мастером и подами metric-server
    Диапазон портов Протокол Назначение CIDR блоки Описание
    443 TCP CIDR 203.0.113.0/24[Упр] Для доступа к API Kubernetes
    6443 TCP CIDR 203.0.113.0/24[Упр] Для доступа к API Kubernetes
  • Группа безопасности группы узлов для подключения к сервисам из интернета:

    Входящий трафик
    Диапазон портов Протокол Источник CIDR блоки Описание
    30000-32767 TCP CIDR 0.0.0.0/0 Для доступа к сервисам из интернета и подсетей Yandex Cloud
  • Группа безопасности группы узлов для подключения к узлам по SSH:

    Входящий трафик
    Диапазон портов Протокол Источник CIDR блоки Описание
    22 TCP CIDR 203.0.113.0/24[Упр] Для подключения к узлам по SSH

Подробнее о группах безопасности для кластера и групп узлов см. в разделе Настройка групп безопасности документации Managed Service for Kubernetes.

TerraformTerraform

Создайте следующие группы безопасности и правила:

locals {
  network-id = "<идентификатор_облачной_сети>"
}

resource "yandex_vpc_security_group" "alb" {
  description = "Группа безопасности балансировщика"
  name        = "alb"
  network_id  = local.network-id
  ingress {
    description    = "Правило для получения входящего HTTP-трафика"
    port           = 80
    protocol       = "TCP"
    v4_cidr_blocks = ["0.0.0.0/0"]
  }
  ingress {
    description    = "Правило для получения входящего HTTPS-трафика"
    port           = 443
    protocol       = "TCP"
    v4_cidr_blocks = ["0.0.0.0/0"]
  }
  ingress {
    description       = "Правило для проверок состояния узлов балансировщика"
    port              = 30080
    protocol          = "TCP"
    predefined_target = "loadbalancer_healthchecks"
  }
  egress {
    description    = "Правило для отправки трафика на узлы, в том числе для проверок состояния"
    from_port      = 0
    to_port        = 65535
    protocol       = "TCP"
    v4_cidr_blocks = ["10.140.0.0/24"]
  }
}

resource "yandex_vpc_security_group" "nodegroup-backend" {
  description = "Группа безопасности группы узлов для проверок состояния бэкендов"
  name        = "nodegroup-backend"
  network_id  = local.network-id
  ingress {
    description    = "Правило для проверок состояния бэкендов"
    port           = 10501
    protocol       = "TCP"
    v4_cidr_blocks = ["10.128.0.0/24", "10.129.0.0/24", "10.130.0.0/24"]
  }
}

resource "yandex_vpc_security_group" "k8s-cluster-nodegroup-traffic" {
  description = "Группа безопасности кластера и группы узлов для служебного трафика"
  name        = "k8s-cluster-nodegroup-traffic"
  network_id  = local.network-id
  ingress {
    description       = "Правило для сетевого балансировщика нагрузки"
    from_port         = 0
    to_port           = 65535
    protocol          = "TCP"
    predefined_target = "loadbalancer_healthchecks"
  }
  ingress {
    description       = "Правило для трафика между мастером и узлами"
    from_port         = 0
    to_port           = 65535
    protocol          = "ANY"
    predefined_target = "self_security_group"
  }
  ingress {
    description    = "Правило для проверки работоспособности узлов из подсетей внутри Yandex Cloud"
    from_port      = 0
    to_port        = 65535
    protocol       = "IPV6_ICMP"
    v4_cidr_blocks = ["10.0.0.0/8", "192.168.0.0/16", "172.16.0.0/12"]
  }
  egress {
    description       = "Правило для трафика между мастером и узлами"
    from_port         = 0
    to_port           = 65535
    protocol          = "ANY"
    predefined_target = "self_security_group"
  }
}

resource "yandex_vpc_security_group" "nodegroup-traffic" {
  description = "Группа безопасности группы узлов для служебного трафика"
  name        = "nodegroup-traffic"
  network_id  = local.network-id
  ingress {
    description    = "Правило для трафика между подами и сервисами"
    from_port      = 0
    to_port        = 65535
    protocol       = "ANY"
    v4_cidr_blocks = ["10.96.0.0/16", "10.112.0.0/16"]
  }
  egress {
    description    = "Правило для доступа к внешним ресурсам"
    from_port      = 0
    to_port        = 65535
    protocol       = "ANY"
    v4_cidr_blocks = ["0.0.0.0/0"]
  }
}

resource "yandex_vpc_security_group" "k8s-cluster-traffic" {
  description = "Группа безопасности кластера для служебного трафика"
  name        = "k8s-cluster-traffic"
  network_id  = local.network-id
  ingress {
    description    = "Правило для доступа к API Kubernetes"
    port           = 443
    protocol       = "TCP"
    v4_cidr_blocks = ["203.0.113.0/24"]
  }
  ingress {
    description    = "Правило для доступа к API Kubernetes"
    port           = 6443
    protocol       = "TCP"
    v4_cidr_blocks = ["203.0.113.0/24"]
  }
  egress {
    description    = "Правило для трафика между мастером и подами metric-server"
    port           = 4443
    protocol       = "TCP"
    v4_cidr_blocks = ["10.96.0.0/16"]
  }
}

resource "yandex_vpc_security_group" "nodegroup-services-access" {
  description = "Группа безопасности группы узлов для подключения к сервисам из интернета"
  name        = "nodegroup-services-access"
  network_id  = local.network-id
  ingress {
    description    = "Правило для доступа к сервисам из интернета и подсетей Yandex Cloud"
    from_port      = 30000
    to_port        = 32767
    protocol       = "TCP"
    v4_cidr_blocks = ["0.0.0.0/0"]
  }
}

resource "yandex_vpc_security_group" "nodegroup-ssh" {
  description = "Группа безопасности группы узлов для подключения к узлам по SSH"
  name        = "nodegroup-ssh"
  network_id  = local.network-id
  ingress {
    description    = "Правило для подключения к узлам по SSH"
    port           = 22
    protocol       = "TCP"
    v4_cidr_blocks = ["203.0.113.0/24"]
  }
}

Была ли статья полезна?

Предыдущая
YCStorageBucket
Следующая
Работа с сервисными аккаунтами
Проект Яндекса
© 2025 ООО «Яндекс.Облако»