Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
ПРИМЕНИМО К:
Фабрика данных Azure
Azure Synapse Analytics
Совет
Data Factory в Microsoft Fabric — это следующее поколение Фабрика данных Azure с более простой архитектурой, встроенным ИИ и новыми функциями. Если вы не знакомы с интеграцией данных, начните с Fabric Data Factory. Существующие рабочие нагрузки ADF могут обновляться до Fabric для доступа к новым возможностям в области обработки и анализа данных, аналитики в режиме реального времени и отчетов.
Фабрика данных Azure предоставляет эффективный и надежный механизм переноса данных в масштабе от Amazon S3 к Хранилище BLOB-объектов Azure или Azure Data Lake Storage 2-го поколения. В этой статье содержатся следующие сведения для специалистов по обработке и анализу данных и разработчиков:
- Производительность
- Устойчивость копирования
- Безопасность сети
- Высокоуровневая архитектура решения
- Рекомендации по реализации
Производительность
ADF предлагает бессерверную архитектуру, обеспечивающую параллельную обработку на различных уровнях, что даёт возможность разработчикам создавать конвейеры для полного использования пропускной способности сети и операций ввода-вывода хранилища, максимизируя скорость передачи данных в вашей среде.
Клиенты успешно переносили петабайты данных, состоящие из сотен миллионов файлов из Amazon S3 в Хранилище BLOB-объектов Azure, с устойчивой пропускной способностью 2 ГБИТ/с и выше.
На рисунке выше показано, как можно обеспечить высокую скорость перемещения данных с помощью различных уровней параллелизма.
- Одно действие копирования может использовать масштабируемые вычислительные ресурсы: при использовании Azure Integration Runtime можно указать до 256 DIUs для каждого действия копирования в серверless-режиме; при использовании локального Integration Runtime вы можете вручную масштабировать компьютер или распределить нагрузку на нескольких компьютерах (до четырех узлов), и одно действие копирования разделит свой набор файлов на все узлы.
- Одно действие копирования считывает данные из хранилища данных и записывает их в него с помощью нескольких потоков.
- Управляющий поток Azure Data Factory может запускать несколько операций копирования параллельно, например, с помощью цикла For Each.
Устойчивость
В одном цикле выполнения операции копирования, в Фабрике данных Azure имеется встроенный механизм повторных попыток, который позволяет справляться с определенным уровнем временных сбоев в хранилищах данных или в базовой сети.
При копировании двоичных данных из S3 в Blob-хранилище и из S3 в хранилище Azure Data Lake Storage Gen2, служба Azure Data Factory автоматически выполняет контрольное сохранение. Если при выполнении действия копирования происходит сбой или истекает время ожидания, при последующей попытке копирование возобновляется с последней точки сбоя, а не с начала.
Безопасность сети
По умолчанию ADF передает данные из Amazon S3 в Хранилище BLOB-объектов Azure или Azure Data Lake Storage 2-го поколения с помощью зашифрованного подключения через протокол HTTPS. HTTPS обеспечивает шифрование данных при передаче и предотвращает прослушивание трафика и атаки типа "злоумышленник в середине".
Кроме того, если вы не хотите передавать данные через общедоступный Интернет, вы можете обеспечить более высокую безопасность путем передачи данных через частный пиринговый канал между AWS Direct Connect и Azure Express Route. Ознакомьтесь с архитектурой решения в следующем разделе о том, как это можно сделать.
Архитектура решения
Перенос данных через общедоступный Интернет:
- В этой архитектуре данные безопасно передаются по протоколу HTTPS через общедоступный Интернет.
- Исходное хранилище Amazon S3 и целевые хранилища Хранилище BLOB-объектов Azure или Azure Data Lake Storage 2-го поколения настроены так, чтобы разрешать трафик со всех сетевых IP-адресов. Обратитесь ко второй архитектуре, упомянутой далее на этой странице, чтобы узнать, как ограничить сетевой доступ к определенному диапазону IP-адресов.
- Вы можете легко масштабировать ресурсы бессерверным образом, чтобы полностью использовать пропускную способность сети и хранилища с целью получения максимальной скорости передачи данных в среде.
- С помощью этой архитектуры можно обеспечить как перенос исходных моментальных снимков, так и перенос разностных данных.
Перенос данных через частный канал:
- В этой архитектуре миграция данных выполняется через приватный пиринговый канал между AWS Direct Connect и Azure Express Route, чтобы данные никогда не пересеклись через общедоступный Интернет. Для этого требуется использование AWS VPC и виртуальной сети Azure.
- Для достижения этой архитектуры необходимо установить локальную среду выполнения интеграции ADF на виртуальной машине Windows в виртуальной сети Azure. Вы можете вручную масштабировать локальные виртуальные машины IR или расширить их до нескольких виртуальных машин (до четырех узлов) для полного использования сетевых операций ввода-вывода и пропускной способности хранилища.
- С помощью этой архитектуры можно обеспечить как перенос исходных моментальных снимков, так и перенос разностных данных.
Рекомендации по реализации
Если вы планируете перенести рабочую нагрузку из AWS в Azure, мы рекомендуем использовать методический подход к этой инициативе. Выбор компонентов и Azure основы являются важными частями этого более крупного процесса. Чтобы точно настроить план миграции с помощью рекомендаций Microsoft, см. раздел Migrate storage from Amazon Web Services to Azure.
Управление проверкой подлинности и учетными данными
- Для проверки подлинности учетной записи Amazon S3 необходимо использовать ключ доступа для учетной записи IAM.
- Для подключения к Хранилище BLOB-объектов Azure поддерживаются несколько типов проверки подлинности. Использование управляемых удостоверений для ресурсов Azure настоятельно рекомендуется: построенные на основе автоматически управляемой идентификации ADF в Microsoft Entra ID, они позволяют настраивать конвейеры без указания учетных данных в определении службы связи. Кроме того, можно выполнить проверку подлинности для Хранилище BLOB-объектов Azure с помощью учетной записи службы, подписанного URL или ключа учетной записи.
- Для подключения к Azure Data Lake Storage 2-го поколения также поддерживаются несколько типов проверки подлинности. Использование управляемых удостоверений для ресурсов Azure настоятельно рекомендуется, хотя учетной записи службы или ключа учетной записи хранилища также можно использовать.
- Если вы не используете управляемые удостоверения для ресурсов Azure, хранение учетных данных в Azure Key Vault настоятельно рекомендуется для упрощения централизованного управления и смены ключей без изменения связанных служб ADF. Это также одна из лучших практик для CI/CD.
Миграция данных исходных моментальных снимков
Секционирование данных особенно рекомендуется при переносе более чем 100 ТБ данных. Чтобы секционировать данные, используйте параметр префикса для фильтрации папок и файлов в Amazon S3 по имени, а затем каждое задание копирования ADF может копировать одну секцию одновременно. Для повышения пропускной способности можно одновременно запустить несколько заданий копирования в Azure Data Factory.
Если какое-либо из заданий копирования завершится сбоем из-за временной проблемы с сетью или хранилищем данных, вы можете повторно выполнить неудавшуюся задачу копирования, чтобы загрузить этот конкретный раздел снова из AWS S3. Все остальные задания копирования, загружаемые из других разделов, не будут затронуты.
Перенос дельта-данных
Наиболее эффективно определить новые или измененные файлы из AWS S3 можно с помощью соглашения об именовании с секционированием по времени. Если данные в AWS S3 были секционированы с информацией о срезе времени в имени файла или папки (например, /y/mm/dd/file.csv), конвейер может легко определить, какие файлы и папки копируются постепенно.
Кроме того, если данные в AWS S3 не секционированы по времени, ADF может определить новые или измененные файлы с помощью lastModifiedDate. В этом случае Фабрика данных Azure будет сканировать все файлы в AWS S3 и копировать только новые и обновленные файлы, метка времени последнего изменения которых больше определенного значения. При наличии большого количества файлов в S3 начальное сканирование файлов может занять много времени независимо от того, сколько файлов соответствует условию фильтра. В этом случае предлагается сначала разделить данные, используя тот же параметр префикса для первоначальной миграции снапшотов, чтобы сканирование файлов выполнялось параллельно.
Для сценариев, требующих локальной среды выполнения интеграции на виртуальной машине Azure
Независимо от того, переносите ли вы данные через приватный канал или хотите разрешить определенный диапазон IP-адресов в брандмауэре Amazon S3, необходимо установить локальную среду выполнения интеграции на Azure Windows виртуальной машине.
- Рекомендуемая начальная конфигурация для каждой виртуальной машины Azure — Standard_D32s_v3 с 32 виртуальными ЦП и 128 ГБ памяти. Вы можете отслеживать использование ЦП и памяти виртуальной машины среды выполнения интеграции во время переноса данных, чтобы узнать, нужно ли увеличить масштаб виртуальной машины для повышения производительности или уменьшить его, чтобы сократить затраты.
- Кроме того, можно масштабировать, связав до четырех узлов ВМ с одной самостоятельно хостируемой IR. Одно задание копирования, выполняемое в локальной среде IR, автоматически секционирует набор файлов и использует все узлы виртуальной машины для параллельного копирования файлов. Для обеспечения высокой доступности рекомендуется начать с двух узлов виртуальной машины, чтобы избежать единой точки сбоя во время миграции данных.
Ограничение скорости
Как наилучшую практику, проведите тест производительности (POC) с репрезентативным образцом набора данных, чтобы можно было определить подходящий размер раздела.
Начните с одного раздела и одного действия копирования с настройками единиц интеграции данных по умолчанию. Постепенно увеличивайте количество единиц интеграции данных, пока не будет достигнуто ограничение пропускной способности вашей сети, либо ограничение IOPS/пропускной способности хранилищ данных, или максимальное количество (256) единиц интеграции данных, разрешенное для одного действия копирования.
Затем постепенно увеличивайте количество одновременных операций копирования, пока не будет достигнут предел возможностей вашей среды.
При возникновении ошибок, связанных с ограничением пропускной способности, о которых сообщает ADF при выполнении копирования, уменьшите степень параллелизма или настройку DIU в ADF либо увеличьте предельную пропускную способность и скорость ввода-вывода сети и хранилищ данных.
Оценка цены
Примечание.
Это гипотетический пример цен. Ваша фактическая цена зависит от фактической пропускной способности в вашей среде.
Рассмотрим следующий конвейер, созданный для переноса данных из S3 в Хранилище BLOB-объектов Azure:
Предположим следующее.
- Общий объем данных составляет 2 ПБ.
- Перенос данных по протоколу HTTPS с использованием первой архитектуры решения.
- 2 PB разделены на 1 КБ секций, и каждая копия перемещает одну секцию
- Для каждой копии устанавливается DIU=256 и достигается пропускная способность 1 ГБ/с.
- Степень параллелизма ForEach имеет значение 2, а суммарная пропускная способность — 2 Гбит/с
- В итоге для завершения переноса потребуется 292 часа.
Ниже приведена оценка цены на основе приведенных выше предположений:
Дополнительная справка
- Соединитель Amazon Simple Storage Service
- коннектор Хранилище BLOB-объектов Azure
- Azure Data Lake Storage 2-го поколения соединитель
- Руководство по настройке производительности копировальной операции
- Создание и настройка локального Integration Runtime
- Высокая доступность и масштабируемость самостоятельно размещённой среды выполнения интеграции
- Вопросы безопасности при перемещении данных
- Храните учетные данные в Azure Key Vault
- Поэтапное копирование файлов на основе имен файлов, разделенных по времени
- Копирование новых и измененных файлов на основе LastModifiedDate
- Страница цен на Azure Data Factory
Шаблон
Вот шаблон для начала переноса петабайт данных, содержащих сотни миллионов файлов, из Amazon S3 в Azure Data Lake Storage 2-го поколения.