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:
- Voorstelling
- 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.
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 Connect 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:
- 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:
- In deze architectuur wordt gegevensmigratie uitgevoerd via een privé-peeringkoppeling tussen AWS Direct Connect 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
- Als u zich wilt verifiëren bij een Amazon S3-account, moet u de toegangssleutel voor het IAM-account gebruiken.
- Er worden meerdere verificatietypen ondersteund om verbinding te maken met Azure Blob Storage. Het gebruik van beheerde identiteiten voor Azure-resources wordt ten zeerste aanbevolen: gebouwd op basis van een automatisch beheerde ADF-identificatie in Microsoft Entra-id, kunt u pijplijnen configureren zonder referenties op te geven in de definitie van de gekoppelde service. U kunt zich ook verifiëren bij Azure Blob Storage met behulp van service-principal, handtekening voor gedeelde toegang of sleutel voor opslagaccounts.
- Er worden ook meerdere verificatietypen ondersteund om verbinding te maken met Azure Data Lake Storage Gen2. Het gebruik van beheerde identiteiten voor Azure-resources wordt ten zeerste aanbevolen, hoewel service-principal of opslagaccountsleutel ook kan worden gebruikt.
- Wanneer u geen beheerde identiteiten gebruikt voor Azure-resources, wordt het opslaan van de referenties in Azure Key Vault ten zeerste aanbevolen om het eenvoudiger te maken om sleutels centraal te beheren en te roteren zonder gekoppelde ADF-services te wijzigen. Dit is ook een van de aanbevolen procedures voor CI/CD.
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 presterende manier om nieuwe of gewijzigde bestanden van AWS S3 te identificeren, is door gebruik te maken van de naamconventie voor gepartitioneerde tijd. 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:
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:
Aanvullende naslaginformatie
- Amazon Simple Storage Service-connector
- Azure Blob Storage-connector
- Azure Data Lake Storage Gen2-connector
- handleiding voor het afstemmen van Copy-activiteit prestaties
- Zelf-hostende Integration Runtime maken en configureren
- Zelf-hostende Integration Runtime HA en schaalbaarheid
- Beveiligingsoverwegingen voor gegevensverplaatsing
- Referenties opslaan in Azure Key Vault
- Bestand incrementeel kopiëren op basis van de tijdpartitiebestandsnaam
- Nieuwe en gewijzigde bestanden kopiëren op basis van LastModifiedDate
- Pagina met ADF-prijzen
Template
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.