Overfør Arbejdsbelastninger for Linux og PostgreSQL
Dette modul fører dig gennem migreringen af en eksisterende arbejdsbelastning fra et lokalt miljø eller et cloudmiljø til Azure. Den dækker migreringen af beregning til en virtuel Maskine i Azure og dataene til Azure Database for PostgreSQL. Programmet er et cloudagnostisk eksempel, der er et stand-in for alle programmer i den virkelige verden, der er forberedt på migrering til cloudmiljøet.
I dette undermodul udforsker du værdien af at foretage følgende overgange med fordel af en komplet pakke med sikkerheds- og identitetskontrolelementer, som Azure leverer:
- Skift fra et selvværtsmiljø (f.eks. fra en selvadministrert database) til et fuldt administreret databasetilbud
- Skift fra bare metal-beregning til cloud-hostede VM'er
Du kan også udforske fordelene ved at administrere ressourcer i cloudmiljøet fra et omkostnings- og ydeevneperspektiv. Og du får mere at vide om, hvordan du præcist beregner og administrerer omkostninger før og efter udrulning, samt hvordan du optimerer ydeevnen fra både en beregning og et dataperspektiv.
Arbejdsbelastning og data
Vores arbejdsbelastning er et program, der er skrevet i Go og arbejder med data i PostgreSQL. Vores data er et åbent datasæt, der giver dig mulighed for at udforske styrken ved Postgres-platformen og relaterede udvidelser.
Selvom dette program nemt kan køres i en objektbeholder, har interessenterne valgt ikke at gøre det på nuværende tidspunkt. Oprettelse af en objektbeholder, udrulning til en objektbeholderplatform eller brug af objektbeholderorkestrering er i øjeblikket uden for området. Men migrering til objektbeholdere kan være et logisk fremtidigt trin.
Det GitHub-lager, der er knyttet til dette modul, indeholder et program og de relaterede data for dig. Du lærer, hvordan du forbereder dit program og eksporterer dine data for at nå en tilstand, der ligner denne eksempelapp. Du kan også bruge eksempelprogrammet som en skabelon til en udrulning af greenfield.
Hvad er værdien af at migrere denne arbejdsbelastning?
Du undrer dig måske over fordelene ved at overføre denne arbejdsbelastning til cloudmiljøet. Her er nogle af de værditilbud.
Sikkerhed og overholdelse af angivne standarder
Når du føjer arbejdsbelastninger for beregning og data til cloudmiljøet, drager de fordel af øget sikkerhed.
Virtuelle maskiner i Azure drager fordel af en lang række funktioner til sikkerhed og overholdelse af angivne standarder, herunder firewalls, virtuelle netværk, just-in-time VM-adgang, kryptering, rollebaseret adgangskontrol (RBAC) og fortrolig databehandling. Azure Database til PostgreSQL understøtter mange lignende funktioner, f.eks. kryptering med kundeadministrerede nøgler, certificeringer af overholdelseog understøttelse af Microsoft Defender for Cloud-.
Sikkerhed for forbindelser mellem dine virtuelle maskiner og databaser
Når du integrerer en virtuel maskine med Azure Database til PostgreSQL, er det vigtigt, at de kan oprette forbindelse til hinanden på en sikker måde, der reducerer risikoen for tab af data.
Microsoft Entra-godkendelse giver dig mulighed for at oprette forbindelse til Azure Database til PostgreSQL uden traditionelle adgangskoder. Du bruger i stedet Microsoft Entra-identiteter til din programarbejdsbelastning (dvs. administrerede identiteter), brugere og administratorer via deres Microsoft Entra-brugerkonti. Denne fremgangsmåde afhjælper risikoen for, at langvarige legitimationsoplysninger kompromitteres, og at dårlige aktører får adgang til dine data.
Microsoft Entra ID, administrerede identiteter og detaljeret RBAC kan gøre det muligt for din programarbejdsbelastning at få sikker adgang til data og administrere ressourcer i Azure ved at følge princippet om mindst mulige rettigheder.
Adgang til høj ydeevne og omkostningseffektiv beregning på tværs af flere områder
Uanset om du har brug for omkostningseffektiv beregning til udvikling/test eller de nyeste, højeste ydeevne eller største beregningstyper, der er tilgængelige i cloudmiljøet, har Azure et bredt udvalg af beregningsmuligheder for både virtuelle maskiner og Azure Database til PostgreSQL-. Du kan skalere disse indstillinger op og ned efter behov, og de er tilgængelige på tværs af mere end 60 områder i Azure.
Du kan skalere beregning både lodret og vandret, herunder via databasereplikaer og distribuerede indstillinger f.eks. Azure Cosmos DB til PostgreSQL. Azure Cosmos DB til PostgreSQL er en administreret tjeneste til PostgreSQL, der er udvidet med Citus open source-supermagten af distribuerede tabeller. Denne beregning er parret med nogle af de hurtigste cloudlagermuligheder til at tilpasse dine I/O-krav til beregning og lager til din arbejdsbelastning.
Omkostningsstyring og omkostningseffektivitet
Du kan optimere til omkostningsstyring og omkostningseffektivitet på både Linux- og PostgreSQL-siden. Sammenlignet med løsninger i det lokale miljø kan omkostningerne ofte være mere skræddersyede og passende til din situation. Du kan tilpasse størrelsen af din beregning i forhold til en løsning i det lokale miljø. Du kan også nemt administrere hele din flåde for kun at optimere til den beregning og det lager, du har brug for, og kun betale for det, du bruger, i en forbrugsfaktureringsmodel.
Forbrugsfakturering gør det muligt for kunderne at håndtere perioder med høj efterspørgsel uden at skulle betale omkostningerne ved overprovision. Det gør det muligt at migrere hurtigere og mere effektive generationer af beregning, efterhånden som de bliver tilgængelige.
Kunder kan også drage fordel af Azure Hybrid Benefit for at spare på licensomkostninger til specifikke Linux-distributioner. Du kan få mere at vide under virtuelle maskiner til Azure Hybrid Benefit for RHEL (Red Hat Enterprise Linux) og SUSE Linux Enterprise Server (SLES).
Kunder kan også reducere omkostningerne (op til 72 % sammenlignet med priser efter forbrug) med et-års eller tre-års vilkår for virtuelle maskiner og Azure Reserved Virtual Machine Instances. Du kan finde flere oplysninger under Sådan anvendes Azure-reservationsrabatten på virtuelle maskiner. Azure-priser er gennemsigtige og forudsigelige, og du kan bruge Azure-prisberegneren til at estimere dine omkostninger, før du udruller.
Dag 2-handlinger
dag 2 handlinger til udrullede programmer (f.eks. triage, overvågning, sikkerhedsrettelse, sikkerhedskopier og it-katastrofeberedskab) bliver mere effektive gennem automatisering og muligheden for at opgradere med muligvis nul nedetid. Derudover kan du administrere din infrastruktur fra ende til anden med branchestandardværktøjskæde.
Før du begynder
Dette modul er designet til at hjælpe dig med at overføre en eksisterende Linux- og PostgreSQL-arbejdsbelastning til Azure. Den fokuserer dog ikke på, hvordan du eksporterer dataene fra din kildedatabase, eller hvordan du forbereder programmet til migrering. En af grundene til denne fremgangsmåde er, at du kan overføre mange typer kildedatabaser og -programmer, og processen for hver type er entydig.
Dette modul giver dig et eksempelprogram, Postgres-data, binære filer og infrastruktur som kode, som du kan bruge til at simulere overførselsprocessen. Når du har fuldført den simulerede migrering, kan du bruge den viden, du har fået, til at anvende de samme principper på din egen arbejdsbelastning.
Du kan bruge eksempelprogrammet Azure-Samples/tailwind-traders-gosom et stand-in for den programkode, der skal overføres. Bicep-infrastrukturen som kode, eksempel på Postgres og binære data og andre ressourcer, der understøtter den praktiske del af dette modul, er tilgængelig i Azure-Samples/linux-postgres-migration GitHub-lageret.
Hvis du vil anvende denne fremgangsmåde på din egen arbejdsbelastning, skal du knytte dit kildeprogram og dine data til følgende struktur.
Programkode
Du skal gemme din programkode i kildestyring, helst et lager i GitHub.
Migreringen i dette modul viser det enkleste scenarie med kloning af lageret direkte til din virtuelle Azure-maskine. I et scenarie i den virkelige verden ville du sandsynligvis have en mere kompleks udrulningspipeline, f.eks. GitHub-handlinger, der bygger og udruller din programkode til dine beregningsressourcer.
Postgres-data
Du skal gemme Postgres-dataene i en .sql fil, som du kan bruge til at oprette databaseskemaet og indsætte dataene. I denne simulerede migrering skal du bruge en eksempeldatafil tailwind.sqli det Azure-Samples/linux-postgres-migration lager. Du kopierer filen til Azure Blob Storage og importerer den derefter til Azure Database for PostgreSQL.
Når det kommer til tid til at overføre dine egne data, eksporterer du dine data fra din kildedatabase og gemmer dem i en .sql fil. Du kopierer derefter filen til Blob Storage som beskrevet i dette modul.
Binære filer
De fleste programmer har andre binære filer, f.eks. mediefiler, der skal migreres. I eksempelprogrammet lærer du, hvordan du overfører billeder ved at kopiere dem fra Azure-Samples/linux-postgres-migration til Blob Storage.
På samme måde skal du kopiere dine binære filer til Blob Storage, når du overfører din egen arbejdsbelastning. I denne forekomst er beregningen tilstandsløs, og programmet har tilladelse til at få adgang til de binære data direkte i Blob Storage.
Infrastruktur som kode (Bicep)
Infrastrukturen som kode for dette modul gemmes også i Azure-Samples/linux-postgres-migration. Den er designet til at være en referencearkitektur, som du kan bruge, som den er, med minimale ændringer, hvis du kan få dine kildedata og dit program til at overholde den tidligere skitserede struktur.
Sikkerhed er et vigtigt tema i denne migrering, og vi valgte visse sikkerhedsindstillinger for at gøre den praktiske del af dette modul nemmere at fuldføre. Blob Storage bruger f.eks. en mere sikker godkendelsesmetode uden nøgle, men vi tillader netværksforbindelser fra en hvilken som helst IP-adresse. I et produktionsmiljø skal du låse netværksadgangen til kun de IP-adresser, der skal have adgang til lagerkontoen.
På samme måde lader vi muligheden for at føje en firewallregel til PostgreSQL-serveren for at tillade en bestemt IP-adresse. I et produktionsmiljø kan du helt deaktivere al offentlig adgang til serveren.
Forskelle mellem kildemiljøer og Azure
En af de største forskelle i overførslen fra et andet miljø til Azure er, at du fuldt ud udnytter de sikkerheds- og identitetskontrolelementer, som Azure leverer:
- Du bruger administrerede identiteter til virtuelle maskiner og Azure Database til PostgreSQL.
- Du bruger Microsoft Entra ID til godkendelse i databasen.
- Du bruger Microsoft Entra ID i stedet for SSH-nøgler (Secure Shell) til at få adgang til virtuelle maskiner.
I stedet for at foretage migrering med løfte og skift benytter du dig af muligheden for at modernisere programmet for at drage fuld fordel af de sikkerheds- og overholdelsesfunktioner, som Azure leverer.
I det lokale miljø kan du bruge et brugernavn og en adgangskode til at godkende databasen. I Azure viser vi, hvordan du bruger den administrerede identitet for den virtuelle maskine til at godkende databasen. Denne godkendelsesmetode er mere sikker og reducerer risikoen for, at langvarige legitimationsoplysninger kompromitteres.
Brugen af en administreret identitet til godkendelse kræver ofte kodeændringer i dit program. I dette modul kan du se, hvordan du bruger biblioteket azidentity i Gå for at få et token til den administrerede identitet. Det samme bibliotek er tilgængeligt på tværs af Microsoft SDK'er.
Opret en Azure-konto, og installér Kommandolinjegrænsefladen i Azure
Hvis du ikke har en Azure-konto, kan du oprette en gratis konto i dag. Du får kreditter, som du kan bruge til at afprøve betalte Azure-tjenester. Selv efter du har brugt kreditterne, kan du beholde kontoen og bruge gratis Azure-tjenester.
Hvis du vil køre kommandoerne i følgende enheder, skal du have adgang til en Bash Shell. Denne shell kan være i et af disse områder:
- På din lokale computer. Brug f.eks. macOS, Linux, Windows Subsystem til Linux (WSL) eller Docker.
- På en virtuel maskine. Brug f.eks. Multipass eller Azure.
- I skyen. Brug f.eks. Azure Cloud Shell- eller GitHub Codespaces.
Hvis du vil fuldføre dette modul, skal du bruge kommandolinjegrænsefladen i Azure. Du kan installere Azure CLI på din lokale computer ved at følge vejledningen i artiklen Installér Azure CLI. Du skal også installere Git.
Ressourcer
- Opret en gratis Azure-konto
- Installér Azure CLI-
- Azure-prisberegner
- virtuelle maskiner med Azure Hybrid Benefit til RHEL (Red Hat Enterprise Linux) og SUSE Linux Enterprise Server (SLES)
- Sådan anvendes Azure-reservationsrabatten på virtuelle maskiner
- Azure-Samples/tailwind-traders-go-lager
- lager til Azure-Samples/linux-postgres-migration
- Hvad er Azure Cloud Shell?
- GitHub-kodeområder