Yandex Cloud
Поиск
Связаться с намиПодключиться
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Доступны в регионе
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • Машинное обучение
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Партнёрская программа
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Истории успеха
    • Тарифы Yandex Cloud
    • Промоакции и free tier
    • Правила тарификации
  • Документация
  • Блог
Проект Яндекса
© 2025 ТОО «Облачные Сервисы Казахстан»
Yandex Cloud Backup
  • Начало работы
    • Все инструкции
    • Активировать сервис
    • Посмотреть операции с ресурсами сервиса
    • Ограничить использование оперативной памяти агентом Cloud Backup
    • Посмотреть статистику резервного копирования
    • Все руководства
    • Подключение сервера BareMetal к Cloud Backup
      • Обзор
      • Консоль управления, CLI, API
      • Terraform
  • Управление доступом
  • Правила тарификации
  • Справочник Terraform
  • Метрики Monitoring
  • Аудитные логи Audit Trails
  • История изменений
  • Решение проблем

В этой статье:

  • Подготовьте облако к работе
  • Необходимые платные ресурсы
  • Активируйте сервис
  • Создайте инфраструктуру
  • Как удалить созданные ресурсы
  1. Практические руководства
  2. Автоматическая привязка политики резервного копирования к ВМ
  3. Terraform

Автоматическая привязка политики резервного копирования Yandex Cloud Backup к ВМ с помощью Terraform

Статья создана
Yandex Cloud
Улучшена
Обновлена 21 апреля 2025 г.
  • Подготовьте облако к работе
    • Необходимые платные ресурсы
  • Активируйте сервис
  • Создайте инфраструктуру
  • Как удалить созданные ресурсы

Важно

Часть ресурсов, необходимых для прохождения практического руководства, доступны только в регионе Россия.

Чтобы создать виртуальную машину с автоматической привязкой к политике резервного копирования Cloud Backup:

  1. Подготовьте облако к работе.
  2. Активируйте сервис.
  3. Создайте инфраструктуру.

Если созданные ресурсы вам больше не нужны, удалите их.

Подготовьте облако к работеПодготовьте облако к работе

Зарегистрируйтесь в Yandex Cloud и создайте платежный аккаунт:

  1. Перейдите в консоль управления, затем войдите в Yandex Cloud или зарегистрируйтесь.
  2. На странице Yandex Cloud Billing убедитесь, что у вас подключен платежный аккаунт, и он находится в статусе ACTIVE или TRIAL_ACTIVE. Если платежного аккаунта нет, создайте его и привяжите к нему облако.

Если у вас есть активный платежный аккаунт, вы можете создать или выбрать каталог, в котором будет работать ваша инфраструктура, на странице облака.

Подробнее об облаках и каталогах.

Необходимые платные ресурсыНеобходимые платные ресурсы

В стоимость поддержки инфраструктуры входит:

  • плата за вычислительные ресурсы ВМ (см. тарифы Yandex Compute Cloud);
  • плата за диски ВМ (см. тарифы Yandex Compute Cloud);
  • плата за использование динамического внешнего IP-адреса (см. тарифы Yandex Virtual Private Cloud);
  • плата за подключенные к сервису Cloud Backup ВМ и объем резервных копий (см. тарифы Yandex Cloud Backup).

Активируйте сервисАктивируйте сервис

Примечание

Минимальная роль в каталоге, необходимая для активации сервиса, — backup.editor (см. описание роли).

Консоль управления
CLI
  1. В консоли управления выберите каталог, в котором вы хотите создать ВМ с подключением к Cloud Backup.

  2. В списке сервисов выберите Cloud Backup.

  3. Если сервис Cloud Backup еще не активирован, нажмите Активировать.

    Если кнопки Активировать нет, и вам доступно создание ВМ с подключением к Cloud Backup, значит, сервис уже активирован. Переходите к следующему шагу.

Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.

По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.

  1. Посмотрите описание команды CLI для активации сервиса:

    yc backup provider activate --help
    
  2. Активируйте сервис в каталоге по умолчанию:

    yc backup provider activate --async
    

    Где --async — отображение информации о прогрессе операции. Необязательный параметр.

    Результат:

    id: cdgmnefxiatx********
    description: activate provider
    created_at: "2024-10-14T09:03:47.960564Z"
    created_by: ajec1gaqcmtr********
    modified_at: "2024-10-14T09:03:47.960564Z"
    done: true
    metadata:
      '@type': type.googleapis.com/yandex.cloud.backup.v1.ActivateProviderMetadata
      folder_id: b1go3el0d8fs********
    response:
      '@type': type.googleapis.com/google.protobuf.Empty
      value: {}
    

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

  • Default daily — ежедневное создание инкрементальной копии с сохранением последних 15 копий.
  • Default weekly — еженедельное создание инкрементальной копии с сохранением последних 15 копий.
  • Default monthly — ежемесячное создание инкрементальной копии с сохранением последних 15 копий.

Если вы не хотите их создавать, используйте параметр --skip-default-policy.

Создайте инфраструктуруСоздайте инфраструктуру

Примечание

Привязка политики резервного копирования Yandex Cloud Backup к ВМ доступна для Terraform-провайдера 0.127.0 и более поздних версий.

Terraform позволяет быстро создать облачную инфраструктуру в Yandex Cloud и управлять ею с помощью файлов конфигураций. В файлах конфигураций хранится описание инфраструктуры на языке HCL (HashiCorp Configuration Language). При изменении файлов конфигураций Terraform автоматически определяет, какая часть вашей конфигурации уже развернута, что следует добавить или удалить.

Terraform распространяется под лицензией Business Source License, а провайдер Yandex Cloud для Terraform — под лицензией MPL-2.0.

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

Для создания инфраструктуры c помощью Terraform:

  1. Установите Terraform, получите данные для аутентификации и укажите источник для установки провайдера Yandex Cloud (раздел Настройте провайдер, шаг 1).

  2. Подготовьте файлы с описанием инфраструктуры:

    Готовая конфигурация
    Вручную
    1. Клонируйте репозиторий с конфигурационными файлами.

      git clone https://github.com/yandex-cloud-examples/yc-baas-backup-policy-auto-binding
      
    2. Перейдите в директорию с репозиторием. В ней должны появиться файлы:

      • backup-policy-auto-binding-config.tf — конфигурация создаваемой инфраструктуры.
      • cloud-init.yaml — файл метаданных ВМ.
    1. Создайте папку для конфигурационных файлов.

    2. Создайте в папке:

      1. Конфигурационный файл backup-policy-auto-binding-config.tf:
      backup-policy-auto-binding-config.tf
      # Настройка провайдера
      
      terraform {
        required_providers {
          yandex = {
            source = "yandex-cloud/yandex"
          }
        }
        required_version = ">= 0.13"
      }
      
      provider "yandex" {
        zone = "ru-central1-a"
      }
      
      # Создание сервисного аккаунта
      
      resource "yandex_iam_service_account" "my_sa" {
        name = "backup-sa"
      }
      
      # Назначение роли сервисному аккаунту
      
      resource "yandex_resourcemanager_folder_iam_member" "my_binding" {
        folder_id = yandex_iam_service_account.my_sa.folder_id
        role      = "backup.editor"
        member    = "serviceAccount:${yandex_iam_service_account.my_sa.id}"
      }
      
      # Создание облачной сети
      
      resource "yandex_vpc_network" "my_backup_network" {
        name = "cloud-network"
      }
      
      # Создание облачной подсети
      
      resource "yandex_vpc_subnet" "my_backup_subnet" {
        zone           = "ru-central1-a"
        network_id     = yandex_vpc_network.my_backup_network.id
        v4_cidr_blocks = ["192.168.0.0/24"]
      }
      
      # Создание группы безопасности
      # https://yandex.cloud/ru/docs/backup/concepts/vm-connection#vm-network-access
      
      resource "yandex_vpc_security_group" "my_backup_security_group" {
        name       = "backup-sg"
        network_id = yandex_vpc_network.my_backup_network.id
        egress {
          protocol       = "TCP"
          from_port      = 7770
          to_port        = 7800
          v4_cidr_blocks = ["84.47.172.0/24"]
        }
        egress {
          protocol       = "TCP"
          port           = 443
          v4_cidr_blocks = ["213.180.204.0/24", "213.180.193.0/24", "178.176.128.0/24", "84.201.181.0/24", "84.47.172.0/24"]
        }
        egress {
          protocol       = "TCP"
          port           = 80
          v4_cidr_blocks = ["213.180.204.0/24", "213.180.193.0/24"]
        }
        egress {
          protocol       = "TCP"
          port           = 8443
          v4_cidr_blocks = ["84.47.172.0/24"]
        }
        egress {
          protocol       = "TCP"
          port           = 44445
          v4_cidr_blocks = ["51.250.1.0/24"]
        }
        ingress {
          protocol       = "TCP"
          description    = "ssh"
          v4_cidr_blocks = ["0.0.0.0/0"]
          port           = 22
        }
      }
      
      # Получение информации об образе для загрузочного диска виртуальной машины
      
      data "yandex_compute_image" "ubuntu" {
        family = "ubuntu-2204-lts"
      }
      
      # Создание загрузочного диска для виртуальной машины
      
      resource "yandex_compute_disk" "boot-disk" {
        type     = "network-ssd"
        zone     = "ru-central1-a"
        size     = "20"
        image_id = data.yandex_compute_image.ubuntu.id
      }
      
      # Создание виртуальной машины
      
      resource "yandex_compute_instance" "my_backup_compute" {
        name               = "backup-instance"
        platform_id        = "standard-v3"
        zone               = "ru-central1-a"
        service_account_id = yandex_iam_service_account.my_sa.id
        network_interface {
          subnet_id          = yandex_vpc_subnet.my_backup_subnet.id
          security_group_ids = [yandex_vpc_security_group.my_backup_security_group.id]
          nat                = true
        }
      
        boot_disk {
          disk_id = yandex_compute_disk.boot-disk.id
        }
      
        resources {
          cores  = 2
          memory = 4
        }
      
        metadata = {
          user-data = "${file("cloud-init.yaml")}"
        }
      }
      
      # Создание политики резервного копирования
      
      resource "yandex_backup_policy" "my_policy" {
        name                = "weekly-backup"
        fast_backup_enabled = true
        retention {
          after_backup = false
        }
        reattempts {
          enabled      = true
          interval     = "1m"
          max_attempts = 10
        }
        scheduling {
          scheme            = "ALWAYS_INCREMENTAL"
          weekly_backup_day = "FRIDAY"
          backup_sets {
            execute_by_time {
              repeat_at = ["03:00"]
              type      = "WEEKLY"
              weekdays  = ["FRIDAY"]
            }
          }
        }
        vm_snapshot_reattempts {
          enabled      = true
          interval     = "1m"
          max_attempts = 10
        }
      }
      
      # Привязка политики резервного копирования к ВМ
      
      resource "yandex_backup_policy_bindings" "my_backup_binding" {
        instance_id = yandex_compute_instance.my_backup_compute.id
        policy_id   = yandex_backup_policy.my_policy.id
      }
      
      1. Файл метаданных ВМ cloud-init.yaml:
      cloud-init.yaml
      #cloud-config
      datasource:
       Ec2:
        strict_id: false
      ssh_pwauth: no
      users:
      - name: <имя_пользователя>
        sudo: ALL=(ALL) NOPASSWD:ALL
        shell: /bin/bash
        ssh_authorized_keys:
        - <публичный_ssh_ключ>
      packages:
        - curl
        - perl
        - jq
      runcmd:
        - curl https://storage.yandexcloud.net/backup-distributions/agent_installer.sh | sudo bash
      

    Более подробную информацию о параметрах используемых ресурсов в Terraform см. в документации провайдера:

    • Сервисный аккаунт — yandex_iam_service_account.
    • Назначение роли сервисному аккаунту — yandex_resourcemanager_folder_iam_member.
    • Сеть — yandex_vpc_network.
    • Подсеть — yandex_vpc_subnet.
    • Группа безопасности — yandex_vpc_security_group.
    • Данные образа ВМ — yandex_compute_image.
    • Загрузочный диск виртуальной машины — yandex_compute_disk.
    • Виртуальная машина — yandex_compute_instance.
    • Политика резервного копирования — yandex_backup_policy. Вы можете создать новую или использовать одну из политик, автоматически созданных при активации сервиса.
    • Привязка политики резервного копирования к ВМ — yandex_backup_policy_bindings. Чтобы привязать к ВМ одну из политик, автоматически созданных при активации сервиса, получите ее идентификатор.
  3. В файле cloud-init.yaml задайте пользовательские параметры:

    • name — имя пользователя ВМ, например vm-user.
    • ssh_authorized_keys — содержимое файла открытого ключа. Пару ключей для подключения по SSH необходимо создать самостоятельно.
  4. Создайте ресурсы:

    1. В терминале перейдите в папку, где вы отредактировали конфигурационный файл.

    2. Проверьте корректность конфигурационного файла с помощью команды:

      terraform validate
      

      Если конфигурация является корректной, появится сообщение:

      Success! The configuration is valid.
      
    3. Выполните команду:

      terraform plan
      

      В терминале будет выведен список ресурсов с параметрами. На этом этапе изменения не будут внесены. Если в конфигурации есть ошибки, Terraform на них укажет.

    4. Примените изменения конфигурации:

      terraform apply
      
    5. Подтвердите изменения: введите в терминале слово yes и нажмите Enter.

Примечание

Когда ВМ перейдет в статус Running, на нее начнет устанавливаться агент Cloud Backup. Установка займет от 5 до 10 минут.

Привязка политики выполняется асинхронно после создания и инициализации ВМ, а также установки и настройки агента Cloud Backup. Это может занимать до 10–15 минут. В итоге виртуальная машина появится в списке ВМ сервиса Cloud Backup и в списке ВМ, привязанных к политике weekly-backup.

За процессом установки можно следить с помощью последовательного порта ВМ в консоли управления.

Как удалить созданные ресурсыКак удалить созданные ресурсы

Чтобы перестать платить за созданные ресурсы:

  1. Откройте конфигурационный файл backup-policy-auto-binding.tf и удалите описание создаваемой инфраструктуры из файла.

  2. Примените изменения:

    1. В терминале перейдите в папку, где вы отредактировали конфигурационный файл.

    2. Проверьте корректность конфигурационного файла с помощью команды:

      terraform validate
      

      Если конфигурация является корректной, появится сообщение:

      Success! The configuration is valid.
      
    3. Выполните команду:

      terraform plan
      

      В терминале будет выведен список ресурсов с параметрами. На этом этапе изменения не будут внесены. Если в конфигурации есть ошибки, Terraform на них укажет.

    4. Примените изменения конфигурации:

      terraform apply
      
    5. Подтвердите изменения: введите в терминале слово yes и нажмите Enter.

См. такжеСм. также

  • Автоматическая привязка политики резервного копирования Yandex Cloud Backup к ВМ с помощью консоли управления, CLI или API

Была ли статья полезна?

Предыдущая
Консоль управления, CLI, API
Следующая
Обзор сервиса
Проект Яндекса
© 2025 ТОО «Облачные Сервисы Казахстан»