Yandex Cloud
Поиск
Связаться с намиПодключиться
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Популярные
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • Машинное обучение
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Облако для интеграторов
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Контент-программа
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Истории успеха
    • Тарифы Yandex Cloud
    • Промоакции и free tier
    • Правила тарификации
  • Документация
  • Блог
Проект Яндекса
© 2025 ООО «Яндекс.Облако»
Yandex Managed Service for Apache Airflow™
  • Начало работы
    • Все инструкции
      • Информация об имеющихся кластерах
      • Создание кластера
      • Изменение кластера
      • Остановка и запуск кластера
      • Удаление кластера
    • Работа с интерфейсами Apache Airflow™
    • Передача логов Apache Airflow™ в Cloud Logging
  • Управление доступом
  • Правила тарификации
  • Справочник Terraform
  • Метрики Yandex Monitoring
  • История изменений
  • Вопросы и ответы
  1. Пошаговые инструкции
  2. Кластеры
  3. Изменение кластера

Изменение кластера Apache Airflow™

Статья создана
Yandex Cloud
Улучшена
mmerihsesh
Обновлена 30 апреля 2025 г.

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

Консоль управления
CLI
Terraform
REST API
gRPC API

Чтобы изменить настройки кластера:

  1. Перейдите на страницу каталога и выберите сервис Managed Service for Apache Airflow™.

  2. Выберите кластер и нажмите кнопку Редактировать на панели сверху.

  3. В блоке Базовые параметры измените имя и описание кластера, удалите или добавьте новые метки.

  4. В блоке Настройки доступа выберите сервисный аккаунт или создайте новый с ролью managed-airflow.integrationProvider. Это даст кластеру нужные права для работы с пользовательскими ресурсами. Подробнее см. в разделе Имперсонация.

    Для изменения сервисного аккаунта в кластере Managed Service for Apache Airflow™ назначьте вашему аккаунту в Yandex Cloud роль iam.serviceAccounts.user или выше.

    Важно

    Если для доступа к объектам из Object Storage в кластере уже используется сервисный аккаунт, то его смена может привести к недоступности этих объектов и нарушению работы кластера. Перед изменением настроек сервисного аккаунта убедитесь, что кластер не использует соответствующие объекты.

  5. В блоке Сетевые настройки выберите группу безопасности для сетевого трафика кластера или создайте ее.

    Настройки группы безопасности не влияют на доступ к веб-интерфейсу Apache Airflow™.

  6. В блоках для настройки компонентов Managed Service for Apache Airflow™ — Конфигурация веб-сервера, Конфигурация планировщика, Конфигурация воркеров — укажите количество экземпляров и конфигурацию вычислительных ресурсов.

  7. В блоке Конфигурация Triggerer включите или выключите службу Triggerer. Если служба включена, укажите количество экземпляров и ресурсов.

  8. В блоке Зависимости удалите или добавьте названия pip- и deb-пакетов.

  9. В блоке Хранилище DAG-файлов выберите существующий бакет для хранения DAG-файлов или создайте новый. Сервисному аккаунту кластера должно быть предоставлено разрешение READ для этого бакета.

  10. В блоке Дополнительные настройки установите или снимите защиту от удаления.

  11. В блоке Конфигурация Airflow:

    • Добавьте, измените или удалите дополнительные свойства Apache Airflow™, например: ключ — api.maximum_page_limit, значение — 150.

      Заполните поля вручную или загрузите конфигурацию из файла (см. пример конфигурационного файла).

    • Включите или выключите опцию Использовать Lockbox Secret Backend, которая позволяет использовать секреты в сервисе Yandex Lockbox для хранения конфигурационных данных, переменных и параметров подключений Apache Airflow™.

      Чтобы извлечь нужную информацию из секрета, сервисный аккаунт кластера должен иметь роль lockbox.payloadViewer.

      Эту роль можно назначить как на уровне всего каталога, так и на уровне отдельного секрета.

  12. В блоке Логирование включите или выключите запись логов. Если логирование включено, укажите, в какую лог-группу будут записываться логи и минимальный уровень логирования. Логи, сгенерированные компонентами Apache Airflow™, будут отправляться в Yandex Cloud Logging.

  13. Нажмите кнопку Сохранить изменения.

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

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

Чтобы изменить настройки кластера:

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

    yc managed-airflow cluster update --help
    
  2. Передайте список настроек, которые хотите изменить, в команде изменения кластера:

    yc managed-airflow cluster update <имя_или_идентификатор_кластера> \
       --new-name <новое_имя_кластера> \
       --description <описание_кластера> \
       --labels <список_меток> \
       --service-account-id <идентификатор_сервисного_аккаунта> \
       --security-group-ids <идентификаторы_групп_безопасности> \
       --webserver count=<количество_экземпляров>,`
                  `resource-preset-id=<идентификатор_ресурсов> \
       --scheduler count=<количество_экземпляров>,`
                  `resource-preset-id=<идентификатор_ресурсов> \
       --worker min-count=<минимальное_количество_экземпляров>,`
               `max-count=<максимальное_количество_экземпляров>,`
               `resource-preset-id=<идентификатор_ресурсов> \
       --triggerer count=<количество_экземпляров>,`
                  `resource-preset-id=<идентификатор_ресурсов> \
       --deb-packages <список_deb-пакетов> \
       --pip-packages <список_pip-пакетов> \
       --dags-bucket <имя-бакета> \
       --deletion-protection \
       --lockbox-secrets-backend \
       --log-enabled \
       --log-folder-id <идентификатор_каталога> \
       --log-min-level <уровень_логирования>
    

    Где:

    • --name — имя кластера.

    • --description — описание кластера.

    • --labels — список меток. Метки задаются в формате <ключ>=<значение>.

    • --admin-password — пароль пользователя-администратора. Пароль должен иметь длину не менее 8 символов и содержать как минимум:

      • одну заглавную букву;
      • одну строчную букву;
      • одну цифру;
      • один специальный символ.
    • --service-account-id — идентификатор сервисного аккаунта.

    • --security-group-ids — список идентификаторов групп безопасности.

    • --webserver, --scheduler, --worker, --triggerer — конфигурация компонентов Managed Service for Apache Airflow™:

      • count — количество экземпляров в кластере для веб-сервера, планировщика и Triggerer.

      • min-count, max-count — минимальное и максимальное количество экземпляров в кластере для воркера.

      • resource-preset-id — идентификатор вычислительных ресурсов веб-сервера, планировщика, воркера и службы Triggerer. Возможные значения:

        • c1-m2 — 1 vCPU, 2 ГБ RAM.
        • c1-m4 — 1 vCPU, 4 ГБ RAM.
        • c2-m4 — 2 vCPU, 4 ГБ RAM.
        • c2-m8 — 2 vCPU, 8 ГБ RAM.
        • c4-m8 — 4 vCPU, 8 ГБ RAM.
        • c4-m16 — 4 vCPU, 16 ГБ RAM.
        • c8-m16 — 8 vCPU, 16 ГБ RAM.
        • c8-m32 — 8 vCPU, 32 ГБ RAM.
    • --deb-packages, --pip-packages — списки deb- и pip-пакетов, которые позволяют установить в кластер дополнительные библиотеки и приложения для запуска DAG-файлов.

      При необходимости задайте ограничения на версии устанавливаемых пакетов, например:

      --pip-packages "pandas==2.0.2,scikit-learn>=1.0.0,clickhouse-driver~=0.2.0"
      

      Формат названия пакета и выбор версии определены командой установки: pip install — для pip-пакетов, apt install — для deb-пакетов.

    • --dags-bucket — имя бакета, в котором будут храниться DAG-файлы.

    • --deletion-protection — включает защиту кластера от непреднамеренного удаления.

      Включенная защита от удаления не помешает подключиться к кластеру вручную и удалить его.

    • --lockbox-secrets-backend — включает использование секретов в сервисе Yandex Lockbox для хранения конфигурационных данных, переменных и параметров подключений Apache Airflow™.

    • --airflow-config — дополнительные свойства Apache Airflow™. Задаются в формате <раздел_конфигурации>.<ключ>=<значение>, например:

      --airflow-config core.load_examples=False
      
    • Параметры логирования:

      • --log-enabled — включает логирование. Логи, сгенерированные компонентами Apache Airflow™, будут отправляться в Yandex Cloud Logging.

      • --log-folder-id — идентификатор каталога. Логи будут записываться в лог-группу по умолчанию для этого каталога.

      • --log-group-id — идентификатор пользовательской лог-группы. Логи будут записываться в нее.

        Укажите один из двух параметров: --log-folder-id либо --log-group-id.

      • --log-min-level — минимальный уровень логирования. Возможные значения: TRACE, DEBUG, INFO (значение по умолчанию), WARN, ERROR и FATAL.

      Вы можете указать только один из параметров: --log-folder-id или --log-group-id.

    Идентификатор и имя кластера можно запросить со списком кластеров в каталоге.

Чтобы изменить настройки кластера:

  1. Откройте актуальный конфигурационный файл Terraform с планом инфраструктуры.

    Как создать такой файл, см. в разделе Создание кластера.

  2. Чтобы изменить настройки кластера, измените значения нужных полей в конфигурационном файле.

    Внимание

    Не изменяйте имя кластера и пароль с помощью Terraform. Это приведет к удалению существующего кластера и созданию нового.

    Пример структуры конфигурационного файла:

    resource "yandex_airflow_cluster" "<имя_кластера>" {
      name        = "<имя_кластера>"
      description = "<описание_кластера>"
    
      labels = { <список_меток> }
    
      admin_password     = "<пароль_администратора>"
      service_account_id = "<идентификатор_сервисного_аккаунта>"
      subnet_ids         = ["<список_идентификаторов_подсетей>"]
      security_group_ids = ["<список_идентификаторов_групп_безопасности>"]
    
      webserver = {
        count              = <количество_экземпляров>
        resource_preset_id = "<идентификатор_ресурсов>"
      }
    
      scheduler = {
        count              = <количество_экземпляров>
        resource_preset_id = "<идентификатор_ресурсов>"
      }
    
      worker = {
        min_count          = <минимальное_количество_экземпляров>
        max_count          = <максимальное_количество_экземпляров>
        resource_preset_id = "<идентификатор_ресурсов>"
      }
    
      triggerer = {
        count              = <количество_экземпляров>
        resource_preset_id = "<идентификатор_ресурсов>"
      }
    
      pip_packages = ["список_pip-пакетов"]
      deb_packages = ["список_deb-пакетов"]
    
      code_sync = {
        s3 = {
          bucket = "<имя_бакета>"
        }
      }
    
      deletion_protection = <защита_от_удаления>
    
      lockbox_secrets_backend = {
        enabled = <использование_секретов>
      }
    
      airflow_config = {
        <раздел_конфигурации> = {
          <ключ> = "<значение>"
        }
      }
    
      logging = {
        enabled   = <использование_логирования>
        folder_id = "<идентификатор_каталога>"
        min_level = "<уровень_логирования>"
      }
    }
    
    resource "yandex_vpc_network" "<имя_сети>" { name = "<имя_сети>" }
    
    resource "yandex_vpc_subnet" "<имя_подсети>" {
      name           = "<имя_подсети>"
      zone           = "<зона_доступности>"
      network_id     = "<идентификатор_сети>"
      v4_cidr_blocks = ["<диапазон>"]
    }
    

    Где:

    • name — имя кластера.

    • description — описание кластера.

    • labels — список меток. Метки задаются в формате <ключ> = "<значение>".

    • admin_password — пароль пользователя-администратора. Пароль должен иметь длину не менее 8 символов и содержать как минимум:

      • одну заглавную букву;
      • одну строчную букву;
      • одну цифру;
      • один специальный символ.
    • service_account_id — идентификатор сервисного аккаунта.

    • subnet_ids — список идентификаторов подсетей.

      Примечание

      Нельзя изменить подсети после создания кластера.

    • security_group_ids — список идентификаторов групп безопасности.

    • webserver, scheduler, worker, triggerer — конфигурация компонентов Managed Service for Apache Airflow™:

      • count — количество экземпляров в кластере для веб-сервера, планировщика и Triggerer.

      • min_count, max_count — минимальное и максимальное количество экземпляров в кластере для воркера.

      • resource_preset_id — идентификатор вычислительных ресурсов веб-сервера, планировщика, воркера и Triggerer. Возможные значения:

        • c1-m2 — 1 vCPU, 2 ГБ RAM.
        • c1-m4 — 1 vCPU, 4 ГБ RAM.
        • c2-m4 — 2 vCPU, 4 ГБ RAM.
        • c2-m8 — 2 vCPU, 8 ГБ RAM.
        • c4-m8 — 4 vCPU, 8 ГБ RAM.
        • c4-m16 — 4 vCPU, 16 ГБ RAM.
        • c8-m16 — 8 vCPU, 16 ГБ RAM.
        • c8-m32 — 8 vCPU, 32 ГБ RAM.
    • deb_packages, pip_packages — списки deb- и pip-пакетов, которые позволяют установить в кластер дополнительные библиотеки и приложения для запуска DAG-файлов.

      При необходимости задайте ограничения на версии устанавливаемых пакетов, например:

      pip_packages = ["pandas==2.0.2","scikit-learn>=1.0.0","clickhouse-driver~=0.2.0"]
      

      Формат названия пакета и выбор версии определены командой установки: pip install — для pip-пакетов, apt install — для deb-пакетов.

    • code_sync.s3.bucket — имя бакета, в котором будут храниться DAG-файлы.

    • deletion_protection — позволяет включить защиту кластера от непреднамеренного удаления. Возможные значения: true или false.

      Включенная защита от удаления не помешает подключиться к кластеру вручную и удалить его.

    • lockbox_secrets_backend.enabled — включает использование секретов в сервисе Yandex Lockbox для хранения конфигурационных данных, переменных и параметров подключений Apache Airflow™. Возможные значения: true или false.

    • airflow_config — дополнительные свойства Apache Airflow™, например: раздел конфигурации — core, ключ — load_examples, значение — False.

    • logging — параметры логирования:

      • enabled — позволяет включить логирование. Логи, сгенерированные компонентами Apache Airflow™, будут отправляться в Yandex Cloud Logging. Возможные значения: true или false.

      • folder_id — идентификатор каталога. Логи будут записываться в лог-группу по умолчанию для этого каталога.

      • log_group_id — идентификатор пользовательской лог-группы. Логи будут записываться в нее.

        Укажите один из двух параметров: folder_id либо log_group_id.

      • min_level — минимальный уровень логирования. Возможные значения: TRACE, DEBUG, INFO (значение по умолчанию), WARN, ERROR и FATAL.

      Вы можете указать только один из параметров: folder_id или log_group_id.

  3. Проверьте корректность настроек.

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

    2. Выполните команду:

      terraform validate
      

      Если в файлах конфигурации есть ошибки, Terraform на них укажет.

  4. Подтвердите изменение ресурсов.

    1. Выполните команду для просмотра планируемых изменений:

      terraform plan
      

      Если конфигурации ресурсов описаны верно, в терминале отобразится список изменяемых ресурсов и их параметров. Это проверочный этап: ресурсы не будут изменены.

    2. Если вас устраивают планируемые изменения, внесите их:

      1. Выполните команду:

        terraform apply
        
      2. Подтвердите изменение ресурсов.

      3. Дождитесь завершения операции.

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

Чтобы изменить настройки кластера:

  1. Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:

    export IAM_TOKEN="<IAM-токен>"
    
  2. Создайте файл body.json и добавьте в него следующее содержимое:

    {
      "updateMask": "<список_изменяемых_параметров>",
      "name": "<имя_кластера>",
      "description": "<описание_кластера>",
      "labels": { <список_меток> },
      "configSpec": {
        "airflow": {
          "config": { <список_свойств> }
        },
        "webserver": {
          "count": "<количество_экземпляров>",
          "resources": {
            "resourcePresetId": "<идентификатор_ресурсов>"
          }
        },
        "scheduler": {
          "count": "<количество_экземпляров>",
          "resources": {
            "resourcePresetId": "<идентификатор_ресурсов>"
          }
        },
        "triggerer": {
          "count": "<количество_экземпляров>",
          "resources": {
            "resourcePresetId": "<идентификатор_ресурсов>"
          }
        },
        "worker": {
          "minCount": "<минимальное_количество_экземпляров>",
          "maxCount": "<максимальное_количество_экземпляров>",
          "resources": {
            "resourcePresetId": "<идентификатор_ресурсов>"
          }
        },
        "dependencies": {
          "pipPackages": [ <список_pip-пакетов> ],
          "debPackages": [ <список_deb-пакетов> ]
        },
        "lockbox": {
          "enabled": <использование_логирования>
        }
      },
      "codeSync": {
        "s3": {
          "bucket": "<имя_бакета>"
        }
      },
      "networkSpec": {
        "securityGroupIds": [ <список_идентификаторов_групп_безопасности> ]
      },
      "deletionProtection": <защита_от_удаления>,
      "serviceAccountId": "<идентификатор_сервисного_аккаунта>",
      "logging": {
        "enabled": <использование_логирования>,
        "minLevel": "<уровень_логирования>",
        "folderId": "<идентификатор_каталога>"
      }
    }
    

    Где:

    • updateMask — перечень изменяемых параметров в одну строку через запятую.

      Важно

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

    • name — имя кластера.

    • description — описание кластера.

    • labels — список меток. Метки задаются в формате "<ключ>": "<значение>".

    • config — конфигурация кластера:

      • airflow.config — дополнительные свойства Apache Airflow™. Задаются в формате "<раздел_конфигурации>.<ключ>": "<значение>", например:

        "airflow": {
          "config": {
            "core.load_examples": "False"
          }
        }
        
      • webserver, scheduler, triggerer, worker — конфигурация компонентов Managed Service for Apache Airflow™:

        • count — количество экземпляров в кластере для веб-сервера, планировщика и Triggerer.

        • minCount, maxCount — минимальное и максимальное количество экземпляров в кластере для воркера.

        • resources.resourcePresetId — идентификатор вычислительных ресурсов веб-сервера, планировщика, воркера и Triggerer. Возможные значения:

          • c1-m2 — 1 vCPU, 2 ГБ RAM.
          • c1-m4 — 1 vCPU, 4 ГБ RAM.
          • c2-m4 — 2 vCPU, 4 ГБ RAM.
          • c2-m8 — 2 vCPU, 8 ГБ RAM.
          • c4-m8 — 4 vCPU, 8 ГБ RAM.
          • c4-m16 — 4 vCPU, 16 ГБ RAM.
          • c8-m16 — 8 vCPU, 16 ГБ RAM.
          • c8-m32 — 8 vCPU, 32 ГБ RAM.
      • dependencies — списки пакетов, которые позволяют установить в кластер дополнительные библиотеки и приложения для запуска DAG-файлов:

        • pipPackages — список pip-пакетов.
        • debPackages — список deb-пакетов.

        При необходимости задайте ограничения на версии устанавливаемых пакетов, например:

        "dependencies": {
          "pipPackages": [
            "pandas==2.0.2",
            "scikit-learn>=1.0.0",
            "clickhouse-driver~=0.2.0"
          ]
        }
        

        Формат названия пакета и выбор версии определены командой установки: pip install — для pip-пакетов, apt install — для deb-пакетов.

      • lockbox.enabled — позволяет использовать секреты в сервисе Yandex Lockbox для хранения конфигурационных данных, переменных и параметров подключений Apache Airflow™. Возможные значения: true или false.

    • network.securityGroupIds — список идентификаторов групп безопасности.

    • codeSync.s3.bucket — имя бакета, в котором будут храниться DAG-файлы.

    • deletionProtection — позволяет включить защиту кластера от непреднамеренного удаления. Возможные значения: true или false.

      Включенная защита от удаления не помешает подключиться к кластеру вручную и удалить его.

    • serviceAccountId — идентификатор сервисного аккаунта с ролью managed-airflow.integrationProvider. Это даст кластеру нужные права для работы с пользовательскими ресурсами. Подробнее см. в разделе Имперсонация.

      Для изменения сервисного аккаунта в кластере Managed Service for Apache Airflow™ назначьте вашему аккаунту в Yandex Cloud роль iam.serviceAccounts.user или выше.

      Важно

      Если для доступа к объектам из Object Storage в кластере уже используется сервисный аккаунт, то его смена может привести к недоступности этих объектов и нарушению работы кластера. Перед изменением настроек сервисного аккаунта убедитесь, что кластер не использует соответствующие объекты.

    • logging — параметры логирования:

      • enabled — позволяет включить логирование. Логи, сгенерированные компонентами Apache Airflow™, будут отправляться в Yandex Cloud Logging. Возможные значения: true или false.

      • minLevel — минимальный уровень логирования. Возможные значения: TRACE, DEBUG, INFO, WARN, ERROR и FATAL.

      • folderId — идентификатор каталога. Логи будут записываться в лог-группу по умолчанию для этого каталога.

      • logGroupId — идентификатор пользовательской лог-группы. Логи будут записываться в нее.

        Укажите один из двух параметров: folderId либо logGroupId.

  3. Воспользуйтесь методом Cluster.update и выполните запрос, например, с помощью cURL:

    curl \
        --request PATCH \
        --header "Authorization: Bearer $IAM_TOKEN" \
        --url 'https://airflow.api.cloud.yandex.net/managed-airflow/v1/clusters/<идентификатор_кластера>'
        --data '@body.json'
    

    Идентификатор кластера можно запросить со списком кластеров в каталоге.

  4. Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.

Чтобы изменить настройки кластера:

  1. Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:

    export IAM_TOKEN="<IAM-токен>"
    
  2. Клонируйте репозиторий cloudapi:

    cd ~/ && git clone --depth=1 https://github.com/yandex-cloud/cloudapi
    

    Далее предполагается, что содержимое репозитория находится в директории ~/cloudapi/.

  3. Создайте файл body.json и добавьте в него следующее содержимое:

    {
      "cluster_id": "<идентификатор_кластера>",
      "update_mask": "<список_изменяемых_параметров>",
      "name": "<имя_кластера>",
      "description": "<описание_кластера>",
      "labels": { <список_меток> },
      "config_spec": {
        "airflow": {
          "config": { <список_свойств> }
        },
        "webserver": {
          "count": "<количество_экземпляров>",
          "resources": {
            "resource_preset_id": "<идентификатор_ресурсов>"
          }
        },
        "scheduler": {
          "count": "<количество_экземпляров>",
          "resources": {
            "resource_preset_id": "<идентификатор_ресурсов>"
          }
        },
        "triggerer": {
          "count": "<количество_экземпляров>",
          "resources": {
            "resource_preset_id": "<идентификатор_ресурсов>"
          }
        },
        "worker": {
          "min_count": "<минимальное_количество_экземпляров>",
          "max_count": "<максимальное_количество_экземпляров>",
          "resources": {
            "resource_preset_id": "<идентификатор_ресурсов>"
          }
        },
        "dependencies": {
          "pip_packages": [ <список_pip-пакетов> ],
          "deb_packages": [ <список_deb-пакетов> ]
        },
        "lockbox": {
          "enabled": <использование_логирования>
        }
      },
      "code_sync": {
        "s3": {
          "bucket": "<имя_бакета>"
        }
      },
      "network_spec": {
        "security_group_ids": [ <список_идентификаторов_групп_безопасности> ]
      },
      "deletion_protection": <защита_от_удаления>,
      "service_account_id": "<идентификатор_сервисного_аккаунта>",
      "logging": {
        "enabled": <использование_логирования>,
        "min_level": "<уровень_логирования>",
        "folder_id": "<идентификатор_каталога>"
      }
    }
    

    Где:

    • cluster_id — идентификатор кластера. Его можно запросить со списком кластеров в каталоге.

    • update_mask — перечень изменяемых параметров в виде массива строк paths[].

      Формат перечисления настроек
      "update_mask": {
          "paths": [
              "<настройка_1>",
              "<настройка_2>",
              ...
              "<настройка_N>"
          ]
      }
      

      Важно

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

    • name — имя кластера.

    • description — описание кластера.

    • labels — список меток. Метки задаются в формате "<ключ>": "<значение>".

    • config_spec — конфигурация кластера:

      • airflow.config — дополнительные свойства Apache Airflow™. Задаются в формате "<раздел_конфигурации>.<ключ>": "<значение>", например:

        "airflow": {
          "config": {
            "core.load_examples": "False"
          }
        }
        
      • webserver, scheduler, triggerer, worker — конфигурация компонентов Managed Service for Apache Airflow™:

        • count — количество экземпляров в кластере для веб-сервера, планировщика и Triggerer.

        • min_count, max_count — минимальное и максимальное количество экземпляров в кластере для воркера.

        • resources.resource_preset_id — идентификатор вычислительных ресурсов веб-сервера, планировщика, воркера и Triggerer. Возможные значения:

          • c1-m2 — 1 vCPU, 2 ГБ RAM.
          • c1-m4 — 1 vCPU, 4 ГБ RAM.
          • c2-m4 — 2 vCPU, 4 ГБ RAM.
          • c2-m8 — 2 vCPU, 8 ГБ RAM.
          • c4-m8 — 4 vCPU, 8 ГБ RAM.
          • c4-m16 — 4 vCPU, 16 ГБ RAM.
          • c8-m16 — 8 vCPU, 16 ГБ RAM.
          • c8-m32 — 8 vCPU, 32 ГБ RAM.
      • dependencies — списки пакетов, которые позволяют установить в кластер дополнительные библиотеки и приложения для запуска DAG-файлов:

        • pip_packages — список pip-пакетов.
        • deb_packages — список deb-пакетов.

        При необходимости задайте ограничения на версии устанавливаемых пакетов, например:

        "dependencies": {
          "pip_packages": [
            "pandas==2.0.2",
            "scikit-learn>=1.0.0",
            "clickhouse-driver~=0.2.0"
          ]
        }
        

        Формат названия пакета и выбор версии определены командой установки: pip install — для pip-пакетов, apt install — для deb-пакетов.

      • lockbox.enabled — позволяет использовать секреты в сервисе Yandex Lockbox для хранения конфигурационных данных, переменных и параметров подключений Apache Airflow™. Возможные значения: true или false.

    • network_spec.security_group_ids — список идентификаторов групп безопасности.

    • code_sync.s3.bucket — имя бакета, в котором будут храниться DAG-файлы.

    • deletion_protection — позволяет включить защиту кластера от непреднамеренного удаления. Возможные значения: true или false.

      Включенная защита от удаления не помешает подключиться к кластеру вручную и удалить его.

    • service_account_id — идентификатор сервисного аккаунта с ролью managed-airflow.integrationProvider. Это даст кластеру нужные права для работы с пользовательскими ресурсами. Подробнее см. в разделе Имперсонация.

      Для изменения сервисного аккаунта в кластере Managed Service for Apache Airflow™ назначьте вашему аккаунту в Yandex Cloud роль iam.serviceAccounts.user или выше.

      Важно

      Если для доступа к объектам из Object Storage в кластере уже используется сервисный аккаунт, то его смена может привести к недоступности этих объектов и нарушению работы кластера. Перед изменением настроек сервисного аккаунта убедитесь, что кластер не использует соответствующие объекты.

    • logging — параметры логирования:

      • enabled — позволяет включить логирование. Логи, сгенерированные компонентами Apache Airflow™, будут отправляться в Yandex Cloud Logging. Возможные значения: true или false.

      • min_level — минимальный уровень логирования. Возможные значения: TRACE, DEBUG, INFO, WARN, ERROR и FATAL.

      • folder_id — идентификатор каталога. Логи будут записываться в лог-группу по умолчанию для этого каталога.

      • log_group_id — идентификатор пользовательской лог-группы. Логи будут записываться в нее.

        Укажите один из двух параметров: folder_id либо log_group_id.

  4. Воспользуйтесь вызовом ClusterService/Update и выполните запрос, например, с помощью gRPCurl:

    grpcurl \
        -format json \
        -import-path ~/cloudapi/ \
        -import-path ~/cloudapi/third_party/googleapis/ \
        -proto ~/cloudapi/yandex/cloud/airflow/v1/cluster_service.proto \
        -rpc-header "Authorization: Bearer $IAM_TOKEN" \
        -d @ \
        airflow.api.cloud.yandex.net:443 \
        yandex.cloud.airflow.v1.ClusterService.Update \
        < body.json
    
  5. Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.

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

Предыдущая
Создание кластера
Следующая
Остановка и запуск кластера
Проект Яндекса
© 2025 ООО «Яндекс.Облако»