Управление трансфером
Вы можете:
- Получить список трансферов.
- Получить детальную информацию о трансфере.
- Создать трансфер.
- Изменить трансфер.
- Активировать трансфер.
- Деактивировать трансфер.
- Удалить трансфер.
Подробнее о состояниях трансфера, возможных действиях с ним и имеющихся ограничениях см. в разделе Типы и жизненные циклы трансферов.
Если вы хотите перенести трансфер и эндпоинты в другую зону доступности, обратитесь к инструкции.
Получить список трансферов
- Перейдите на страницу каталога
и выберите сервис Yandex Data Transfer. - На панели слева выберите
Трансферы.
Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name
или --folder-id
.
Чтобы получить список трансферов в каталоге, выполните команду:
yc datatransfer transfer list
Воспользуйтесь методом API list.
Получить детальную информацию о трансфере
- Перейдите на страницу каталога
и выберите сервис Yandex Data Transfer. - На панели слева выберите
Трансферы. - Нажмите на имя нужного трансфера.
Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name
или --folder-id
.
Чтобы получить информацию о трансфере, выполните команду:
yc datatransfer transfer get <идентификатор_трансфера>
Идентификатор трансфера можно получить со списком трансферов в каталоге.
Воспользуйтесь методом API get и передайте значение идентификатора трансфера в параметре transferId
запроса.
Чтобы узнать идентификатор трансфера, получите список трансферов в каталоге.
Создать трансфер
-
Перейдите на страницу каталога
и выберите сервис Yandex Data Transfer. -
На панели слева выберите
Трансферы. -
Нажмите кнопку Создать трансфер.
-
Выберите эндпоинт для источника или создайте новый.
-
Выберите эндпоинт для приемника или создайте новый. Убедитесь, что подсеть, указанная для эндпоинта приемника, принадлежит той же зоне доступности, что и подсеть эндпоинта источника.
-
Укажите параметры трансфера:
-
Имя.
-
(Опционально) Описание.
-
Тип трансфера:
- Копирование — создает полную копию данных без дальнейшего получения обновлений из источника.
-
Периодическое копирование — включите для создания полной копии данных через определенные интервалы времени.
- Период — выберите интервал копирования из списка. Трансфер будет регулярно запускаться с указанным интервалом. Первый запуск произойдет сразу после сохранения настроек. Если вы запустите трансфер вручную, то следующий запуск произойдет после указанного интервала.
- Cron выражение — укажите расписание запусков копирования в формате cron. Время указывается в часовом поясе UTC±00:00
. - Время ожидания завершения транзакций в секундах — укажите временную задержку для завершения текущих транзакций.
-
Инкрементальные таблицы — укажите таблицы, копирование данных которых осуществляется не полностью, а с места, где копирование завершилось в прошлый раз: укажите значения полей Схема, Таблица, Ключевая колонка и (опционально) Начальное значение. Подробнее см. в разделе Периодическое инкрементальное копирование.
Примечание
Это эффективнее, чем копировать таблицы целиком, но менее эффективно, чем использовать тип трансфера Копирование и репликация. Настройка доступна для источников PostgreSQL, ClickHouse® и Airbyte®.
-
Настройки копирования → Настройки параллельного копирования — укажите количество воркеров и потоков в каждом воркере для организации параллельного копирования.
- Репликация — позволяет получать изменения данных от источника и применять их к приемнику (без создания полной копии данных источника).
-
Настройки репликации → Настройки параллельной репликации — укажите количество воркеров для организации параллельной репликации. Настройка доступна для источников YDB, Apache Kafka® и YDS. Если запущено несколько процессов репликации, они поделят между собой партиции реплицируемого топика.
Примечание
Для YDB рекомендуется выставлять количество воркеров, не превышающее суммарное количество партиций по таблицам — иначе часть ресурсов будет простаивать. В случае, если пользовательский поток изменений не указан, трансфер при активации создаст поток изменений, число партиций которого будет равно количеству таблеток таблицы YDB на момент последней активации.
-
- Копирование и репликация — создает полную копию данных источника и поддерживает ее в актуальном состоянии.
-
Настройки копирования → Настройки параллельного копирования — укажите количество воркеров и потоков в каждом воркере для организации параллельного копирования.
-
-
- Копирование — создает полную копию данных без дальнейшего получения обновлений из источника.
-
Для пар источник-приемник, которые тарифицируются и находятся на стадии GA, вы можете настроить объем вычислительных ресурсов для виртуальной машины в блоке настроек Среда выполнения. Выберите одну из трех предложенных конфигураций:
- 2 виртуальных процессора (vCPU) и 4 гигабайта оперативной памяти (RAM). Эта конфигурация используется по умолчанию.
- 4 vCPU и 8 ГБ RAM.
- 8 vCPU и 16 ГБ RAM.
Конфигурация ресурсов виртуальной машины определяет производительность воркеров, переносящих данные. На каждый воркер выделяется отдельная ВМ. Правила тарификации vCPU и RAM, примеры расчета и рекомендации по оптимизации стоимости см. в разделе Правила тарификации сервиса.
-
(Опционально) Список объектов для переноса — укажите полный путь до каждого объекта для переноса. Будут передаваться только объекты из этого списка. Если в настройках эндпоинта-источника указан список включенных таблиц или коллекций, передаваться будут только те объекты, которые есть в обоих списках. Если указать объекты, которых нет в списке включенных таблиц или коллекций в настройках эндпоинта-источника, активация трансфера завершится с ошибкой
$table not found in source
. Настройка недоступна для источников Apache Kafka® и YDS.Укажите полное имя объекта. В зависимости от типа источника используйте соответствующую схему именования:
- ClickHouse® —
<имя_базы>.<путь_до_таблицы>
; - Greenplum® —
<имя_схемы>.<путь_до_таблицы>
; - MongoDB —
<имя_базы>.<путь_до_коллекции>
; - MySQL® —
<имя_базы>.<путь_до_таблицы>
; - PostgreSQL —
<имя_схемы>.<путь_до_таблицы>
; - YDB — путь до таблицы;
- Oracle —
<имя_схемы>.<путь_до_таблицы>
.
Если указанный объект находится в списке исключенных таблиц или коллекций в настройках эндпоинта-источника, или имя объекта введено некорректно, трансфер завершится с ошибкой. Работающий трансфер типа Репликация или Копирование и репликация завершится сразу, незапущенный трансфер — в момент активации.
- ClickHouse® —
-
(Опционально) Трансформация данных — правила преобразований данных. Эта настройка появляется только если источник и приемник имеют разные типы.
-
-
Нажмите кнопку Создать.
Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name
или --folder-id
.
Чтобы создать трансфер:
-
Посмотрите описание команды CLI для создания трансфера:
yc datatransfer transfer create --help
-
Укажите параметры трансфера в команде создания:
yc datatransfer transfer create <имя_трансфера> \ --source-id=<идентификатор_эндпоинта-источника> \ --target-id=<идентификатор_эндпоинта-приемника> \ --type=<тип_трансфера>
Где:
--source-id
— идентификатор эндпоинта-источника.--target-id
— идентификатор эндпоинта-приемника.--type
— тип трансфера:snapshot-only
— копирование.increment-only
— репликация.snapshot-and-increment
— копирование и репликация.
Примечание
Имя трансфера должно быть уникальным в каталоге. Оно может содержать латинские буквы, цифры и дефис. Максимальная длина имени 63 символа.
Terraform
Terraform распространяется под лицензией Business Source License
Подробную информацию о ресурсах провайдера смотрите в документации на сайте Terraform
Если у вас еще нет Terraform, установите его и настройте провайдер Yandex Cloud.
Чтобы создать трансфер:
-
Создайте конфигурационный файл с описанием трансфера.
Пример структуры конфигурационного файла:
resource "yandex_datatransfer_transfer" "<имя_трансфера_в_Terraform>" { folder_id = "<идентификатор_каталога>" name = "<имя_трансфера>" description = "<описание_трансфера>" source_id = "<идентификатор_эндпоинта-источника>" target_id = "<идентификатор_эндпоинта-приемника>" type = "<тип_трансфера>" }
Доступные типы трансферов:
SNAPSHOT_ONLY
— Копирование;INCREMENT_ONLY
— Репликация;SNAPSHOT_AND_INCREMENT
— Копирование и репликация.
-
Проверьте корректность настроек.
-
В командной строке перейдите в каталог, в котором расположены актуальные конфигурационные файлы Terraform с планом инфраструктуры.
-
Выполните команду:
terraform validate
Если в файлах конфигурации есть ошибки, Terraform на них укажет.
-
-
Подтвердите изменение ресурсов.
-
Выполните команду для просмотра планируемых изменений:
terraform plan
Если конфигурации ресурсов описаны верно, в терминале отобразится список изменяемых ресурсов и их параметров. Это проверочный этап: ресурсы не будут изменены.
-
Если вас устраивают планируемые изменения, внесите их:
-
Выполните команду:
terraform apply
-
Подтвердите изменение ресурсов.
-
Дождитесь завершения операции.
-
-
Подробнее см. в документации провайдера Terraform
При создании трансферы типа INCREMENT_ONLY
и SNAPSHOT_AND_INCREMENT
активируются и запускаются автоматически.
Если вы хотите активировать трансфер типа SNAPSHOT_ONLY
в момент его создания, то добавьте в конфигурационный файл секцию provisioner "local-exec"
с командой активации трансфера:
provisioner "local-exec" {
command = "yc --profile <профиль> datatransfer transfer activate ${yandex_datatransfer_transfer.<имя_Terraform-ресурса_трансфера>.id
}
В этом случае копирование выполнится только один раз в момент создания трансфера.
Воспользуйтесь методом API create и передайте в запросе:
- Идентификатор каталога, в котором должен быть размещен трансфер, в параметре
folderId
. - Имя трансфера в параметре
name
. - Идентификатор эндпоинта-источника в параметре
sourceId
. - Идентификатор эндпоинта-приемника в параметре
targetId
. - Тип трансфера в параметре
type
.
Изменить трансфер
-
Перейдите на страницу каталога
и выберите сервис Yandex Data Transfer. -
На панели слева выберите
Трансферы. -
Выберите трансфер и нажмите кнопку
Редактировать на панели сверху. -
Измените параметры трансфера:
-
Имя.
-
Описание.
-
Для трансфера типа Копирование:
-
Периодическое копирование — включите для создания полной копии данных через определенные интервалы времени.
- Период — выберите интервал копирования из списка. Трансфер будет регулярно запускаться с указанным интервалом. Первый запуск произойдет сразу после сохранения настроек. Если вы запустите трансфер вручную, то следующий запуск произойдет после указанного интервала.
- Cron выражение — укажите расписание запусков копирования в формате cron. Время указывается в часовом поясе UTC±00:00
. - Время ожидания завершения транзакций в секундах — укажите временную задержку для завершения текущих транзакций.
-
Инкрементальные таблицы — укажите таблицы, копирование данных которых осуществляется не полностью, а с места, где копирование завершилось в прошлый раз: укажите значения полей Схема, Таблица, Ключевая колонка и (опционально) Начальное значение. Подробнее см. в разделе Периодическое инкрементальное копирование.
Примечание
Это эффективнее, чем копировать таблицы целиком, но менее эффективно, чем использовать тип трансфера Копирование и репликация. Настройка доступна для источников PostgreSQL, ClickHouse® и Airbyte®.
-
Настройки копирования → Настройки параллельного копирования — укажите количество воркеров и потоков в каждом воркере для организации параллельного копирования.
-
-
Для трансфера типа Репликация:
-
Настройки репликации → Настройки параллельной репликации — укажите количество воркеров для организации параллельной репликации. Настройка доступна для источников YDB, Apache Kafka® и YDS. Если запущено несколько процессов репликации, они поделят между собой партиции реплицируемого топика.
Примечание
Для YDB рекомендуется выставлять количество воркеров, не превышающее суммарное количество партиций по таблицам — иначе часть ресурсов будет простаивать. В случае, если пользовательский поток изменений не указан, трансфер при активации создаст поток изменений, число партиций которого будет равно количеству таблеток таблицы YDB на момент последней активации.
-
-
Для трансфера типа Копирование и репликация:
-
Настройки копирования → Настройки параллельного копирования — укажите количество воркеров и потоков в каждом воркере для организации параллельного копирования.
-
-
Для пар источник-приемник, которые тарифицируются и находятся на стадии GA, вы можете изменить объем вычислительных ресурсов для виртуальной машины в блоке настроек Среда выполнения. Выберите одну из трех предложенных конфигураций:
- 2 виртуальных процессора (vCPU) и 4 гигабайта оперативной памяти (RAM). Эта конфигурация используется по умолчанию.
- 4 vCPU и 8 ГБ RAM.
- 8 vCPU и 16 ГБ RAM.
Конфигурация ресурсов ВМ определяет производительность воркеров, переносящих данные. На каждый воркер выделяется отдельная ВМ. Правила тарификации vCPU и RAM, примеры расчета и рекомендации по оптимизации стоимости см. в разделе Правила тарификации сервиса.
-
Список объектов для переноса — укажите полный путь до каждого объекта для переноса. Будут передаваться только объекты из этого списка. Если в настройках эндпоинта-источника указан список включенных таблиц или коллекций, передаваться будут только те объекты, которые есть в обоих списках. Если указать объекты, которых нет в списке включенных таблиц или коллекций в настройках эндпоинта-источника, активация трансфера завершится с ошибкой
$table not found in source
. Настройка недоступна для источников Apache Kafka® и YDS.Добавление новых объектов в трансферах типа Копирование и репликация или Репликация в статусе Реплицируется приведет к загрузке истории данных по этим объектам (таблицам). Для больших таблиц загрузка истории может занять существенное время. Редактирование списка объектов на трансферах в статусе Копируется запрещено.
Укажите полное имя объекта. В зависимости от типа источника используйте соответствующую схему именования:
- ClickHouse® —
<имя_базы>.<путь_до_таблицы>
; - Greenplum® —
<имя_схемы>.<путь_до_таблицы>
; - MongoDB —
<имя_базы>.<путь_до_коллекции>
; - MySQL® —
<имя_базы>.<путь_до_таблицы>
; - PostgreSQL —
<имя_схемы>.<путь_до_таблицы>
; - YDB — путь до таблицы;
- Oracle —
<имя_схемы>.<путь_до_таблицы>
.
Если указанный объект находится в списке исключенных таблиц или коллекций в настройках эндпоинта-источника, или имя объекта введено некорректно, трансфер завершится с ошибкой. Работающий трансфер типа Репликация или Копирование и репликация завершится сразу, незапущенный трансфер — в момент активации.
- ClickHouse® —
-
(Опционально) Трансформация данных — правила преобразований данных. Эта настройка появляется только если источник и приемник имеют разные типы.
-
-
Нажмите кнопку Сохранить.
Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name
или --folder-id
.
Чтобы изменить настройки трансфера:
-
Посмотрите описание команды CLI для изменения трансфера:
yc datatransfer transfer update --help
-
Выполните команду, передав список настроек, которые хотите изменить:
yc datatransfer transfer update <идентификатор_трансфера> \ --name=<имя_трансфера> \ --description=<описание_трансфера>
Идентификатор трансфера можно получить со списком трансферов в каталоге.
-
Откройте актуальный конфигурационный файл Terraform с описанием трансфера.
О том, как создать такой файл, см. в подразделе Создать трансфер.
-
Измените значение полей
name
иdescription
(имя и описание трансфера). -
Проверьте корректность настроек.
-
В командной строке перейдите в каталог, в котором расположены актуальные конфигурационные файлы Terraform с планом инфраструктуры.
-
Выполните команду:
terraform validate
Если в файлах конфигурации есть ошибки, Terraform на них укажет.
-
-
Подтвердите изменение ресурсов.
-
Выполните команду для просмотра планируемых изменений:
terraform plan
Если конфигурации ресурсов описаны верно, в терминале отобразится список изменяемых ресурсов и их параметров. Это проверочный этап: ресурсы не будут изменены.
-
Если вас устраивают планируемые изменения, внесите их:
-
Выполните команду:
terraform apply
-
Подтвердите изменение ресурсов.
-
Дождитесь завершения операции.
-
-
Подробнее см. в документации провайдера Terraform
Воспользуйтесь методом API update и передайте в запросе:
- Идентификатор трансфера в параметре
transferId
. Чтобы узнать идентификатор, получите список трансферов в каталоге. - Имя трансфера в параметре
name
. - Описание трансфера в параметре
description
. - Список изменяемых полей конфигурации трансфера в параметре
updateMask
.
Важно
Метод API переопределит все параметры изменяемого объекта, которые не были явно переданы в запросе, на значения по умолчанию. Чтобы избежать этого, перечислите настройки, которые вы хотите изменить, в параметре updateMask
(одной строкой через запятую).
При изменении трансфера настройки применяются сразу. Изменение настроек трансфера с типом Копирование и репликация или Репликация в статусе Реплицируется приведет к перезапуску трансфера.
Активировать трансфер
- Перейдите на страницу каталога
и выберите сервис Yandex Data Transfer. - На панели слева выберите
Трансферы. - Нажмите на значок
рядом с именем нужного трансфера и выберите пункт Активировать.
Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name
или --folder-id
.
Чтобы активировать трансфер, выполните команду:
yc datatransfer transfer activate <идентификатор_трансфера>
Идентификатор трансфера можно получить со списком трансферов в каталоге.
Воспользуйтесь методом API activate и передайте значение идентификатора трансфера в параметре transferId
запроса.
Чтобы узнать идентификатор трансфера, получите список трансферов в каталоге.
Примечание
Операция доступна в мобильном приложении Yandex Cloud.
Деактивировать трансфер
В процессе деактивации трансфера:
- отключается слот репликации на источнике;
- удаляются временные логи переноса данных;
- приемник приводится в согласованное состояние:
- переносятся объекты схемы данных источника для финальной стадии;
- создаются индексы.
- Переведите источник в режим
только чтение
(read-only). - Перейдите на страницу каталога
и выберите сервис Yandex Data Transfer. - На панели слева выберите
Трансферы. - Нажмите на значок
рядом с именем нужного трансфера и выберите пункт Деактивировать. - Дождитесь перехода трансфера в статус Остановлен.
Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name
или --folder-id
.
Чтобы деактивировать трансфер, выполните команду:
yc datatransfer transfer deactivate <идентификатор_трансфера>
Идентификатор трансфера можно получить со списком трансферов в каталоге.
Воспользуйтесь методом API deactivate и передайте значение идентификатора трансфера в параметре transferId
запроса.
Чтобы узнать идентификатор трансфера, получите список трансферов в каталоге.
Важно
Не прерывайте деактивацию трансфера! Если процесс завершится некорректно, работоспособность источника и приемника не гарантируется.
Подробнее см. в разделе Типы и жизненные циклы трансферов.
Примечание
Операция доступна в мобильном приложении Yandex Cloud.
Удалить трансфер
- Перейдите на страницу каталога
и выберите сервис Yandex Data Transfer. - На панели слева выберите
Трансферы. - Если нужный трансфер находится в активном состоянии, деактивируйте его.
- Нажмите на значок
рядом с именем нужного трансфера и выберите пункт Удалить. - Нажмите кнопку Удалить.
Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name
или --folder-id
.
Чтобы удалить трансфер, выполните команду:
yc datatransfer transfer delete <идентификатор_трансфера>
Идентификатор трансфера можно получить со списком трансферов в каталоге.
Чтобы удалить трансфер, созданный с помощью Terraform:
-
Откройте актуальный конфигурационный файл Terraform с планом инфраструктуры.
О том, как создать такой файл, см. в разделе Создать трансфер.
-
Удалите описание трансфера.
-
Проверьте корректность настроек.
-
В командной строке перейдите в каталог, в котором расположены актуальные конфигурационные файлы Terraform с планом инфраструктуры.
-
Выполните команду:
terraform validate
Если в файлах конфигурации есть ошибки, Terraform на них укажет.
-
-
Введите слово
yes
и нажмите Enter.-
Выполните команду для просмотра планируемых изменений:
terraform plan
Если конфигурации ресурсов описаны верно, в терминале отобразится список изменяемых ресурсов и их параметров. Это проверочный этап: ресурсы не будут изменены.
-
Если вас устраивают планируемые изменения, внесите их:
-
Выполните команду:
terraform apply
-
Подтвердите изменение ресурсов.
-
Дождитесь завершения операции.
-
-
Подробнее см. в документации провайдера Terraform
Воспользуйтесь методом API delete и передайте значение идентификатора трансфера в параметре transferId
запроса.
Чтобы узнать идентификатор трансфера, получите список трансферов в каталоге.
Greenplum® и Greenplum Database® являются зарегистрированными товарными знаками или товарными знаками VMware, Inc в США и/или других странах.
ClickHouse® является зарегистрированным товарным знаком ClickHouse, Inc