Сценарий: Кластер Kafka, защищенный SSL-шифрованием и аутентификацией SASL/PLAIN, находится в частной подсети AWS в выделенном VPC. Внутри частной подсети все в порядке. Я использую самогенерируемый CA и ключи для защиты связи, идентификаторы хостов основаны на внутреннем DNS AWS.
Чего я хочу добиться: иметь возможность доступа к API производителя (нетREST API) извне.
Я борюсь с комбинацией ключей, DNS, прослушивателей Kafka и тем фактом, что постоянное соединение от производителя к брокеру, возможно, не то, которое я использовал для запуска соединения.
Несколько попыток с обратными прокси-серверами не увенчались успехом — даже туннель ssh не работает, так как ключи не могут быть разрешены.
Есть ли у кого-нибудь своего рода эталонная архитектура для такого случая? Я не буду приводить здесь подробности конфигурации, поскольку они слишком разбросаны по разным конфигурациям, ключам и т. д., но если нужно, я могу предоставить свои настройки.
решение1
Хорошо, я нашел решение — может быть, не самое эффективное, но меня оно устроило. Я реализовал три балансировщика нагрузки уровня 4 перед тремя брокерами и настроил адрес advanced_listener каждого брокера на адрес балансировщика нагрузки. Работает просто великолепно — даже если это сравнительно дорого и несколько снижает скорость трафика.