Azure Data Factory gebruiken om gegevens te migreren van Amazon S3 naar Azure Storage

VAN TOEPASSING OP: Azure Data Factory Azure Synapse Analytics

Tip

Probeer Data Factory uit in Microsoft Fabric, een alles-in-één analyseoplossing voor ondernemingen. Microsoft Fabric omvat alles, van gegevensverplaatsing tot gegevenswetenschap, realtime analyses, business intelligence en rapportage. Meer informatie over het gratis starten van een nieuwe proefversie .

Azure Data Factory biedt een krachtig, robuust en rendabel mechanisme voor het migreren van gegevens op schaal van Amazon S3 naar Azure Blob Storage of Azure Data Lake Storage Gen2. Dit artikel bevat de volgende informatie voor data engineers en ontwikkelaars:

  • Prestaties
  • Tolerantie voor kopiëren
  • Netwerkbeveiliging
  • Oplossingsarchitectuur op hoog niveau
  • Best practices voor implementatie

Prestaties

ADF biedt een serverloze architectuur waarmee parallelle uitvoering op verschillende niveaus mogelijk is, waardoor ontwikkelaars pijplijnen kunnen bouwen om volledig gebruik te maken van uw netwerkbandbreedte en opslag-IOPS en bandbreedte om de doorvoer van gegevensverplaatsing voor uw omgeving te maximaliseren.

Klanten hebben petabytes aan gegevens gemigreerd die bestaan uit honderden miljoenen bestanden van Amazon S3 naar Azure Blob Storage, met een duurzame doorvoer van 2 GBps en hoger.

Diagram shows several file partitions in an A W S S3 store with associated copy actions to Azure Blob Storage A D L S Gen2.

In de bovenstaande afbeelding ziet u hoe u grote snelheid voor gegevensverplaatsing kunt bereiken door verschillende niveaus van parallelle uitvoering:

  • Eén kopieeractiviteit kan profiteren van schaalbare rekenresources: wanneer u Azure Integration Runtime gebruikt, kunt u maximaal 256 DIU's opgeven voor elke kopieeractiviteit op een serverloze manier. Wanneer u zelf-hostende Integration Runtime gebruikt, kunt u de machine handmatig omhoog schalen of uitschalen naar meerdere computers (maximaal vier knooppunten) en één kopieeractiviteit zal de bestandsset partitioneren op alle knooppunten.
  • Eén kopieeractiviteit leest van en schrijft naar het gegevensarchief met behulp van meerdere threads.
  • ADF-controlestroom kan meerdere kopieeractiviteiten parallel starten, bijvoorbeeld met behulp van voor elke lus.

Flexibiliteit

Binnen één uitvoering van een kopieeractiviteit heeft ADF een ingebouwd mechanisme voor opnieuw proberen, zodat het een bepaald niveau van tijdelijke fouten in de gegevensarchieven of in het onderliggende netwerk kan verwerken.

Bij het kopiëren van binaire bestanden van S3 naar Blob en van S3 naar ADLS Gen2, voert ADF automatisch controlepunten uit. Als een uitvoering van een kopieeractiviteit is mislukt of een time-out heeft opgetreden, wordt bij een volgende nieuwe poging de kopie hervat vanaf het laatste foutpunt in plaats van vanaf het begin te beginnen.

Netwerkbeveiliging

Standaard draagt ADF gegevens van Amazon S3 over naar Azure Blob Storage of Azure Data Lake Storage Gen2 met behulp van een versleutelde verbinding via het HTTPS-protocol. HTTPS biedt gegevensversleuteling tijdens overdracht en voorkomt afluisteren en man-in-the-middle-aanvallen.

Als u niet wilt dat gegevens via openbaar internet worden overgedragen, kunt u ook een hogere beveiliging bereiken door gegevens over te dragen via een privé-peeringkoppeling tussen AWS Direct Verbinding maken en Azure Express Route. Raadpleeg de oplossingsarchitectuur in de volgende sectie over hoe dit kan worden bereikt.

Architectuur voor de oplossing

Gegevens migreren via openbaar internet:

Diagram shows migration over the Internet by H T T P from an A W S S3 store through Azure Integration Runtime in A D F Azure to Azure Storage. The runtime has a control channel with Data Factory.

  • In deze architectuur worden gegevens veilig overgedragen met behulp van HTTPS via openbaar internet.
  • Zowel de bron Amazon S3 als de doel-Azure Blob Storage of Azure Data Lake Storage Gen2 zijn geconfigureerd om verkeer van alle IP-adressen van het netwerk toe te staan. Raadpleeg de tweede architectuur waarnaar verderop op deze pagina wordt verwezen over hoe u de netwerktoegang tot een specifiek IP-bereik kunt beperken.
  • U kunt de hoeveelheid pk op serverloze wijze eenvoudig omhoog schalen om uw netwerk- en opslagbandbreedte volledig te gebruiken, zodat u de beste doorvoer voor uw omgeving kunt krijgen.
  • Zowel de eerste momentopnamemigratie als de deltagegevensmigratie kunnen worden bereikt met behulp van deze architectuur.

Gegevens migreren via een privékoppeling:

Diagram shows migration over a private peering connection from an A W S S3 store through self-hosted integration runtime on Azure virtual machines to V Net service endpoints to Azure Storage. The runtime has a control channel with Data Factory.

  • In deze architectuur wordt gegevensmigratie uitgevoerd via een privépeeringskoppeling tussen AWS Direct Verbinding maken en Azure Express Route, zodat gegevens nooit via openbaar internet worden doorkruist. Hiervoor is het gebruik van AWS VPC en het virtuele Azure-netwerk vereist.
  • U moet zelf-hostende Integration Runtime van ADF installeren op een Windows-VM in uw virtuele Azure-netwerk om deze architectuur te bereiken. U kunt uw zelf-hostende IR-VM's handmatig omhoog schalen of uitschalen naar meerdere VM's (maximaal vier knooppunten) om volledig gebruik te maken van uw netwerk- en opslag-IOPS/bandbreedte.
  • Zowel de eerste momentopnamegegevensmigratie als deltagegevensmigratie kunnen worden bereikt met behulp van deze architectuur.

Best practices voor implementatie

Verificatie- en referentiebeheer

Eerste momentopnamegegevensmigratie

Gegevenspartitie wordt aanbevolen, met name bij het migreren van meer dan 100 TB aan gegevens. Als u de gegevens wilt partitioneren, gebruikt u de instelling voorvoegsel om de mappen en bestanden in Amazon S3 op naam te filteren. Vervolgens kan elke ADF-kopieertaak één partitie tegelijk kopiëren. U kunt meerdere ADF-kopieertaken gelijktijdig uitvoeren voor betere doorvoer.

Als een van de kopieertaken mislukt vanwege een tijdelijk probleem met het netwerk of gegevensarchief, kunt u de mislukte kopieertaak opnieuw uitvoeren om die specifieke partitie opnieuw te laden vanuit AWS S3. Alle andere kopieertaken die andere partities laden, worden niet beïnvloed.

Delta-gegevensmigratie

De meest krachtige manier om nieuwe of gewijzigde bestanden van AWS S3 te identificeren, is door gebruik te maken van de naamconventie met tijdpartitionering: wanneer uw gegevens in AWS S3 zijn gepartitioneerd met tijdssegmentinformatie in de naam van het bestand of de map (bijvoorbeeld /jjjj/mm/dd/file.csv), kan uw pijplijn eenvoudig identificeren welke bestanden/mappen u incrementeel wilt kopiëren.

Als uw gegevens in AWS S3 geen tijd zijn gepartitioneerd, kan ADF nieuwe of gewijzigde bestanden identificeren op basis van hun LastModifiedDate. De manier waarop het werkt, is dat ADF alle bestanden van AWS S3 scant en alleen het nieuwe en bijgewerkte bestand kopieert waarvan de tijdstempel voor het laatst is gewijzigd groter is dan een bepaalde waarde. Als u een groot aantal bestanden in S3 hebt, kan het initiële scannen van bestanden lang duren, ongeacht het aantal bestanden dat overeenkomt met de filtervoorwaarde. In dit geval wordt u aangeraden eerst de gegevens te partitioneren met dezelfde instelling voor het voorvoegsel voor de eerste momentopnamemigratie, zodat het scannen van bestanden parallel kan plaatsvinden.

Voor scenario's waarvoor zelf-hostende Integration Runtime op Azure VM is vereist

Of u nu gegevens migreert via private link of u wilt een specifiek IP-bereik toestaan op amazon S3-firewall, u moet zelf-hostende Integration Runtime installeren op azure Windows-VM.

  • De aanbevolen configuratie om te beginnen voor elke Azure-VM is Standard_D32s_v3 met 32 vCPU en 128 GB geheugen. U kunt het CPU- en geheugengebruik van de IR-VM tijdens de gegevensmigratie blijven bewaken om te zien of u de VIRTUELE machine verder moet schalen voor betere prestaties of de VM omlaag moet schalen om kosten te besparen.
  • U kunt ook uitschalen door maximaal vier VM-knooppunten te koppelen aan één zelf-hostende IR. Met één kopieertaak die wordt uitgevoerd op een zelf-hostende IR, wordt de bestandsset automatisch gepartitioneerd en worden alle VM-knooppunten gebruikt om de bestanden parallel te kopiëren. Voor hoge beschikbaarheid kunt u het beste beginnen met twee VM-knooppunten om single point of failure tijdens de gegevensmigratie te voorkomen.

Snelheidsbeperking

Als best practice voert u een prestatie-POC uit met een representatieve voorbeeldgegevensset, zodat u de juiste partitiegrootte kunt bepalen.

Begin met één partitie en één kopieeractiviteit met standaard-DIU-instelling. Verhoog geleidelijk de DIU-instelling totdat u de bandbreedtelimiet van uw netwerk of IOPS/bandbreedtelimiet van de gegevensarchieven bereikt, of u hebt de maximaal 256 DIU bereikt die is toegestaan voor één kopieeractiviteit.

Verhoog vervolgens geleidelijk het aantal gelijktijdige kopieeractiviteiten totdat u de limieten van uw omgeving bereikt.

Wanneer u beperkingsfouten ondervindt die zijn gerapporteerd door ADF-kopieeractiviteit, vermindert u de gelijktijdigheid of DIU-instelling in ADF, of kunt u overwegen de bandbreedte/IOPS-limieten van het netwerk en de gegevensarchieven te verhogen.

Prijs schatten

Notitie

Dit is een hypothetisch prijsvoorbeeld. De werkelijke prijzen zijn afhankelijk van de werkelijke doorvoer in uw omgeving.

Overweeg de volgende pijplijn die is samengesteld voor het migreren van gegevens van S3 naar Azure Blob Storage:

Diagram shows a pipeline for migrating data, with manual trigger flowing to Lookup, flowing to ForEach, flowing to a sub-pipeline for each partition that contains Copy flowing to Stored Procedure. Outside the pipeline, Stored Procedure flows to Azure SQL D B, which flows to Lookup and A W S S3 flows to Copy, which flows to Blob storage.

Laten we uitgaan van het volgende:

  • Totaal gegevensvolume is 2 PB
  • Gegevens migreren via HTTPS met behulp van de eerste oplossingsarchitectuur
  • 2 PB is onderverdeeld in 1 KB-partities en elke kopie verplaatst één partitie
  • Elke kopie is geconfigureerd met DIU=256 en bereikt 1 GBps-doorvoer
  • ForEach-gelijktijdigheid is ingesteld op 2 en geaggregeerde doorvoer is 2 GBps
  • In totaal duurt het 292 uur om de migratie te voltooien

Dit is de geschatte prijs op basis van de bovenstaande veronderstellingen:

Screenshot of a table shows an estimated price.

Aanvullende naslaginformatie

Sjabloon

Hier volgt de sjabloon om te beginnen met het migreren van petabytes aan gegevens die bestaan uit honderden miljoenen bestanden van Amazon S3 naar Azure Data Lake Storage Gen2.