VK Cloud

Как задеплоить Telegram-бота на облачный сервер: полное руководство для разработчиков

3 февраля 2026 г.
268267_007n7ek.jpg
Евгений Левашов
Автор статьи
_blog_head_8.png

Узнавайте о выходе новых статей в блоге первыми!

Будем держать в курсе новостей и облачных трендов

section-subscribe_2x.png
    section-subscribe_2x.png

    Локальный запуск Telegram-бота на своём компьютере подходит для разработки и тестирования, но для production-использования требуется надёжный хостинг. Облачный сервер обеспечивает круглосуточную доступность, автоматическое восстановление при сбоях и возможность масштабирования. В этом руководстве разберём, как задеплоить Telegram-бота на облачный сервер VK Cloud — от создания виртуальной машины до настройки автозапуска.

    Зачем нужен облачный сервер для Telegram-бота

    Telegram-бот работает по принципу long polling или webhook — оба варианта требуют постоянно работающего процесса. Локальный компьютер для этого не подходит: его нужно выключать, он может зависнуть, а домашний IP-адрес часто меняется.

    Преимущества облачного сервера для бота:

    • Uptime 99.95% — бот доступен пользователям круглосуточно
    • Статический IP — стабильная работа webhook без пересоздания
    • Автоматический failover — при сбое оборудования VM переносится на другой хост (подробнее о высокой доступности)
    • Масштабирование — можно увеличить CPU и RAM без переустановки
    • Резервное копирование — встроенные snapshot и backup (документация по бэкапам)
    • Изоляция — бот работает в защищённой среде, отдельно от вашей локальной машины

    Хостинг Telegram-бота на облачном сервере — это стандартная практика для production-проектов любого масштаба.

    Требования и подготовка

    Перед началом деплоя подготовьте следующее:

    Что понадобится

    Компонент Описание
    Токен бота Получите у @BotFather в Telegram
    Код бота Python-скрипт с использованием aiogram, python-telegram-bot или другой библиотеки
    SSH-клиент Встроенный в Linux/macOS, PuTTY для Windows 7/8
    Аккаунт VK Cloud Регистрация на cloud.vk.com

    Минимальные требования к серверу

    Для простого бота без тяжёлой логики достаточно минимальной конфигурации: CPU: 1-2 vCPU RAM: 1-2 GB Диск: 10-20 GB SSD ОС: Ubuntu 22.04 LTS

    Для ботов с обработкой изображений, ML-моделями или высокой нагрузкой потребуется конфигурация мощнее — от 4 vCPU и 8 GB RAM. Ознакомьтесь с доступными конфигурациями VM.

    Создание виртуальной машины в VK Cloud

    VK Cloud предоставляет Cloud Servers — IaaS-платформу для создания виртуальных машин с гибкой конфигурацией.

    Шаг 1: Регистрация и вход

    1. Перейдите на cloud.vk.com и создайте аккаунт
    2. Подтвердите email и пополните баланс
    3. Войдите в личный кабинет (панель управления)

    Шаг 2: Создание виртуальной машины

    Следуйте официальной инструкции по созданию VM:

    1. Перейдите в раздел Cloud Computing → Виртуальные машины
    2. Нажмите Создать инстанс
    3. Заполните параметры: Имя: telegram-bot-prodКатегория: Standard Тип инстанса: STD3-2-4 (2 vCPU, 4 GB RAM) Зона доступности: MS1 (или ближайшая к вашим пользователям) Операционная система: Ubuntu 22.04 LTS Размер диска: 20 GB SSD

    Список поддерживаемых операционных систем доступен в документации по образам ОС.

    Шаг 3: Настройка сети

    1. Выберите существующую сеть или создайте новую
    2. Включите Назначить внешний IP — это обязательно для доступа из интернета (подробнее о Floating IP)
    3. В разделе Security Groups выберите группу, разрешающую SSH (порт 22)

    Шаг 4: Создание SSH-ключа

    1. Выберите Создать новый ключ
    2. Введите имя ключа (например, telegram-bot-key)
    3. Нажмите Создать — браузер скачает файл telegram-bot-key.pem
    4. Сохраните этот файл в надёжном месте — он понадобится для подключения

    Шаг 5: Запуск VM

    Нажмите Создать инстанс и дождитесь статуса ACTIVE. Запишите внешний IP-адрес — он отображается в списке виртуальных машин.

    Подключение к серверу по SSH

    После создания VM нужно подключиться к ней по SSH для настройки окружения и деплоя бота.

    Подключение из Linux/macOS

    Откройте терминал и выполните:

    # Установите правильные права на ключ (обязательно) chmod 400 ~/Downloads/telegram-bot-key.pem # Подключитесь к серверу ssh -i ~/Downloads/telegram-bot-key.pem ubuntu@<EXTERNAL_IP>

    Замените

    <EXTERNAL_IP>
    на внешний IP вашей VM из панели управления.

    При первом подключении система спросит подтверждение fingerprint — введите

    yes
    .

    Подключение из Windows 10/11

    Windows 10 и 11 имеют встроенный SSH-клиент. Откройте PowerShell или Command Prompt:

    ssh -i C:\Users\YourName\Downloads\telegram-bot-key.pem ubuntu@<EXTERNAL_IP>

    Подключение из Windows 7/8 (PuTTY)

    Для старых версий Windows используйте инструкцию по подключению через PuTTY:

    1. Скачайте PuTTY и PuTTYgen
    2. Откройте PuTTYgen → Load → выберите .pem файл
    3. Нажмите Save private key → сохраните как .ppk
    4. Откройте PuTTY:
    • Host Name:
      <EXTERNAL_IP>
    • Connection → SSH → Auth → Browse → выберите .ppk файл
    1. Нажмите Open

    Если потеряли доступ к ключу, воспользуйтесь инструкцией по восстановлению доступа к VM.

    Настройка окружения на сервере

    После подключения по SSH настройте сервер для запуска Python-бота.

    Обновление системы

    sudo apt update && sudo apt upgrade -y

    Установка Python и pip

    Ubuntu 22.04 включает Python 3.10. Установите pip и venv:

    sudo apt install python3-pip python3-venv git -y

    Проверьте версии:

    python3 --version # Python 3.10.x pip3 --version # pip 22.x

    Создание директории для бота

    mkdir -p ~/telegram-bot cd ~/telegram-bot

    Создание виртуального окружения

    Виртуальное окружение изолирует зависимости бота от системных пакетов:

    python3 -m venv venv source venv/bin/activate

    После активации в начале строки терминала появится

    (venv)
    .

    Деплой кода бота

    Перенесите код бота на сервер одним из способов.

    Способ 1: Git clone (рекомендуется)

    Если код хранится в Git-репозитории:

    cd ~/telegram-bot git clone https://github.com/yourname/your-bot-repo.git .

    Способ 2: SCP (копирование файлов)

    С локальной машины выполните:

    scp -i ~/Downloads/telegram-bot-key.pem -r ./bot/* ubuntu@<EXTERNAL_IP>:~/telegram-bot/

    Установка зависимостей

    cd ~/telegram-bot source venv/bin/activate pip install -r requirements.txt

    Пример

    requirements.txt
    для aiogram 3.x:
    aiogram==3.3.0
    python-dotenv==1.0.0
    aiohttp==3.9.1

    Настройка переменных окружения

    Создайте файл

    .env
    для хранения токена:

    nano ~/telegram-bot/.env

    Содержимое:

    BOT_TOKEN=123456789:ABCdefGHIjklMNOpqrsTUVwxyz

    Сохраните: Ctrl+O, Enter, Ctrl+X.

    Важно знать

    Никогда не коммитьте .env в Git. Добавьте его в .gitignore.

    Проверка запуска

    cd ~/telegram-bot source venv/bin/activate python3 bot.py

    Если бот запустился и отвечает на сообщения — деплой прошёл успешно. Остановите бот через Ctrl+C.

    Запуск бота в фоновом режиме

    Бот должен работать постоянно, даже после закрытия SSH-сессии. Есть несколько способов.

    Способ 1: screen (быстрый старт)

    # Установка screen sudo apt install screen -y
    # Создание сессии screen -S telegram-bot
    # Запуск ботаcd ~/telegram-bot source venv/bin/activate python3 bot.py # Отключение от сессии: Ctrl+A, затем D

    Для возврата к сессии:

    screen -r telegram-bot

    Способ 2: systemd (рекомендуется для production)

    Systemd обеспечивает автозапуск бота при перезагрузке сервера и автоматический перезапуск при падении.

    Создайте файл сервиса:

    sudo nano /etc/systemd/system/telegram-bot.service

    Содержимое:

    [Unit]Description=Telegram Bot After=network.target [Service]Type=simple User=ubuntu WorkingDirectory=/home/ubuntu/telegram-bot Environment="PATH=/home/ubuntu/telegram-bot/venv/bin"EnvironmentFile=/home/ubuntu/telegram-bot/.env ExecStart=/home/ubuntu/telegram-bot/venv/bin/python3 bot.py Restart=always RestartSec=10 [Install]WantedBy=multi-user.target

    Активируйте и запустите сервис:

    # Перезагрузка конфигурации systemd sudo systemctl daemon-reload # Включение автозапуска sudo systemctl enable telegram-bot # Запуск сервиса sudo systemctl start telegram-bot # Проверка статуса sudo systemctl status telegram-bot

    Управление сервисом:

    sudo systemctl stop telegram-bot # Остановка sudo systemctl restart telegram-bot # Перезапуск sudo journalctl -u telegram-bot -f # Просмотр логов в реальном времени

    Настройка безопасности

    Развернуть бота на сервере — это только половина дела. Важно защитить его от внешних угроз.

    Security Groups (Firewall)

    В панели VK Cloud настройте правила Security Group:

    Направление Протокол Порт Источник Описание
    Ingress TCP 22 Ваш IP SSH-доступ
    Ingress TCP 443 0.0.0.0/0 Webhook (если используется)
    Egress All All 0.0.0.0/0 Исходящий трафик

    Подробные инструкции по созданию и настройке правил в документации.

    Рекомендация: Ограничьте SSH-доступ только вашим IP-адресом. Это защитит от брутфорс-атак.

    Защита токена бота

    1. Не храните токен в коде — используйте переменные окружения
    2. Не коммитьте .env — добавьте в
      .gitignore
    3. Ограничьте права на файл:
      chmod 600 ~/telegram-bot/.env

    Дополнительные меры

    # Отключение входа по паролю (только SSH-ключи) sudo nano /etc/ssh/sshd_config # Установите: PasswordAuthentication no sudo systemctl restart sshd # Установка fail2ban для защиты от брутфорса sudo apt install fail2ban -y sudo systemctl enable fail2ban

    Мониторинг и обслуживание

    После деплоя важно следить за работой бота. VK Cloud предоставляет встроенный мониторинг для отслеживания состояния VM.

    Просмотр логов

    # Логи systemd sudo journalctl -u telegram-bot -f # Последние 100 строк sudo journalctl -u telegram-bot -n 100 # Логи за последний час sudo journalctl -u telegram-bot --since "1 hour ago"

    Мониторинг ресурсов

    # Использование CPU и RAM htop # Место на диске df -h # Статус бота sudo systemctl status telegram-bot

    Настройка бэкапов

    Настройте автоматическое резервное копирование в панели VK Cloud:

    1. Перейдите в Cloud Computing → Виртуальные машины
    2. Выберите VM → Настройки → Backup
    3. Включите ежедневное резервное копирование

    VK Cloud хранит несколько копий данных на разных физических серверах, но дополнительный backup защитит от случайного удаления. Подробнее о планах резервного копирования.

    Обновление бота

    cd ~/telegram-bot git pull origin main sudo systemctl restart telegram-bot

    Заключение

    Вы узнали, как задеплоить Telegram-бота на облачный сервер VK Cloud. Подведём итоги.

    Чек-лист деплоя

    ✅ Создан аккаунт VK Cloud и пополнен баланс

    ✅ Создана VM (Ubuntu 22.04, 2 vCPU, 4 GB RAM)

    ✅ Скачан SSH-ключ (.pem файл)

    ✅ Назначен внешний IP

    ✅ Настроены Security Groups (SSH:22)

    ✅ Подключено по SSH

    ✅ Установлены Python, pip, venv

    ✅ Создано виртуальное окружение

    ✅ Код бота перенесён на сервер

    ✅ Установлены зависимости

    ✅ Настроен .env с токеном

    ✅ Создан systemd-сервис

    ✅ Включён автозапуск

    ✅ Настроены бэкапы

    Полезные ссылки


    **Облачный сервер для бота** — это инвестиция в стабильность и масштабируемость вашего проекта. VK Cloud обеспечивает российские дата-центры, соответствие ФЗ-152 и техподдержку на русском языке.

    Оставьте заявку, чтобы получить консультацию

    Наши специалисты свяжутся с вами в ближайшее время и ответят на все вопросы.

    section-subscribe_2x.png
              Теги: VK Cloud, Cloud Servers, Виртуальная инфраструктура
              Ссылка скопирована
              Поделиться

              Почитать по теме

              _blog_head_181.png
              31 марта

              Как задеплоить сайт на облачный сервер: полное руководство с Nginx и HTTPS

              _blog_head_140.png
              2 марта

              Публичное или приватное облако: что выбрать бизнесу в России

              _blog_head_19.png
              10 февраля

              «Телепортация» на работу: как работают облачные VDI-решения

              40+ готовых сервисов