Sovelluksen siirto

Valmis

Kun olet siirtänyt tietokannan paikallisesta Azureen, sinun on päivitettävä aiemmin luodut sovelluksesi, jotta ne voivat käyttää PostgreSQL:ää uudessa sijainnissaan.

Alkuperäinen paikallinen palvelin ja tietokanta sisältävät rooleja, jotka määrittävät käyttäjiin liittyvät oikeudet, toiminnot, joita he voivat tehdä, ja objekteja, joissa he suorittavat nämä toiminnot. Azure Database for PostgreSQL käyttää samoja todennus- ja valtuutusmekanismeja kuin paikallisesti suoritettava PostgreSQL.

Tässä osassa tutustut päivityksiin, jotka sinun on tehtävä sovelluksiisi, jotta voit muodostaa yhteyden äskettäin siirrettyyn Azure Database for PostgreSQL:ään.

Käyttäjäroolien luominen manuaalisesti

Kun siirrät PostgreSQL-tietokannan Azure Database for PostgreSQL:ään Azure Database Migration Servicen avulla, rooleja ja roolimäärityksiä ei kopioida. Sinun on luotava manuaalisesti uudelleen tarvittavat roolit ja käyttäjätilit kohdetietokannan taulukoiden järjestelmänvalvojalle ja käyttäjille. Näiden tehtävien suorittamiseen käytetään psql- tai pgAdmin-apuohjelmia. CREATE ROLE Suorita komento. Komennon avulla GRANT voit määrittää tarvittavat oikeudet roolille. Esimerkki:

CREATE ROLE myuseraccount WITH LOGIN NOSUPERUSER CREATEDB PASSWORD 'mY!P@ss0rd';
GRANT ALL PRIVILEGES ON DATABASE mydatabase TO myuseraccount;

Huomautus

Voit myös luoda PostgreSQL-rooleja bash-kehotteen createuser komennolla.

Jos haluat tarkastella paikallisen tietokannan aiemmin luotuja rooleja, suorita seuraava SQL-lauseke:

SELECT rolname
FROM pg_roles;

Voit käyttää psql-apuohjelman \du-komentoa näyttääksesi rooleille määritetyt oikeudet.

                              List of roles
   Role name   |               Attributes                                   | Member of
---------------+------------------------------------------------------------+-----------
 azureuser     | Superuser, Create DB                                       | {}
 myuseraccount | Create DB                                                  | {}
 postgres      | Superuser, Create role, Create DB, Replication, Bypass RLS | {}

Huomautus

Huomaa, että Azure Database for PostgreSQL lisää joitakin omia roolejaan. Näitä rooleja ovat azure_pg_admin, azure_superuserja järjestelmänvalvojan käyttäjä, jonka määritit palvelun luomisen yhteydessä. Kirjaudut sisään järjestelmänvalvojatileilläsi, mutta kaksi muuta roolia on varattu Azuren käyttöön – sinun ei pitäisi yrittää käyttää niitä.

Määritä sovellukset uudelleen

Sovelluksen määrittäminen uudelleen muodostamaan yhteys Azure Database for PostgreSQL:ään on yksinkertainen prosessi. On kuitenkin tärkeämpää määrittää siirtosovellusten strategia.

Huomioitavaa PostgreSQL-sovellusten uudelleenmäärityksessä

Yritysympäristössä voi olla useita sovelluksia, jotka toimivat samoissa PostgreSQL-tietokannoissa. Näitä sovelluksia voi suorittaa suuri määrä käyttäjiä. Haluat olla varma, että kun vaihdat olemassa olevasta järjestelmästä Azure Database for PostgreSQL:ään, järjestelmäsi toimivat edelleen, käyttäjät voivat jatkaa työnsä tekemistä ja liiketoiminnan kannalta kriittiset toiminnot pysyvät toiminnassa. Moduulissa 1, oppitunnilla 2 siirtymisessä huomioitavat asiat, keskusteltiin monista yleisistä ongelmista. Kun siirrät PostgreSQL-tietokannan Azureen, huomioi seuraavat seikat:

  • Jos suoritat offline-siirron, alkuperäisen PostgreSQL-tietokannan ja Azuressa suoritettavien uusien tietokantojen tiedot voivat alkaa poiketa toisistaan nopeasti, jos vanhaa tietokantaa käytetään edelleen. Offline-siirto sopii, kun poistat järjestelmän kokonaan käytöstä hetkeksi ja vaihdat sitten kaikki sovellukset uuteen järjestelmään ennen uudelleenkäynnistystä. Tämä lähestymistapa ei ehkä ole mahdollinen liiketoiminnan kannalta tärkeässä järjestelmässä. Jos olet siirtymässä Azure-näennäiskoneessa suoritettavaan PostgreSQL:ään, määrität PostgreSQL-replikoinnin paikallisen järjestelmän ja Azuressa käynnissä olevan järjestelmän välillä. Alkuperäinen PostgreSQL-replikointi toimii vain yhteen suuntaan, mutta saatavilla on kolmannen osapuolen ratkaisuja, jotka tukevat kaksisuuntaista replikointia PostgreSQL-palvelimien välillä (nämä ratkaisut eivät toimi Azure Database for PostgreSQL:n kanssa).
  • Jos suoritat online-siirron, Azure Database for PostgreSQL -palvelu määrittää replikoinnin paikallisesta tietokannasta Azuressa suoritettavaan tietokantaan. Alkuperäisen tiedonsiirron jälkeen replikointi varmistaa, että paikalliseen tietokantaan tehdyt muutokset kopioidaan Azure-tietokantaan, mutta ei päinvastoin.

Varmista kummassakin tapauksessa, että et menetä reaaliaikaisia tietoja vahingossa suoritettavan korvaamisen takia. Esimerkiksi online-skenaariossa Azure Database for PostgreSQL:ssä suoritettavaan tietokantaan yhdistetyn sovelluksen muutokset voidaan korvata sokeasti paikallista tietokantaa edelleen käyttävällä sovelluksella. Tätä silmällä pitäen sinun tulee harkita seuraavia lähestymistapoja:

  • Sovellusten siirtäminen niiden kuormitustyypin mukaan. Sovellus, joka käyttää tietoja vain lukua varten, voi siirtyä turvallisesti Azure Database for PostgreSQL:ssä suoritettavaan tietokantaan, ja se näkee kaikki paikallista tietokantaa edelleen käyttävien sovellusten tekemät muutokset. Voit myös käyttää käänteistä strategiaa, jos vain luku -sovellukset eivät edellytä täysin up-to-päivämäärätietoja.
  • Käyttäjien siirtäminen kuormitustyypin mukaan. Tämä strategia on samanlainen kuin edellinen, paitsi että sinulla voi olla käyttäjiä, jotka luovat vain raportteja, kun taas toiset muokkaavat tietoja. Sinulla voi olla sama sovellus, joka on määritetty muodostamaan yhteys asianmukaiseen tietokantaan käyttäjän vaatimusten mukaisesti.
  • Siirrä sovellukset niiden käyttämien tietojoukkojen perusteella. Jos eri sovellukset käyttävät tietojen eri osajoukkoja, voit ehkä siirtää nämä sovellukset toisistaan riippumatta.

Sovelluksen määrittäminen uudelleen

Jos haluat määrittää sovelluksen uudelleen, osoita se uuteen tietokantaan. Useimmat hyvin kirjoitetut sovellukset eristävät yhteyslogiikan, ja tämän pitäisi olla ainoa koodin osa, jota on muutettava. Monissa tapauksissa yhteystiedot voidaan tallentaa määritystietoina – sinun tarvitsee vain päivittää nämä tiedot.

Löydät Azure Database for PostgreSQL -palvelun yhteystiedot Azure-portaalin palvelusi Yhteysmerkkijonot-sivulta . Azure tarjoaa tietoa monista yleisistä ohjelmointikielistä ja -kehyksistä.

Kuva, jossa näkyy Azure Database for PostgreSQL -kohteen Yhteysmerkkijonot-sivu Azure-portaalissa

Avaa verkkoportit

Kuten tämän moduulin oppitunnilla 1 mainittiin, Azure Database for PostgreSQL on suojattu palvelu, joka toimii palomuurin takana. Asiakkaat eivät voi muodostaa yhteyttä, ellei palvelu tunnista heidän IP-osoitettaan. Sinun on lisättävä IP-osoitteet tai osoitelohkoalueet asiakkaille, jotka käyttävät sovelluksia, joiden on muodostettava yhteys tietokantoihin.

Sovellusten testaaminen ja tarkistaminen

Ennen kuin vaihdat sovellukset ja käyttäjät uuteen tietokantaan, on tärkeää varmistaa, että olet määrittänyt kaiken oikein.

Aloita "kuivakäynnillä" sovelluksia ja yhdistä jokainen rooli varmistaaksesi, että oikeat toiminnot ovat käytettävissä.

Suorita seuraavaksi "liotustestit", jotta voit jäljitellä tyypillistä niiden käyttäjien määrää, jotka suorittavat edustavia työkuormia samanaikaisesti tietyn ajanjakson ajan. Valvo järjestelmää ja varmista, että olet varannut riittävästi resursseja Azure Database for PostgreSQL -palveluun.

Tässä vaiheessa voit aloittaa järjestelmän käyttöönoton käyttäjille. Voisi olla hyödyllistä panna käyttöön jonkinlainen "kanarialintutesti", jossa pieni osa käyttäjistä siirretään järjestelmään tietämättään. Tämä antaa sinulle puolueettoman mielipiteen siitä, onko käyttäjillä sama, parempi vai huonompi kokemus uuden tietokannan kanssa.