Перейти к основному содержимому

Миграция между типами размещения dbt platform

Миграция
Изоляция клиентов
Платформа dbt
Продвинутый уровень
Menu
    Требуется изменение договора

    Для миграции между типами размещения необходимо изменить договор.

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

    Обзор​

    В этом руководстве описана самостоятельная миграция между типами размещения dbt platform — например, переход с мультитенантного на однотенантное размещение.

    Оно предназначено для аккаунтов, сложность миграции которых команда dbt Labs оценила как низкую. Ваш контакт в dbt Labs предоставит вам временное окно для миграции — не начинайте, пока не получите его.

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

    ПоказательНизкая сложность (самостоятельная миграция)Высокая сложность (миграция под руководством Professional Services)
    Активные задания (запускавшиеся за последние 30 дней)Менее 1010 и более
    ПроектыМенее 33 и более
    СредыМенее 55 и более
    Дальнейшие действияЕсли все показатели соответствуют низкой сложности, следуйте этому руководству или обратитесь за помощью к команде Professional Services по миграцииЕсли один или несколько показателей соответствуют высокой сложности, свяжитесь со своим менеджером по работе с клиентами, чтобы определить объём работ по миграции с участием Professional Services

    Следующие факторы требуют дополнительной координации независимо от размера аккаунта — сообщите о них своему менеджеру по работе с клиентами, если они применимы:

    • Задания CI или задания, запускаемые через вебхуки
    • SSO или подготовка учётных записей через SCIM
    • Конечные точки PrivateLink
    • Несколько типов подключений к хранилищам данных

    Что не переносится автоматически​

    Инструмент миграции автоматизирует перенос большей части конфигурации, но некоторые элементы необходимо настроить вручную после применения конфигурации Terraform.

    Учётные данные и секреты — их необходимо воссоздать вручную:

    • SSH-ключи и учётные данные для репозиториев
    • Токены сервисных аккаунтов
    • Переменные среды, содержащие секреты
    • Подключения к хранилищам данных и учётные данные на уровне сред
    • Профили dbt platform

    Данные проектов — не переносятся:

    • История запусков заданий, артефакты и журналы

    Управление пользователями — требует ручной проверки:

    • Пользователи должны уже существовать в целевом аккаунте
    • После миграции необходимо вручную проверить разрешения
    • SSO, пары ключей и учётные данные для аутентификации в хранилищах данных необходимо настроить заново

    Неподдерживаемые ресурсы:

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

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

    • Изменение договора инициировано и подтверждено вашим менеджером по работе с клиентами
    • Вы получили временное окно для миграции от команды поддержки dbt Labs
    • У вас есть права администратора в исходном и целевом аккаунтах dbt platform
    • Целевой аккаунт подготовлен в новой среде
    • У вас есть сервисный токен с разрешениями Account Admin в исходном аккаунте

    Этапы миграции​

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

    • Инструмент миграции dbt platform — экспортирует конфигурацию исходного аккаунта и применяет её к целевому аккаунту через Terraform
    • dbtcloud-terraforming — генерирует конфигурацию Terraform HCL на основе существующего аккаунта dbt platform
    к сведению

    Учётные данные, секреты и некоторые другие элементы не переносятся автоматически — запланируйте их воссоздание вручную. Полный список приведён в разделе Что не переносится автоматически.

    Шаг 1. Установите необходимые компоненты​

    Вам понадобятся Python, Terraform и dbtcloud-terraforming. Установите их любым удобным способом — здесь в качестве примера используется Homebrew.

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

    python3 -m venv tf_acct_migrator_env
    source tf_acct_migrator_env/bin/activate

    Установите Terraform:

    brew tap hashicorp/tap && brew install hashicorp/tap/terraform

    Установите dbtcloud-terraforming:

    brew install dbt-labs/dbt-cli/dbtcloud-terraforming

    Шаг 2. Настройте инструмент миграции​

    Клонируйте репозиторий инструмента миграции и перейдите в него:

    git clone https://github.com/dpguthrie/dbt-cloud-migration-tool
    cd dbt-cloud-migration-tool

    Задайте переменные среды для исходного аккаунта dbt platform:

    export DBT_CLOUD_HOST_URL="https://YOUR_SOURCE_REGION.getdbt.com/api"
    export DBT_CLOUD_TOKEN="your_source_service_token"
    export DBT_CLOUD_ACCOUNT_ID="your_source_account_id"

    Шаг 3. Сгенерируйте и примените конфигурацию Terraform​

    Запустите инструмент миграции, чтобы сгенерировать файл resources.tf с ресурсами исходного аккаунта:

    sh migrate.sh

    Скопируйте пример файла переменных и добавьте сведения о целевом аккаунте:

    cp terraform.tfvars.example terraform.tfvars
    # Edit terraform.tfvars with your target account details

    Примените конфигурацию к целевому аккаунту:

    terraform init
    terraform plan
    terraform apply

    Terraform выведет сведения о созданных ресурсах, а также предупреждения и ошибки, если они возникнут. Возможно, потребуется запустить migrate.sh несколько раз, чтобы охватить все необходимые типы ресурсов.

    Контрольный список после миграции​

    • Проверьте все подключения, разрешения и секреты в целевом аккаунте
    • Запустите тестовые задания, чтобы проверить работоспособность всего процесса
    • Убедитесь, что список разрешённых IP-адресов и сетевые настройки обновлены для нового тенанта
    • Обновите внутренние закладки, конфигурации SSO и интеграции с API, указав URL нового аккаунта

    Нашли ошибку?

    0