Облачная платформаAdvanced

Настройка выделенного балансировщика нагрузки для кластера Elasticsearch

Эта статья полезна?
Язык статьи: Русский
Показать оригинал
Страница переведена автоматически и может содержать неточности. Рекомендуем сверяться с английской версией.

CSS интегрирует общие балансировщики нагрузки, через которые вы можете обеспечить доступ к кластеру из публичной сети, а также через сервис VPC Endpoint. Выделенные балансировщики нагрузки обеспечивают более высокую производительность и более разнообразные функции, чем общие балансировщики нагрузки. В этой теме описывается, как настроить выделенный балансировщик нагрузки для кластера.

Сценарии

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

  • Кластер без безопасности также может использовать возможности сервиса Elastic Load Balance (ELB).
  • Вы можете использовать пользовательские сертификаты для двусторонней аутентификации HTTPS.
  • Поддерживается мониторинг трафика семиуровневой модели и настройка сигнализации, что позволяет вам тщательно отслеживать состояние кластера.

Существует восемь различных форм сервиса ELB для кластеров в разных режимах безопасности, чтобы подключиться к выделенному балансировщику нагрузки. Таблица 1 описывает возможности ELB для различных конфигураций кластера. Таблица 2 описывает конфигурации для различных форм служб ELB.

Таблица 1 ELB возможности для разных кластеров

Режим безопасности

Форма службы, предоставляемая ELB для внешних систем

ELB Load Balancing

ELB Traffic Monitoring

ELB Two-way Authentication

Без защиты

Нет аутентификации

Да

Да

Нет

Односторонняя аутентификация

Двухсторонняя аутентификация

Да

Да

Да

Режим безопасности + HTTP

Аутентификация пароля

Да

Да

Нет

Односторонняя аутентификация + Парольная аутентификация

Двусторонняя аутентификация + Парольная аутентификация

Да

Да

Да

Режим безопасности + HTTPS

Односторонняя аутентификация + Парольная аутентификация

Двусторонняя аутентификация + Парольная аутентификация

Да

Да

Да

Таблица 2 Конфигурации для различных форм сервиса ELB в зависимости от кластера

Security Mode

Форма сервиса, предоставляемая ELB для внешних систем

ELB Listener

ELB Listener

ELB Listener

Группа серверов бэкенда

Группа серверов бэкенда

Группа серверов бэкенда

Протокол фронтенда

Порт фронтенда

Аутентификация SSL

Протокол бэкенда

Порт проверки работоспособности

Путь проверки работоспособности

Безопасность отсутствует

Без аутентификации

HTTP

9200

Без аутентификации

HTTP

9200

/

Односторонняя аутентификация

HTTPS

9200

Односторонняя аутентификация

HTTP

9200

Двухсторонняя аутентификация

HTTPS

9200

Двухсторонняя аутентификация

HTTP

9200

Режим безопасности + HTTP

Парольная аутентификация

HTTP

9200

Без аутентификации

HTTP

9200

/_opendistro/_security/health

Односторонняя аутентификация + Парольная аутентификация

HTTPS

9200

Односторонняя аутентификация

HTTP

9200

Двухсторонняя аутентификация + Парольная аутентификация

HTTPS

9200

Двусторонняя аутентификация

HTTP

9200

Режим безопасности + HTTPS

Односторонняя аутентификация + Аутентификация пароля

HTTPS

9200

Односторонняя аутентификация

HTTPS

9200

Двусторонняя аутентификация + Аутентификация пароля

HTTPS

9200

Двусторонняя аутентификация

HTTPS

9200

Ограничения

  • Не рекомендуется подключать балансировщик нагрузки, связанный с публичным IP-адресом, к кластеру в режиме без защиты. Предоставление доступа из публичной сети через такой балансировщик нагрузки может привести к угрозам безопасности, поскольку кластер в режиме без защиты может быть доступен по HTTP без аутентификации безопасности.
  • Кластеры в режиме защиты с включённым HTTPS не поддерживают аутентификацию фронтенда на основе HTTP. Если фронтенд использует HTTP, сначала отключите режим защиты для кластеров. Для подробностей смотрите Изменение режима защиты кластера Elasticsearch. Перед изменением режима защиты сначала отключите балансировку нагрузки. После изменения режима защиты включите балансировку нагрузки снова.

Требования

  • Создан выделенный балансировщик нагрузки. Для подробностей смотрите . Этот балансировщик нагрузки должен соответствовать следующим требованиям:
    • Её VPC совпадает с VPC кластера CSS. Сеть между ними соединена.
    • IP в качестве бэкенда включено. Это необходимо для подключения выделенного балансировщика нагрузки к кластеру CSS.
    • Определите, следует ли настраивать EIP в соответствии с потребностями сервиса. Публичный IP‑адрес отображается для балансировщика нагрузки, соединяющего кластер CSS, только если настроен EIP. Это позволит получить доступ к кластеру из публичной сети через этот балансировщик нагрузки.
  • Если слушатель ELB использует HTTPS, загрузите серверный сертификат или сертификат CA в консоль ELB. Для получения подробной информации см. .
    • Если используется односторонняя аутентификация, загрузите серверный сертификат.
    • Если используется двусторонняя аутентификация, загрузите серверный сертификат и сертификат CA.

Подключение кластера к балансировщику нагрузки

  1. Войдите в консоль управления CSS.
  2. В навигационной панели слева выберите Кластеры > Elasticsearch.
  3. В списке кластеров щёлкните название целевого кластера. Отобразится страница информации о кластере.
  4. Щёлкните Доступ к кластеру вкладка, а затем щёлкните Балансировка нагрузки вкладка. На Elasticsearch вкладка, включить Балансировка нагрузки. В отображаемом диалоговом окне задайте параметры.
    Таблица 3 Настройка балансировки нагрузки

    Параметр

    Описание

    Балансировщик нагрузки

    Выберите ранее созданный выделенный балансировщик нагрузки.

    Чтобы создать выделенный балансировщик нагрузки, см. .

    Агентство

    Чтобы настроить балансировщик нагрузки, у вас должно быть разрешение на доступ к ресурсам ELB. Настроив IAM агентство, вы можете предоставить CSS доступ к его ресурсам ELB через связанный аккаунт.

    • Если вы настраиваете агентство впервые, нажмите Автоматически создать IAM агентство чтобы создать css-elb-agency.
    • Если ранее автоматически создано IAM-агентство, вы можете нажать One-click authorization чтобы иметь разрешения, связанные с ELB Administrator роль или ELB FullAccess системная политика удаляется автоматически, и вместо неё автоматически добавляются следующие пользовательские политики для реализации более точного контроля разрешений.
      "elb:loadbalancers:list",
      "elb:loadbalancers:get",
      "elb:certificates:list",
      "elb:healthmonitors:*",
      "elb:members:*",
      "elb:pools:*",
      "elb:listeners:*"
    • Для использования Automatically Create IAM Agency и One-click authorization, требуются следующие минимальные разрешения:
      "iam:agencies:listAgencies",
      "iam:roles:listRoles",
      "iam:agencies:getAgency",
      "iam:agencies:createAgency",
      "iam:permissions:listRolesForAgency",
      "iam:permissions:grantRoleToAgency",
      "iam:permissions:listRolesForAgencyOnProject",
      "iam:permissions:revokeRoleFromAgency",
      "iam:roles:createRole"
    • Для использования IAM-агентства требуются следующие минимальные разрешения:
      "iam:agencies:listAgencies",
      "iam:agencies:getAgency",
      "iam:permissions:listRolesForAgencyOnProject",
      "iam:permissions:listRolesForAgency"

  5. Нажмите OK чтобы включить балансировку нагрузки.

    Отображена информация о балансировщике нагрузки.

  6. В Listener Configuration область, нажмите для настройки информации о прослушивателе.
    Table 4 Listener configuration

    Parameter

    Description

    Frontend Protocol

    Протокол, используемый клиентом и прослушивателем для распределения трафика.

    Выберите HTTP или HTTPS.

    Выберите этот протокол в зависимости от ваших требований к подключению.

    Frontend Port

    Порт, используемый клиентом и прослушивателем для распределения трафика.

    Установите этот параметр в соответствии с требованиями сайта.

    SSL Authentication

    Режим аутентификации для клиента при доступе к серверу. Установите этот параметр только когда Фронтенд протокол установлен в HTTPS.

    Поддерживается как односторонняя, так и двусторонняя аутентификация.

    Выберите режим аутентификации, соответствующий вашим потребностям.

    Серверный сертификат

    Серверный сертификат используется для SSL handshake. Содержание сертификата и закрытый ключ должны быть предоставлены. Требуется только когда Фронтенд протокол установлен в HTTPS.

    Выберите серверный сертификат, созданный в ELB.

    CA сертификат

    Также называется клиентским публичным ключевым сертификатом CA. Он используется для проверки эмитента клиентского сертификата. Требуется только когда SSL аутентификация установлено Two-way authentication.

    Выберите сертификат CA, созданный на ELB.

    Когда включена двухсторонняя аутентификация HTTPS, HTTPS‑соединение может быть установлено только тогда, когда клиент может предоставить сертификат, выданный доверенным CA.

    Figure 1 Конфигурация слушателя


  7. (Optional) В Слушатель области, нажмите Настроить рядом с Access Control для перехода к списку слушателей балансировщика нагрузки. Нажмите Настроить в столбце Access Control слушателя, чтобы настроить контроль доступа для этого слушателя. Для получения дополнительной информации см. раздел "What Is Access Control?" в Elastic Load Balance Руководство пользователя.

    Без политик контроля доступа все IP-адреса могут получать доступ к кластеру CSS через этот балансировщик нагрузки, что может создавать угрозы безопасности.

  8. В Health Check области, вы можете просматривать результат проверки состояния для каждого IP-адреса узла.
    Таблица 5 Описание результата проверки состояния

    Health Check Result

    Описание

    Нормальный

    IP-адрес узла подключен.

    Аномальный

    IP-адрес узла отключен.

  9. Если кластер больше не требует выделенного балансировщика нагрузки, отсоедините его, чтобы освободить ресурсы.

    Выберите Load Balancing > Elasticsearch, отключить Балансировка нагрузки. В появившемся диалоговом окне нажмите OK.

    Caution

    После отключения балансировщика нагрузки любые конфигурации слушателей или групп серверов бэкенда будут удалены без возможности восстановления.

Доступ к кластеру через балансировщик нагрузки с помощью выполнения команд cURL

  1. В навигационной панели слева выберите Кластеры.
  2. Войдите в консоль управления CSS.
  3. В навигационной панели слева выберите Кластеры > Elasticsearch.
  4. В списке кластеров щелкните название целевого кластера. Появилась страница информации о кластере.
  5. Щелкните Доступ к кластеру вкладку, а затем щелкните Балансировка нагрузки вкладка. На Elasticsearch вкладка, запишите private или public IP-адрес или IPv6-адрес load balancer, а также протокол/порт frontend слушателя.
    Caution

    Не рекомендуется подключать load balancer, ассоциированный с public IP-адресом, к кластеру в режиме non-security. Разрешение доступа к публичной сети через такой load balancer может вызвать риски безопасности, поскольку кластер в режиме non-security может быть доступен через HTTP без security authentication.

  6. Выполните следующие cURL команды на ECS, чтобы проверить, может ли dedicated load balancer подключиться к кластеру.
    Таблица 6 Команды для доступа к различным типам кластеров

    Режим безопасности

    Форма службы, предоставленная ELB для внешних систем

    cURL команда для доступа к кластеру

    Non-security

    Без аутентификации

    curl http://IP:port

    Односторонняя аутентификация

    curl --cacert ./ca.crt https://IP:port

    Двусторонняя аутентификация

    curl --cacert ./ca.crt --cert ./client.crt --key ./client.key https://IP:port

    Режим безопасности + HTTP

    Аутентификация по паролю

    curl http://IP:port -u user:pwd

    Односторонняя аутентификация + Аутентификация по паролю

    curl --cacert ./ca.crt https://IP:port -u user:pwd

    Двунаправленная аутентификация + Аутентификация по паролю

    curl --cacert ./ca.crt --cert ./client.crt --key ./client.key https://IP:port -u user:pwd

    Режим безопасности + HTTPS

    Односторонняя аутентификация + Аутентификация по паролю

    curl --cacert ./ca.crt https://IP:port -u user:pwd

    Двунаправленная аутентификация + Аутентификация по паролю

    curl --cacert ./ca.crt --cert ./client.crt --key ./client.key https://IP:port -u user:pwd
    Таблица 7 Переменные

    Переменная

    Описание

    IP

    IP-адрес экземпляра балансировщика нагрузки.

    порт

    Протокол и порт фронтенда, настроенные для слушателя.

    пользователь

    Имя пользователя кластера. Этот параметр требуется только для кластера с режимом безопасности.

    пароль

    Пароль указанного выше имени пользователя. Этот параметр требуется только для кластера в режиме security-mode.

    Если информация о кластере возвращается, соединение успешно.