Развертывание 1С-Битрикс в Яндекс.Облако
Яндекс.Облако — первый выбор для российских компаний после ухода AWS и Azure. Инфраструктура физически в РФ, соответствие 152-ФЗ, рублёвые счета, поддержка на русском. Для 1С-Битрикс это важно: персональные данные клиентов должны храниться в России, а ФЗ-152 требует соответствующих мер защиты.
Архитектурный выбор: VM vs Container
Для Битрикс двa основных варианта размещения в Яндекс.Облако:
Виртуальная машина (Compute Cloud) — проще, ближе к классическому VPS. Ставим LAMP/LEMP, настраиваем как обычный сервер. Подходит для большинства проектов.
Managed-сервисы + VM — VM для PHP/nginx, Managed PostgreSQL или MySQL для базы, Managed Redis для кэша, Object Storage (S3-совместимый) для файлов. Это продуктовый подход: базу и кэш обслуживает Яндекс, мы не тратим время на резервные копии и обновления СУБД.
Для нагруженных проектов (>100 000 посетителей в день) — балансировщик (Application Load Balancer) + группа ВМ (Instance Group) + Managed MySQL в режиме HA.
Создание инфраструктуры
Сеть и безопасность
# Создать VPC-сеть
yc vpc network create --name bitrix-network
# Создать подсеть
yc vpc subnet create \
--name bitrix-subnet \
--network-name bitrix-network \
--zone ru-central1-a \
--range 10.0.1.0/24
# Группа безопасности
yc vpc security-group create \
--name bitrix-sg \
--network-name bitrix-network \
--rule "direction=ingress,port=80,protocol=tcp,v4-cidrs=[0.0.0.0/0]" \
--rule "direction=ingress,port=443,protocol=tcp,v4-cidrs=[0.0.0.0/0]" \
--rule "direction=ingress,port=22,protocol=tcp,v4-cidrs=[YOUR_OFFICE_IP/32]"
Виртуальная машина
yc compute instance create \
--name bitrix-web \
--zone ru-central1-a \
--cores 4 \
--memory 8 \
--create-boot-disk image-family=ubuntu-2204-lts,size=50,type=network-ssd \
--network-interface subnet-name=bitrix-subnet,nat-ip-version=ipv4,security-group-ids=<SG_ID> \
--ssh-key ~/.ssh/id_rsa.pub
Для продакшена — network-ssd обязательно. network-hdd для Битрикс неприемлем из-за задержек I/O, особенно при операциях с b_iblock_element_prop_s* таблицами.
Стек ПО на VM
Nginx + PHP-FPM + MySQL (Managed) + Redis (Managed):
# /etc/nginx/sites-available/bitrix.conf
server {
listen 80;
server_name example.ru www.example.ru;
root /var/www/bitrix;
index index.php;
# Стандартная конфигурация для Битрикс
include /etc/nginx/snippets/bitrix.conf;
location ~ \.php$ {
fastcgi_pass unix:/run/php/php8.1-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
Подключение к Managed MySQL:
// /bitrix/.settings.php
'connections' => [
'value' => [
'default' => [
'className' => '\\Bitrix\\Main\\DB\\MysqlConnection',
'host' => 'rc1a-xxxxx.mdb.yandexcloud.net:3306',
'database' => 'bitrix_db',
'login' => 'bitrix_user',
'password' => 'YOUR_PASSWORD',
'options' => [
'ssl_ca' => '/etc/ssl/certs/YandexInternalRootCA.crt',
],
],
],
],
Сертификат Яндекса скачивается с https://storage.yandexcloud.net/cloud-certs/CA.pem. Без него TLS-соединение с Managed MySQL не установится.
Object Storage для файлов Битрикс
1С-Битрикс хранит загруженные файлы в /upload/. При горизонтальном масштабировании (несколько VM) файлы должны быть общими. Object Storage (S3-совместимый) — решение.
Битрикс поддерживает Amazon S3 через модуль clouds. Для Яндекса подключается через кастомный адаптер или через совместимость с S3 API:
// В /bitrix/.settings.php добавить облачное хранилище
'storage' => [
'value' => [
'className' => '\\Bitrix\\Main\\IO\\CloudFileSystem',
'options' => [
'type' => 's3',
'bucket' => 'my-bitrix-bucket',
'region' => 'ru-central1',
'key' => 'YOUR_ACCESS_KEY',
'secret' => 'YOUR_SECRET_KEY',
'endpoint' => 'https://storage.yandexcloud.net',
],
],
],
Managed Redis для кэша и сессий
// /bitrix/.settings.php — кэш через Redis
'cache' => [
'value' => [
'type' => [
'class_name' => '\\Bitrix\\Main\\Data\\CacheEngineRedis',
'extension' => 'redis',
],
'sid' => 'bitrix_cache',
],
],
// Сессии через Redis
'session' => [
'value' => [
'mode' => 'session.id',
'handlers' => [
'general' => [
'type' => 'redis',
'servers' => [
['host' => 'c-xxxxxx.rw.mdb.yandexcloud.net', 'port' => 6380, 'tls' => true],
],
],
],
],
],
HTTPS: Certificate Manager
Яндекс.Облако предоставляет бесплатные Let's Encrypt сертификаты через Certificate Manager. Интегрируется с Application Load Balancer и с прямыми VM через certbot, но для Managed-балансировщика — рекомендуется встроенный Certificate Manager.
yc certificate-manager certificate request \
--name bitrix-cert \
--domains example.ru,www.example.ru
Резервное копирование
- Managed MySQL — автоматические бэкапы ежедневно, хранение 7 дней (настраивается до 60 дней).
-
VM диск — снапшоты через
yc compute snapshot createпо расписанию через Cloud Functions (cron). - Object Storage — версионирование объектов включить в настройках бакета.
Для /bitrix/ и /local/ — отдельный снапшот или rsync в отдельный бакет.
Мониторинг
Яндекс Monitoring собирает метрики ВМ автоматически. Для мониторинга PHP и Nginx — установить агент:
curl -sSL https://install.otelcol.yandex.cloud/install.sh | bash
Настроить алерты на: CPU > 80%, RAM > 85%, disk > 90%, HTTP 5xx > 1% от запросов.
Сроки развертывания
| Вариант | Состав | Срок |
|---|---|---|
| Базовое развертывание | VM + nginx + PHP + Managed MySQL | 1–2 дня |
| Продуктовая инфраструктура | + Redis, Object Storage, HTTPS, мониторинг | 3–4 дня |
| HA-кластер | Балансировщик, группа ВМ, Managed MySQL HA | 5–8 дней |







