Удельта

Какой сервер выбрать для Keycloak

Для небольшого рабочего единого входа начните с узла Keycloak на 2 vCPU, 4 ГБ памяти и 30 ГБ SSD, выделив контейнеру 2 ГБ. PostgreSQL разместите и посчитайте отдельно. Для пикового входа и запаса рассматривайте 4 vCPU и 8 ГБ на узел с лимитом контейнера 4 ГБ.

Плоскости доступа вокруг единого прохода — обложка руководства по Keycloak

Для нескольких рабочих приложений рассмотрите отдельный узел Keycloak на 2 vCPU и 4 ГБ памяти. Контейнеру приложения задайте лимит 2 ГБ; остальная память остаётся системе, прокси и служебным процессам. Если ожидаются заметные пики входа, начните с 4 vCPU и 8 ГБ на узел и 4 ГБ для контейнера.

Эти числа относятся к приложению. PostgreSQL требуется дополнительно: отдельный VPS или управляемая база с собственными ресурсами, диском и копиями. Если разместить её на одном сервере с Keycloak, память базы нужно добавить к расчёту. Цена одного узла приложения ещё не является ценой всей системы входа.

Сервер приложения: два начальных варианта #

ПараметрНебольшой узел приложенияУзел с запасом для пиков
Процессор VPS2 vCPU4 vCPU
Память всего VPS4 ГБ8 ГБ
Лимит контейнера Keycloak2 ГБ4 ГБ
SSD узла приложения30 ГБ40 ГБ
PostgreSQLОтдельные ресурсы и дискОтдельные ресурсы и диск
РезервированиеПо допустимому простоюОтдельный расчёт всей схемы

Что узнать о входах и доступности #

Для выбора нужны сценарии входа

  • Сколько людей входит одновременно в начале рабочего дня.
  • Как часто приложения обновляют токены и сколько активных сессий держат.
  • Используются ли второй фактор, внешние каталоги и сложные правила доступа.
  • Где размещена PostgreSQL и какой простой допускается.
  • Как долго хранятся события и где лежат независимые копии.

Три числа памяти: VPS, контейнер и Java #

Документация рекомендует для небольшого рабочего развёртывания лимит контейнера 2 ГБ. Heap — часть памяти, где Java хранит объекты приложения; по умолчанию его максимальный размер составляет 70% лимита контейнера, начальный — 50%. Поэтому лимит 2 ГБ не означает ни 2 ГБ heap, ни VPS на 2 ГБ.

Задавайте предел контейнера явно. При лимите 4 ГБ максимальный heap по умолчанию будет около 2,8 ГБ; остальные части процесса тоже используют память. Дополнительно оставьте место ОС и агентам. При расширении VPS проверьте, увеличился ли лимит контейнера: сама аренда большего сервера его не меняет.

vCPU — виртуальное ядро процессора. Проверка паролей и обработка входов расходуют CPU; тариф с общей мощностью может давать нестабильную задержку в пик. SSD на узле нужен системе, образам и журналам. Пользователи, настройки и постоянные данные лежат в базе, чей диск рассчитывается отдельно.

Пример расчёта запросов и копий базы #

Допустим, 200 сотрудников входят за две минуты: в среднем около 1,67 входа в секунду. Если ещё 1000 клиентов обновляют токен доступа каждые пять минут, добавится около 3,33 обновления в секунду. Эти операции различаются по стоимости, а среднее не описывает всплеск в первые секунды.

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

Объём базы измерьте после подключения приложений и пробной недели событий. Например, при 5 ГБ базы и росте на 1 ГБ в месяц через год получится 17 ГБ до служебного запаса. Четырнадцать полных копий такого объёма потребуют около 238 ГБ в независимом хранилище. Диск узла приложения в этот расчёт не входит.

Рабочий режим, сеть и PostgreSQL #

Рабочий Keycloak запускайте в production-режиме с постоянным доменом, HTTPS и явной базой. Режим start-dev предназначен для знакомства и содержит небезопасные настройки по умолчанию. Метрики и управление не должны быть доступны всем пользователям интернета.

Сервер приложения и база должны находиться близко по сети. Проверьте задержку до каталога сотрудников, если он участвует во входе. Для писем восстановления понадобится рабочая доставка SMTP. Критичный доступ администратора к инфраструктуре держите доступным и при остановке SSO.

Где собрать инфраструктуру Keycloak #

В статье есть партнёрские ссылки FirstVDS и Selectel. Удельта может получить вознаграждение, если вы закажете услуги по этим ссылкам.

Конфигураторы позволяют подобрать узел приложения и базу. Совпадение RAM не подтверждает вместимость сервиса: цену и состав проверяйте после расчёта компонентов.

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

Почему экспорт не заменяет копию базы #

Сохраняйте согласованную копию рабочей базы, настройки запуска, секреты и собственные расширения. Экспорт realm — области с настройками пользователей и приложений — имеет ограничения: в него не входят все постоянные данные. Частичный экспорт из панели не заменяет полноценную копию.

Восстановите тестовую базу и узел Keycloak, проверьте вход, роли и подключённые приложения. Учитывайте время загрузки и восстановления базы, а не только запуска контейнера. Копии держите вне рабочих узлов с ограниченным доступом.

Проверка пика и расширение ресурсов #

Проверьте весь путь авторизации

  1. Запустите production-конфигурацию с лимитами памяти, базой и HTTPS.
  2. Повторите пик парольных входов, второго фактора и обновления токенов; проверьте задержки и базу.
  3. Восстановите тестовую установку; при резервировании проверьте отказ узла и переключение.

Если в пик занят CPU и увеличивается время входа, нужны процессорные ресурсы. При нехватке памяти или долгой очистке heap проверьте лимит контейнера и измерения Java. При свободном приложении, но медленных запросах сначала разбирайте базу и внешний каталог.

Для непрерывного входа потребуется несколько компонентов с проверенным переключением. При добавлении узлов приложения проверьте, хватает ли соединений и скорости PostgreSQL. Распределить входы между узлами недостаточно, если все они ждут одну перегруженную базу.

Вопросы о памяти и отказах #

Можно ли взять VPS на 2 ГБ, раз столько рекомендует документация?

Рекомендация относится к лимиту контейнера. Системе нужна память сверх него; для начального узла приложения мы закладываем 4 ГБ, а база считается отдельно.

Нужен ли кластер для небольшой команды?

Зависит от допустимого простоя. Если можно восстановить сервис за согласованное время, один узел проще. Если вход должен переживать отказ узла, нужна продуманная схема резервирования.

Почему 1000 пользователей не дают точный размер VPS?

Ресурсы зависят от пиков входа, проверки паролей, обновления токенов и внешних источников. Тысяча редко входящих аккаунтов и тысяча активных клиентов — разные нагрузки.

Keycloak 26.8.0 и источники #

Версия 26.8.0 подтверждена официальным индексом документации Keycloak. Контейнеры, рабочий режим и ограничения экспорта сверены 6 октября 2026 года. Перед обновлением сопоставляйте настройки памяти и базы с выбранным выпуском.

Подобрать сервер и запустить систему

Материал был полезен?

Сообщить об ошибке или задать вопрос редакции

Сообщение увидит редакция. Не указывайте пароли и личные данные. Текст удаляется через 180 дней.

О материале

ИнфраструктураРуководствоЗадача: выбратьУровень: практикаKeycloak

Последнее обновление:

Обсуждение

Комментарии проходят подтверждение адреса и проверку редакцией.