Использование кластера Yandex Managed Service for Valkey™ в качестве хранилища кеша для «1С-Битрикс: Управление сайтом»
Кластер Yandex Managed Service for Valkey™ можно использовать как внешнее хранилище кеша для сайта на «1С-Битрикс: Управление сайтом».
Чтобы настроить кеширование:
Если созданные ресурсы вам больше не нужны, удалите их.
Перед началом работы
Зарегистрируйтесь в Yandex Cloud и создайте платежный аккаунт:
- Перейдите в консоль управления
, затем войдите в Yandex Cloud или зарегистрируйтесь. - На странице Yandex Cloud Billing
убедитесь, что у вас подключен платежный аккаунт, и он находится в статусеACTIVEилиTRIAL_ACTIVE. Если платежного аккаунта нет, создайте его и привяжите к нему облако.
Если у вас есть активный платежный аккаунт, вы можете создать или выбрать каталог, в котором будет работать ваша инфраструктура, на странице облака
Подробнее об облаках и каталогах.
Необходимые платные ресурсы
- Виртуальная машина: использование вычислительных ресурсов, хранилища, публичного IP-адреса и операционной системы (тарифы Yandex Compute Cloud).
- Кластер Yandex Managed Service for Valkey™: выделенные хостам вычислительные ресурсы, объем хранилища и резервных копий (тарифы Yandex Managed Service for Valkey™).
Для этого руководства используется пробная версия «1С-Битрикс» с ознакомительным периодом в 30 дней. Стоимость электронных версий продукта вы можете уточнить на официальном ресурсе «1С-Битрикс»
Подготовьте инфраструктуру
-
Создайте сеть с именем
network-1c. При создании сети отключите опцию Создать подсети. -
В сети
network-1cсоздайте подсеть со следующими параметрами:- Имя —
subnet-a. - Зона доступности —
ru-central1-a. - CIDR —
192.168.0.0/24.
- Имя —
-
В сети
network-1cсоздайте группы безопасности:-
С именем
bitrix-sgдля ВМ в облаке. Задайте следующие правила для этой группы безопасности:Направление
трафикаОписание Диапазон портов Протокол Источник /
НазначениеIPv4 CIDR Исходящий ANYВесьЛюбойПрефикс0.0.0.0/0Входящий HTTP80TCPПрефикс0.0.0.0/0Входящий EXT-HTTPS443TCPПрефикс0.0.0.0/0Входящий SSH22TCPПрефикс0.0.0.0/0 -
С именем
valkey-sgдля кластера Yandex Managed Service for Valkey™. Задайте следующие правила для этой группы безопасности:Направление
трафикаОписание Диапазон портов Протокол Источник /
НазначениеIPv4 CIDR Исходящий ANYВесьЛюбойПрефикс0.0.0.0/0Входящий EXT-HTTPS6379TCPПрефикс0.0.0.0/0
-
-
Создайте виртуальную машину в Compute Cloud со следующей конфигурацией:
-
В блоке Образ загрузочного диска выберите образ 1С-Битрикс.
-
В блоке Сетевые настройки задайте настройки:
- Подсеть — сеть
network-1cи подсетьsubnet-a. - Публичный IP-адрес —
Автоматически. - Группы безопасности —
bitrix-sg. - Внутренний IPv4-адрес —
Автоматически.
- Подсеть — сеть
-
-
Подключитесь к ВМ по SSH и установите зависимости:
sudo yum install php php-mcrypt php-cli php-gd php-curl php-mysql php-ldap php-zip php-fileinfo && \ sudo yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm && \ sudo yum install yum-utils && \ sudo yum-config-manager --enable remi-php74 && \ sudo yum update && \ php -vПоследняя команда покажет версию PHP, которая установлена на ВМ. Для корректной работы «1С-Битрикс» необходима версия PHP 7.4 или выше.
-
Установите «1С-Битрикс: Управление сайтом» на ВМ. Для этого в браузере перейдите по адресу
http://<публичный_IP-адрес_ВМ>/и следуйте инструкциям установщика. -
Создайте тестовый сайт на «1С-Битрикс».
-
Создайте кластер Yandex Managed Service for Valkey™ в следующей конфигурации:
- Версия Valkey —
9.1. - Персистентность —
На репликах. - Сетевые настройки — сеть
network-1cи группа безопасностиvalkey-sg. - Настройки СУБД:
- Пароль —
default. - Настроить → Maxmemory policy —
ALLKEYS LRU. Эта настройка позволит Valkey™ удалять самые старые ключи при заполнении памяти.
- Пароль —
- Доступ из WebSQL — включен.
- Версия Valkey —
-
Если у вас еще нет Terraform, установите его.
-
Получите данные для аутентификации. Вы можете добавить их в переменные окружения или указать далее в файле с настройками провайдера.
-
Настройте и инициализируйте провайдер. Чтобы не создавать конфигурационный файл с настройками провайдера вручную, скачайте его
. -
Поместите конфигурационный файл в отдельную рабочую директорию и укажите значения параметров. Если данные для аутентификации не были добавлены в переменные окружения, укажите их в конфигурационном файле.
-
Скачайте в ту же рабочую директорию файл конфигурации yc-valkey-as-1c-cache-storage.tf
.В этом файле описаны:
-
сеть;
-
подсети;
-
группы безопасности;
-
кластер Yandex Managed Service for Valkey™;
-
виртуальная машина с публичным доступом из интернета и предустановленным «1С-Битрикс: Управление сайтом».
-
Настройки для «1С-Битрикс: Управление сайтом».
Примечание
Конкретные настройки «1С-Битрикс» могут отличаться в зависимости от пользовательской реализации. Примеры конфигурации кеша приведены в документации продукта
.
-
-
В файле
yc-valkey-as-1c-cache-storage.tfукажите значение переменнойvalkey_password— пароль пользователя в кластере Yandex Managed Service for Valkey™. -
Проверьте корректность файлов конфигурации Terraform с помощью команды:
terraform validateЕсли в файлах конфигурации есть ошибки, Terraform на них укажет.
-
Создайте необходимую инфраструктуру:
-
Выполните команду для просмотра планируемых изменений:
terraform planЕсли конфигурации ресурсов описаны верно, в терминале отобразится список изменяемых ресурсов и их параметров. Это проверочный этап: ресурсы не будут изменены.
-
Если вас устраивают планируемые изменения, внесите их:
-
Выполните команду:
terraform apply -
Подтвердите изменение ресурсов.
-
Дождитесь завершения операции.
-
В указанном каталоге будут созданы все требуемые ресурсы. Проверить появление ресурсов и их настройки можно в консоли управления
. -
После создания ресурсов в терминале будут выведены параметры для подключения:
valkey_endpoint— эндпоинт для подключения к кластеру Yandex Managed Service for Valkey™.bitrix_vm_public_ip— публичный IP-адрес виртуальной машины с «1С-Битрикс: Управление сайтом».
Настройте «1С-Битрикс»
-
Подключитесь к ВМ с «1С-Битрикс» по SSH.
-
Перейдите в каталог сайта и откройте файл дополнительных настроек
bitrix/.settings_extra.php. -
Укажите, что для кеширования используется Redis, и задайте адрес кластера Yandex Managed Service for Valkey™:
<?php return [ 'cache' => [ 'value' => [ 'type' => [ 'class_name' => '\Bitrix\Main\Data\CacheEngineRedis', ], 'redis' => [ 'servers' => [ [ 'host' => 'c-<идентификатор_кластера>.rw.mdb.yandexcloud.net', 'port' => 6379, ], ], 'serializer' => \Redis::SERIALIZER_IGATBINARY ?? null, ], ], 'readonly' => true, ], ];Идентификатор кластера можно получить со списком кластеров в каталоге.
Примечание
Конкретные настройки «1С-Битрикс» могут отличаться в зависимости от пользовательской реализации. Примеры конфигурации кеша приведены в документации продукта
.
Настройка «1С-Битрикс: Управление сайтом» происходит при создании ВМ. Дополнительная настройка не требуется.
Проверьте результат
-
Авторизуйтесь на вашем сайте и перейдите в панель управления.
-
Откройте Настройки → Настройки производительности → Панель производительности.
-
На вкладке Битрикс проверьте, что кеширование включено и в качестве хранилища используется Redis.
-
Убедитесь, что данные действительно попадают в кластер:
- В консоли управления
выберите каталог с нужным кластером. - Перейдите
в сервис Yandex Managed Service for Valkey™. - Нажмите на имя нужного кластера и выберите вкладку Мониторинг. На открывшейся странице будут отображены графики, отражающие состояние кластера.
- Убедитесь, что появились клиенты, растет объем хранимых данных и трафик, а на репликах есть активность записи на диск из-за включенной персистентности.
- В консоли управления
Удалите созданные ресурсы
Удалите ресурсы, которые вы больше не будете использовать, чтобы за них не списывалась плата:
- Удалите кластер Yandex Managed Service for Valkey™.
- Удалите виртуальную машину.
- Если вы зарезервировали публичные статические IP-адреса, освободите и удалите их.
-
В терминале перейдите в директорию с планом инфраструктуры.
Важно
Убедитесь, что в директории нет Terraform-манифестов с ресурсами, которые вы хотите сохранить. Terraform удаляет все ресурсы, которые были созданы с помощью манифестов в текущей директории.
-
Удалите ресурсы:
-
Выполните команду:
terraform destroy -
Подтвердите удаление ресурсов и дождитесь завершения операции.
Все ресурсы, которые были описаны в Terraform-манифестах, будут удалены.
-