Alkalmazásmigrálás

Befejeződött

Miután migrálta az adatbázist a helyszínről az Azure-ba, frissítenie kell a meglévő alkalmazásokat, hogy az új helyen férhessenek hozzá a MySQL-hez.

Az eredeti helyszíni kiszolgáló és adatbázis olyan szerepköröket fog tartalmazni, amelyek meghatározzák a felhasználókhoz társított jogosultságokat, az általuk elvégezhető műveleteket és azokat az objektumokat, amelyeket végrehajtanak ezeken a műveleteken. Az Azure Database for MySQL ugyanazokat a hitelesítési és engedélyezési mechanizmusokat használja, mint a helyszínen futó PostgreSQL.

Ebben a leckében megismerkedhet az alkalmazásokkal az újonnan migrált Azure Database for MySQL-hez való csatlakozáshoz szükséges frissítésekkel.

A felhasználók manuális létrehozása

Az eredeti helyszíni kiszolgáló és adatbázis tartalmazni fogja a felhasználókat, az általuk végrehajtott műveleteket és azokat az objektumokat, amelyeken végrehajtják ezeket a műveleteket. Az Azure Database for MySQL ugyanazokat a hitelesítési és engedélyezési mechanizmusokat használja, mint a helyszíni MySQL.

Amikor mySQL-adatbázist ad át az Azure Database for MySQL-be az Azure Database Migration Service használatával, a rendszer nem másolja át a felhasználókat. Manuálisan újra létre kell hoznia a szükséges felhasználói fiókokat a céladatbázis rendszergazdájának és felhasználóinak. Ezekhez a feladatokhoz az SQL-nyelvet vagy egy olyan segédprogramot kell használnia, mint a MySQL Workbench. Run the CREATE USER command. A parancs használatával GRANT hozzárendelheti a szükséges jogosultságokat egy felhasználóhoz. Például:

CREATE USER 'myuseraccount'@'%' IDENTIFIED BY 'mY!P@ss0rd';
GRANT ALL PRIVILEGES ON DATABASE [Database Name].* TO myuseraccount;
FLUSH PRIVILEGES;

A helyszíni adatbázisban meglévő támogatások megtekintéséhez futtassa a következő SQL-utasítást:

USE [Database Name];

SHOW GRANTS FOR 'myuseraccount'@'%';;

Alkalmazások újrakonfigurálását

Egy alkalmazás újrakonfigurálása az Azure Database for MySQL-hez való csatlakozáshoz egyszerű folyamat. Fontos azonban, hogy kidolgozza az alkalmazások migrálására vonatkozó stratégiát.

Szempontok a MySQL-alkalmazások újrakonfigurálásakor

Vállalati környezetben előfordulhat, hogy számos alkalmazás fut ugyanazon MySQL-adatbázisokon. Nagy számú felhasználó futtathatja ezeket az alkalmazásokat. Biztos lehet abban, hogy amikor a meglévő rendszerről az Azure Database for MySQL-re vált, a rendszerek továbbra is működni fognak, a felhasználók továbbra is elvégezhetik a munkájukat, és az üzleti szempontból kritikus műveletek továbbra is működőképesek maradnak. Az 1. modul, a 2. lecke, a migrálással kapcsolatos szempontok általánosan tárgyaltak számos problémát.

MySQL-adatbázis Azure-ba való migrálásakor figyelembe kell venni néhány konkrétumot:

  • Ha offline migrálást végez, az eredeti MySQL-adatbázisban és az Azure-ban futó új adatbázisok adatai gyorsan el fognak térni, ha a régi adatbázist még mindig használják. Az offline migrálás akkor megfelelő, ha egy rendszert egy rövid időre teljesen üzemen kívül tart, majd az újrakezdés előtt az összes alkalmazást az új rendszerre váltja. Ez a megközelítés üzleti szempontból kritikus rendszer esetén nem lehetséges. Ha Azure-beli virtuális gépen futó MySQL-re migrál, konfigurálhatja a MySQL-replikációt a helyszíni rendszer és az Azure-ban futó között. A natív MySQL-replikáció csak egy irányban működik, de olyan külső megoldások érhetők el, amelyek támogatják a MySQL-kiszolgálók közötti kétirányú replikációt. Ezek a megoldások nem működnek az Azure Database for MySQL-ben.
  • Ha online migrálást végez, az Azure Database for MySQL szolgáltatás replikációt állít be a helyszíni adatbázisból az Azure-ban futó adatbázisba. A kezdeti adatátvitel után a replikáció biztosítja, hogy a helyszíni adatbázisban végrehajtott módosítások át legyenek másolva az Azure-beli adatbázisba, de fordítva nem.

Mindkét esetben gondoskodnia kell arról, hogy ne veszítse el az élő adatokat véletlen felülírás miatt. Az online forgatókönyvben például az Azure Database for MySQL-ben futó adatbázishoz csatlakoztatott alkalmazások módosításait vakon felülírhatja egy, a helyszíni adatbázist használó alkalmazás. Ezért a következő megközelítéseket kell figyelembe vennie:

  • Alkalmazások migrálása a számítási feladatok típusa alapján. Egy olyan alkalmazás, amely csak olvasás céljából fér hozzá az adatokhoz, biztonságosan áthelyezheti az Azure Database for MySQL-ben futó adatbázist, és látni fogja a helyszíni adatbázist használó alkalmazások által végzett összes módosítást. Akkor is alkalmazhatja a converse stratégiát, ha az írásvédett alkalmazások nem igényelnek teljes mértékben naprakész adatokat.
  • A felhasználók migrálása a számítási feladat típusa alapján. Ez a stratégia hasonló az előzőhöz, azzal a kivételsel, hogy lehetnek olyan felhasználói, akik csak jelentéseket hoznak létre, míg mások módosítják az adatokat. Ugyanazt az alkalmazást konfigurálhatja, hogy a felhasználó igényeinek megfelelően csatlakozzon a megfelelő adatbázishoz.
  • Alkalmazások migrálása az általuk használt adathalmazok alapján. Ha a különböző alkalmazások az adatok különböző részhalmazait használják, előfordulhat, hogy ezeket az alkalmazásokat egymástól függetlenül is áttelepítheti.

Alkalmazás újrakonfigurálása

Egy alkalmazás újrakonfigurálásához az új adatbázisra kell mutatnia. A legtöbb jól megírt alkalmazásnak el kell különítenie a kapcsolati logikát – ez lehet a kód egyetlen olyan része, amely módosítást igényel. A kapcsolati adatok sok esetben konfigurációs információként tárolhatók, ezért csak frissítenie kell ezeket az információkat.

Az Azure Database for MySQL szolgáltatás kapcsolati adatait az Azure Portalon, az Azure Database for MySQL szolgáltatás Csatlakozás ion sztringek lapján találja. Az Azure számos gyakori programozási nyelvhez és keretrendszerhez nyújt információt.

Image showing the Connection strings page for Azure Database for MySQL item in the Azure portal

Hálózati portok megnyitása

A modul 1. leckéjében leírtak szerint az Azure Database for MySQL egy tűzfal mögött futó védett szolgáltatás. Az ügyfelek csak akkor tudnak csatlakozni, ha a szolgáltatás nem ismeri fel az IP-címüket. Hozzá kell adnia az IP-címeket vagy a címblokktartományokat azokhoz az ügyfelekhez, amelyek olyan alkalmazásokat futtatnak, amelyeknek csatlakozniuk kell az adatbázisaihoz.

Alkalmazások tesztelése és ellenőrzése

Mielőtt az új adatbázisra váltana az alkalmazások és a felhasználók között, fontos, hogy mindent megfelelően konfiguráljon.

Kezdje a "szárazon futó" alkalmazásokkal, és csatlakozzon mindegyik szerepkörhöz, hogy a megfelelő funkciók elérhetők legyenek.

Ezután végezze el az "áztatási teszteket" a tipikus számítási feladatokat egyszerre, egy ideig egyszerre futtató felhasználók számának utánzásához. Monitorozza a rendszert, és ellenőrizze, hogy elegendő erőforrást foglalt-e le az Azure Database for MySQL szolgáltatáshoz.

Most már megkezdheti a rendszer bevezetésének megkezdését a felhasználók számára. Hasznos lehet a "kanári-tesztelés" valamilyen formájának implementálása, ahol a felhasználók egy kis része nem tud a rendszerről. Ez elfogulatlan véleményt ad arról, hogy a felhasználók ugyanazt, jobbat vagy rosszabbat tapasztalnak-e az új adatbázissal kapcsolatban.