В сценариях обработки больших данных балансировщики нагрузки необходимы для распределения трафика и повышения доступности и производительности кластеров Elasticsearch. Однако стандартные общие балансировщики нагрузки имеют функциональные и производительные ограничения, что делает их непригодными для сложной обработки данных с высокой конкурентностью. Выделенные балансировщики нагрузки, обладающие более широким набором функций и более высокой производительностью, предоставляют более надёжное решение. В этом разделе описывается, как настроить выделенные балансировщики нагрузки для более эффективного и безопасного доступа к кластеру.
Преимущества подключения к кластеру через выделенный балансировщик нагрузки:
Существует восемь различных форм сервиса ELB для кластеров в разных режимах безопасности, позволяющих подключаться к выделенному балансировщику нагрузки. Table 1 описывает возможности ELB для различных конфигураций кластеров. Table 2 описывает конфигурации для различных форм сервиса ELB.
Режим безопасности | Форма сервиса, предоставляемая ELB для внешних систем | ELB Load Balancing | ELB Traffic Monitoring | ELB Two-way Authentication |
|---|---|---|---|---|
Без безопасности | Без аутентификации | Поддерживается | Поддерживается | Не поддерживается |
Односторонняя аутентификация Двусторонняя аутентификация | Поддерживается | Поддерживается | Поддерживается | |
Режим безопасности + HTTP | Парольная аутентификация | Поддерживается | Поддерживается | Не поддерживается |
Односторонняя аутентификация + Парольная аутентификация Двусторонняя аутентификация + аутентификация по паролю | Поддерживается | Поддерживается | Поддерживается | |
Режим безопасности + HTTPS | Односторонняя аутентификация + аутентификация по паролю Двусторонняя аутентификация + аутентификация по паролю | Поддерживается | Поддерживается | Поддерживается |
Режим безопасности | Форма сервиса, предоставляемая ELB для внешних систем | 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 | 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 | Выберите выделенный load balancer, созданный ранее. Чтобы создать выделенный load balancer, см. . |
Agency | Для настройки load balancer необходимо иметь разрешение на доступ к ресурсам ELB. Настроив IAM agency, вы можете предоставить CSS доступ к его ресурсам ELB через связанную учётную запись. |
Отображается информация о балансировщике нагрузки.
для настройки прослушивателя, чтобы обеспечить надлежащую доступность кластера CSS.
Параметр | Описание |
|---|---|
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. |
Без политик контроля доступа все IP‑адреса могут получать доступ к кластеру CSS через этот балансировщик нагрузки, что может создать риски безопасности.
Результат проверки состояния | Описание |
|---|---|
Нормально | The node IP address is connected. |
Abnormal | The node IP address is disconnected. |
Выберите Load Balancing > Elasticsearch, отключите Load Balancing. В отображаемом диалоговом окне нажмите OK.
После отсоединения балансировщика нагрузки любые конфигурации listener или backend server group будут удалены без возможности восстановления.
Не рекомендуется подключать балансировщик нагрузки, связанный с публичным IP-адресом, к кластеру в режиме без безопасности. Предоставление доступа из публичной сети через такой балансировщик нагрузки может создать риски безопасности, поскольку кластер в режиме без безопасности может быть доступен по HTTP без аутентификации безопасности.
Режим безопасности | Форма сервиса, предоставляемая ELB для внешних систем | Команда cURL для доступа к кластеру |
|---|---|---|
Без защиты | Без аутентификации |
|
Односторонняя аутентификация |
| |
Двусторонняя аутентификация |
| |
Режим безопасности + HTTP | Аутентификация по паролю |
|
Односторонняя аутентификация + аутентификация по паролю |
| |
Двусторонняя аутентификация + аутентификация по паролю |
| |
Режим безопасности + HTTPS | Односторонняя аутентификация + аутентификация по паролю |
|
Двусторонняя аутентификация + аутентификация по паролю |
|
Переменная | Описание |
|---|---|
IP | IP-адрес экземпляра балансировщика нагрузки. |
порт | Протокол и порт фронтенда, настроенные для прослушивателя. |
пользователь | Имя пользователя кластера. Этот параметр требуется только для кластера в режиме безопасности. |
pwd | Пароль указанного выше имени пользователя. Этот параметр требуется только для кластера в режиме безопасности. |
Если информация о кластере возвращается, соединение успешно.
См. также: Sample Code for ESSecuredClientWithCerDemo, Sample Code for SecuredHttpClientConfigCallback, и pom.xml Sample Code.