> ## Documentation Index
> Fetch the complete documentation index at: https://docs.axottle.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Ресурсы и операции

> Жизненный цикл CDN-операции, домены доставки, условия готовности READY и откат.

**CDN-ресурс** — это результат провижининга для одного CDN-блока: запись о том, какой аккаунт провайдера использован, какой ресурс создан на стороне провайдера, какой CNAME выдал провайдер, какой публичный домен доставки назначен, в каком статусе всё это находится и кому принадлежит.

**CDN-операция** — процесс, который создаёт или откатывает ресурс. У операции есть журнал состояний, текущий шаг, план и код ошибки — за ней можно следить в реальном времени.

<Info>Для кого: администратор панели, SRE. Требуемые права: управление Connection Units и CDN.</Info>

## Предварительные требования

* Подключённый аккаунт провайдера в статусе `valid` — см. <a href="/ru/cdn/providers">Провайдеры и аккаунты</a>.
* Входная нода с настроенным доменом и рабочим HTTPS: панель проверяет origin-TLS ещё до первого обращения к провайдеру.
* У аккаунта провайдера должен быть доступ к DNS-зоне, покрывающей домен ноды.

## Жизненный цикл операции

Боковые состояния: `NEEDS_QUALIFICATION` (проверки не пройдены или провайдер не квалифицирован), `NEEDS_ATTENTION` (требуется вмешательство оператора), `FAILED`, `ROLLING_BACK`, `ROLLED_BACK`. Переходы между состояниями валидируются — операция не может «перепрыгнуть» шаг.

Операции идемпотентны: повторное применение того же Connection Unit переиспользует существующую привязку, а готовый ресурс возвращается сразу, без повторного провижининга.

## Домен доставки и пулы доменов

Домен доставки формируется автоматически из домена входной ноды: нода `node.example.com` получает `cdn.node.example.com`. Придумывать и регистрировать его вручную не нужно.

Домены выдаются из пулов доменов по модели аренды (lease):

* `reserved` — домен зарезервирован за CDN-блоком на время провижининга;
* `active` — ресурс готов, домен закреплён;
* `released` — домен возвращён в пул после отката или деинсталляции.

В автоматическом потоке Yandex Cloud панель сама находит DNS-зону через подключённый CDN-аккаунт. Состояние отображается в CDN-блоке Connection Unit и в разделе **CDN**.

## Условия READY (fail-closed)

Статус провайдера «активен» намеренно считается недостаточным. Операция достигает `READY`, только когда выполнено всё сразу:

* ресурс у провайдера активен и провайдер выдал канонический CNAME;
* DNS-запись видна на авторитетных серверах **и** подтверждена как минимум двумя независимыми публичными резолверами;
* TLS валиден и на домене доставки, и на origin-ноде;
* функциональные пробы пройдены: HTTP-методы обрабатываются корректно, отключение кэширования доказано эмпирически, транспортная проба успешна.

Если пробы не прошли, ресурс помечается `needs_qualification`, а применение Connection Unit сообщает об этом. Повторное применение перепроверяет ресурс и переводит его в `ready`, когда все свидетельства собраны.

## Наблюдение за операцией

Статус CDN-блока виден и прямо в графе Connection Unit: `applying` / `verifying` / `ready` / `blocked` / `failed` / `draft`, вместе с идентификатором операции, доменом доставки и кодом ошибки. Подробнее — в статье <a href="/ru/cdn/observability">Наблюдаемость</a>.

## Откат операции

Откат — управляемая операция, которая возвращает всё в исходное состояние:

* восстанавливает каждую изменённую DNS-запись из снимка «до»;
* удаляет артефакты, созданные операцией на стороне провайдера: CDN-ресурс, origin-группу, сертификат;
* освобождает аренду домена доставки (домен возвращается в пул);
* возвращает CDN-блок в состояние черновика.

<Warning>
  Готовый (`READY`) CDN-ресурс нельзя откатить напрямую — запрос отката вернёт HTTP 409 с объяснением. Это защита от случайного разрушения работающей входной точки. Деинсталляция готового CDN выполняется только через Connection Unit: удалите CDN-блок из графа и примените конфигурацию — панель пометит привязку на деинсталляцию и выполнит тот же управляемый откат.
</Warning>

Если часть шагов отката не удалась, операция получает код `ROLLBACK_PARTIAL` со списком незавершённых пунктов и помечается как требующая внимания — она не будет тихо помечена «чистой». Что доделать руками — см. <a href="/ru/cdn/troubleshooting">Устранение неполадок</a>.

## Проверка

1. Проверьте статус аккаунта провайдера — `valid`.
2. Убедитесь, что входная нода имеет домен и отвечает по HTTPS с валидным сертификатом.

## Откат

* Готовый ресурс: удалите CDN-блок из Connection Unit и примените конфигурацию заново (см. Warning выше).
* После отката домен доставки возвращается в пул и может быть выдан снова.

## Ограничения и риски

* Один CDN-блок на Connection Unit; блок должен вести ровно на одну входную ноду с доменом.
* Свидетельства проверок устаревают через 12 часов: «готов» всегда опирается на свежие проверки.
* Применение Connection Unit завершится ошибкой, пока CDN не готов (fail-closed) — учитывайте это при планировании изменений маршрутизации, см. <a href="/ru/connection-units/routing">Маршрутизация</a>.

## Типовые ошибки

<AccordionGroup>
  <Accordion title="Применение падает с NEEDS_QUALIFICATION">
    Либо у провайдера нет квалифицированного адаптера (VK Cloud, Selectel, Beget, Timeweb), либо функциональные пробы не прошли. В первом случае используйте Yandex Cloud или ручной режим; во втором — устраните причину (см. код ошибки операции) и примените конфигурацию повторно.
  </Accordion>

  <Accordion title="Откат возвращает 409">
    Операция в состоянии `READY` — прямой откат запрещён. Удалите CDN-блок из Connection Unit и примените конфигурацию.
  </Accordion>

  <Accordion title="ORIGIN_TLS_FAILED до начала провижининга">
    Origin-проверка не прошла: на ноде нет валидного HTTPS-сертификата. Сначала приведите в порядок домен и сертификат ноды, затем повторите применение.
  </Accordion>
</AccordionGroup>

Связанные страницы: <a href="/ru/cdn/observability">Наблюдаемость</a>, <a href="/ru/cdn/troubleshooting">Устранение неполадок</a>, <a href="/ru/connection-units/overview">Connection Units</a>.

<Note>Проверено для версии Axottle текущей ветки. Дата проверки: 2026-07-11.</Note>
