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

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

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

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

Обзор

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

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

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

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

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

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

ELB Load Balancing

ELB Traffic Monitoring

ELB Two-way Authentication

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

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

Поддерживается

Поддерживается

Не поддерживается

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

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

Поддерживается

Поддерживается

Поддерживается

Security mode + HTTP

Password authentication

Поддерживается

Поддерживается

Не поддерживается

One-way authentication + Password authentication

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

Поддерживается

Поддерживается

Поддерживается

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

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

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

Поддерживается

Поддерживается

Поддерживается

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

Security Mode

Service Form Provided by ELB for External Systems

ELB Listener

ELB Listener

ELB Listener

Backend Server Group

Backend Server Group

Backend Server Group

Frontend Protocol

Frontend Port

SSL Authentication

Backend Protocol

Health Check Port

Health Check Path

Non-security mode

No authentication

HTTP

9200

No authentication

HTTP

9200

/

One-way authentication

HTTPS

9200

One-way authentication

HTTP

9200

Two-way authentication

HTTPS

9200

Two-way authentication

HTTP

9200

Security mode + HTTP

Password authentication

HTTP

9200

No authentication

HTTP

9200

/_opendistro/_security/health

One-way authentication + Password authentication

HTTPS

9200

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

HTTP

9200

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

HTTPS

9200

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

HTTP

9200

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

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

HTTPS

9200

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

HTTPS

9200

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

HTTPS

9200

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

HTTPS

9200

Ограничения

  • Не рекомендуется подключать load balancer, связанный с public IP address, к non-security mode cluster. Предоставление доступа из public network через такой load balancer может вызвать риски безопасности, поскольку non-security mode cluster может быть доступен по HTTP без аутентификации безопасности.
  • Кластеры security-mode с включённым HTTPS не поддерживают аутентификацию frontend на основе HTTP. Если frontend использует HTTP, сначала отключите security mode для вашего кластера. Для получения подробной информации см. Changing the Security Mode. Перед изменением security mode сначала отключите load balancing. После изменения security mode снова включите load balancing.

Предварительные условия

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

Подключение кластера к load balancer

  1. Войдите в консоль управления CSS.
  2. В панели навигации слева выберите Clusters > OpenSearch.
  3. В списке кластеров нажмите имя целевого кластера. Отобразится страница информации о кластере.
  4. Нажмите вкладку Cluster Access, затем нажмите вкладку Load Balancing. На вкладке OpenSearch включите переключатель Load Balancing. В открывшемся диалоговом окне задайте параметры.
    Table 3 Настройка балансировки нагрузки

    Parameter

    Description

    Load Balancer

    Выберите выделенный load balancer, который вы создали ранее.

    Чтобы создать выделенный load balancer, см. .

    агентство

    Для настройки load balancer необходимо иметь разрешение на доступ к ресурсам ELB. Настроив IAM агентство, вы можете предоставить CSS доступ к его ресурсам ELB через связанную учётную запись.

    • Если вы настраиваете агентство впервые, нажмите Automatically Create IAM Agency, чтобы создать 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, чтобы включить load balancing.

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

  6. В области Listener нажмите , чтобы настроить прослушиватель и обеспечить надлежащую доступность кластера CSS.
    Table 4 Listener configuration

    Параметр

    Описание

    Frontend Protocol

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

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

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

    Frontend Port

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

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

    SSL Authentication

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

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

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

    Server Certificate

    Серверный сертификат используется для SSL‑рукопожатия. Должны быть предоставлены содержимое сертификата и закрытый ключ. Он требуется только когда Frontend Protocol установлен в HTTPS.

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

    CA Certificate

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

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

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

    Рисунок 1 Настройка прослушивателя


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

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

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

    Health Check Result

    Description

    Нормально

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

    Аномально

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

  9. Если кластер больше не нуждается в выделенном load balancer, отсоедините его, чтобы освободить ресурсы.

    Выберите Load Balancing > OpenSearch, отключите Load Balancing. В отображаемом диалоговом окне нажмите OK.

    Caution

    После отсоединения load balancer любые конфигурации listener или backend server group будут удалены без возможности восстановления.

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

  1. В левой панели навигации консоли CSS выберите Clusters.
  2. Войдите в консоль управления CSS.
  3. В левой панели навигации выберите Clusters > OpenSearch.
  4. В списке кластеров нажмите название целевого кластера. Отобразится страница информации о кластере.
  5. Нажмите вкладку Cluster Access, затем нажмите вкладку Load Balancing. На вкладке OpenSearch запишите частный или публичный IP-адрес или IPv6-адрес load balancer, а также протокол/порт фронтенда listener.
    Caution

    Не рекомендуется подключать load balancer, связанный с публичным IP-адресом, к кластеру в режиме без безопасности. Доступ из публичной сети с использованием такого load balancer может создать риски безопасности, поскольку кластер в режиме без безопасности может быть доступен по HTTP без аутентификации.

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

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

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

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

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

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

    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
    Table 7 Variables

    Variable

    Description

    IP

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

    port

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

    user

    Имя пользователя кластера. Этот параметр требуется только для кластера security-mode.

    pwd

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

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

См. также: Sample Code for OpenSearchDemo and pom.xml Sample Code.