MySQL on-premises migreren naar Azure Database for MySQL: Planning
VAN TOEPASSING OP: Azure Database for MySQL - Enkele server Azure Database for MySQL - Flexibele server
Vereisten
Landzone
Een Azure-landingszone is de doelomgeving die is gedefinieerd als de laatste rustplaats van een cloudmigratieproject. In de meeste projecten moet de landingszone worden gescript via ARM-sjablonen voor de eerste installatie. Ten slotte moet deze worden aangepast met PowerShell of Azure Portal om aan de behoeften van de workloads te voldoen.
Omdat WWI is gebaseerd in San Francisco, zijn alle resources voor de Azure-landingszone gemaakt in de US West 2
regio. De volgende resources zijn gemaakt ter ondersteuning van de migratie:
Azure Virtual Network met hub- en spoke-ontwerp met bijbehorende peerings voor virtuele netwerken tot stand brengen.
Privé-eindpunten voor het App Services- en MySQL-exemplaar
Notitie
Als onderdeel van deze handleiding zijn twee ARM-sjablonen (één met privé-eindpunten, één zonder) opgegeven om een potentiële Azure-landingszone te implementeren voor een MySQL-migratieproject. De ARM-sjabloon voor privé-eindpunten biedt een veiligere en productie-achtige scenario. Er kan aanvullende handmatige configuratie van de Azure-landingszone nodig zijn, afhankelijk van de vereisten.
Netwerken
Het snel en optimaal ophalen van gegevens van het bronsysteem naar Azure Database for MySQL is een essentieel onderdeel dat u in een migratieproject kunt overwegen. Voor kleine onbetrouwbare verbindingen moeten beheerders de migratie mogelijk meerdere keren opnieuw starten totdat een geslaagd resultaat wordt bereikt. Het opnieuw opstarten van migraties vanwege netwerkproblemen kan leiden tot verspilde inspanningen.
Neem de tijd om de netwerkverbinding tussen de bron-, hulpprogramma- en doelomgevingen te begrijpen en te evalueren. In sommige gevallen kan het handig zijn om de internetverbinding te upgraden of een ExpressRoute-verbinding te configureren van de on-premises omgeving naar Azure. Zodra on-premises naar Azure-connectiviteit is gemaakt, is de volgende stap het valideren dat het geselecteerde migratieprogramma verbinding kan maken van de bron naar het doel.
De locatie van het hulpprogramma voor migratie bepaalt de netwerkverbindingsvereisten. Zoals wordt weergegeven in de onderstaande tabel, moet het geselecteerde migratieprogramma verbinding maken met zowel de on-premises machine als met Azure. Azure moet worden geconfigureerd om alleen netwerkverkeer vanaf de locatie van het migratiehulpprogramma te accepteren.
Hulpprogramma voor migratie | Type | Locatie | Vereisten voor inkomend netwerk | Vereisten voor uitgaand netwerk |
---|---|---|---|---|
Database Migration Service (DMS) | Offline | Azure | 3306 vanaf extern IP-adres toestaan | Een pad om verbinding te maken met het Azure MySQL-database-exemplaar |
Importeren/exporteren (MySQL Workbench, mysqldump) | Offline | On-premises | 3306 vanaf intern IP-adres toestaan | Een pad om verbinding te maken met het Azure MySQL-database-exemplaar |
Importeren/exporteren (MySQL Workbench, mysqldump) | Offline | Azure VM | 3306 vanaf extern IP-adres toestaan | Een pad om verbinding te maken met het Azure MySQL-database-exemplaar |
mydumper/myloader | Offline | On-premises | 3306 vanaf intern IP-adres toestaan | Een pad om verbinding te maken met het Azure MySQL-database-exemplaar |
mydumper/myloader | Offline | Azure VM | 3306 vanaf extern IP-adres toestaan | Een pad om verbinding te maken met het Azure MySQL-database-exemplaar |
binlog | Offline | On-premises | 3306 vanaf extern IP-adres of privé-IP via privé-eindpunten toestaan | Een pad voor elke replicatieserver naar de hoofdserver |
Andere aandachtspunten voor netwerken zijn:
DMS in een VNET krijgt een dynamisch openbaar IP-adres toegewezen aan de service. Tijdens het maken kunt u de service in een virtueel netwerk plaatsen dat verbinding heeft via een ExpressRoute of via een site-naar-site-VPN.
Wanneer u een virtuele Azure-machine gebruikt om de migratiehulpprogramma's uit te voeren, wijst u het een openbaar IP-adres toe en staat u deze vervolgens alleen toe om verbinding te maken met het on-premises MySQL-exemplaar.
Uitgaande firewalls moeten zorgen voor uitgaande connectiviteit met Azure Database for MySQL. De IP-adressen van de MySQL-gateway zijn beschikbaar op de pagina Connectiviteitsarchitectuur in Azure Database for MySQL .
SSL/TLS-connectiviteit
Naast de gevolgen van de migratie naar OP SSL gebaseerde communicatie, zijn de SSL/TLS-verbindingstypen ook iets dat moet worden overwogen. Nadat u de Azure Database for MySQL-database hebt gemaakt, controleert u de SSL-instellingen en leest u de SSL/TLS-connectiviteit in Azure Database for MySQL om te begrijpen hoe de TLS-instellingen van invloed kunnen zijn op het beveiligingspostuur.
Belangrijk
Let op de disclaimer op de pagina. Afdwingen van TLS-versie is niet standaard ingeschakeld. Zodra TLS is ingeschakeld, kunt u dit alleen uitschakelen door SSL opnieuw in te schakelen.
WWI-scenario
Het cloudteam van WWI heeft de benodigde Azure-landingszoneresources gemaakt in een specifieke resourcegroep voor de Azure Database for MySQL. Voor het maken van de landingszone heeft WWI besloten de installatie en implementatie te scripten met behulp van ARM-sjablonen. Met behulp van ARM-sjablonen kunnen ze de omgeving snel afbreken en opnieuw instellen, indien nodig.
Als onderdeel van de ARM-sjabloon worden alle verbindingen tussen virtuele netwerken geconfigureerd met peering in een hub- en spoke-architectuur. De database en toepassing worden in afzonderlijke virtuele netwerken geplaatst. Een Azure-app Gateway wordt vóór de app-service geplaatst, zodat de app-service kan worden geïsoleerd van internet. De Azure-app Service maakt verbinding met Azure Database for MySQL met behulp van een privé-eindpunt.
WWI wilde oorspronkelijk een onlinemigratie testen, maar de vereiste netwerkconfiguratie voor DMS om verbinding te maken met hun on-premises omgeving maakte dit on-premises onmogelijk. WWI heeft ervoor gekozen om in plaats daarvan een offlinemigratie uit te voeren. Het hulpprogramma MySQL Workbench is gebruikt om de on-premises gegevens te exporteren en vervolgens gebruikt om de gegevens te importeren in het Azure Database for MySQL-exemplaar.
Controlelijst plannen
Bereid de Azure-landingszone voor. Overweeg om arm-sjabloonimplementatie te gebruiken als de omgeving snel moet worden afgebroken en opnieuw moet worden opgebouwd.
Controleer de netwerkinstellingen. Verificatie moet bestaan uit: connectiviteit, bandbreedte, latentie en firewallconfiguraties.
Bepaal of u de online- of offlinestrategie voor gegevensmigratie gaat gebruiken.
Beslis over de SSL-certificaatstrategie.