Dela via


Metodtips för arkitektur för Azure Database for PostgreSQL

Azure Database for PostgreSQL är en relationsdatabastjänst i Azure som baseras på postgreSQL-relationsdatabasen med öppen källkod. Det är en fullständigt hanterad, molnbaserad databaslösning som stöder verksamhetskritiska arbetsbelastningar med förutsägbar prestanda, säkerhet, hög tillgänglighet och dynamisk skalbarhet. Azure Database for PostgreSQL bygger på community-utgåvan av PostgreSQL-databasmotorn. Den är kompatibel med PostgreSQL-servercommunityversionen och stöder PostgreSQL-tilläggsfunktioner som PostGIS och TimescaleDB.

Den här artikeln förutsätter att du som arkitekt har granskat Azure-dataalternativen och valt Azure Database for PostgreSQL som datalager för din arbetsbelastning. Vägledningen i den här artikeln innehåller arkitektoniska rekommendationer som mappas till principerna för Well-Architected Framework-pelarna.

Teknikomfång

Den här granskningen fokuserar på de relaterade besluten för följande Azure-resurser:

  • Azure-databasen för PostgreSQL

Reliability

Syftet med grundpelarna för tillförlitlighet är att tillhandahålla fortsatt funktionalitet genom att bygga upp tillräckligt med motståndskraft och möjlighet att snabbt återhämta sig från fel.

Principer för tillförlitlighetsdesign tillhandahålla en övergripande designstrategi som tillämpas för enskilda komponenter, systemflöden och systemet som helhet.

Checklista för arbetsbelastningsdesign

  • Bekanta dig med azure database for PostgreSQL-produktens tillförlitlighetsvägledning.
    Mer information finns i följande resurser:

  • Justera dina tillförlitlighets- och återställningsmål för Azure Database for PostgreSQL med dina arbetsbelastningsmål. Välj en lämplig Azure Database for PostgreSQL SKU som kan stödja dina tillförlitlighets- och återställningsmål.

  • Fastställa lämpliga konfigurationer för hög tillgänglighet och redundans för dina Azure Database for PostgreSQL-instanser. Avgör om du behöver zonredundanta eller zonindeliga konfigurationer för att uppfylla dina tillförlitlighetskrav.

  • Införliva återställningen av dina Azure Database for PostgreSQL-instanser i planeringen och övningarna för haveriberedskap. Se till att hela arbetsbelastningen kan återställas enligt dina återställningsmål.

  • Införliva dina Azure Database for PostgreSQL-instanser i din observerbarhetsplattform. Aktivera förbättrade mått för att övervaka hälsotillståndet för din instans. Inkludera hälsoövervakning med hög tillgänglighet i din övervakningslösning.

Konfigurationsrekommendationer

Recommendation Benefit
Välj lämplig konfiguration för hög tillgänglighet. När hög tillgänglighet har konfigurerats etablerar och hanterar Azure Database for PostgreSQL-servern automatiskt en standby-replik. Den här konfigurationen säkerställer att tjänsten förblir tillgänglig och inte förlorar data under ett zonstopp.
Konfigurera geo-redundanta säkerhetskopior. Läsrepliker mellan regioner kan distribueras för att skydda dina databaser mot fel på regionnivå. Geo-redundanta säkerhetskopieringar är aktiverade i valda regioner och hjälper till med haveriberedskap om den primära serverregionen inte är tillgänglig.

Geo-redundans kan också uppnås med hjälp av ett Azure Backup-valv för långsiktig lagring av återställningspunkterna. Om ett regionalt avbrott eller en katastrof inträffar kan du använda Säkerhetskopiering för att återställa databasservern till en Azure-länkad region, vilket minimerar driftstopp.

Azure Backup tillhandahåller även geo-redundans för Azure Database for PostgreSQL. Den här funktionen ökar effektiviteten och minskar stilleståndstiden vid katastrofer eller regionala avbrott.
Testa säkerhetskopierings- och återställningsstrategin igen. Genom att regelbundet testa din strategi för säkerhetskopiering och återställning kan du återställa dina databaser och underhålla åtgärder om ett fel inträffar.

Security

Syftet med säkerhetspelaren är att tillhandahålla garantier för konfidentialitet, integritet och tillgänglighet för arbetet.

Principerna för säkerhetsdesign ger en övergripande designstrategi för att uppnå dessa mål genom att tillämpa metoder för teknisk design av Azure Database for PostgreSQL.

Checklista för arbetsbelastningsdesign

  • Granska säkerhetsbaslinjen. Om du vill förbättra säkerhetsstatusen för din arbetsbelastning läser du Azure-säkerhetsbaslinjen för Azure Database for PostgreSQL.

  • Implementera strikt, villkorsstyrd och granskningsbar identitets- och åtkomsthantering. Använd Microsoft Entra-ID för autentisering och auktorisering för att förbättra identitetshanteringen.

  • Tillämpa nätverkssegmenterings- och säkerhetskontroller. Använd inbyggd brandvägg på servernivå tillsammans med brandväggsmekanismer för virtuella nätverk för att isolera din instans från andra arbetsbelastningskomponenter och offentliga nätverk.

  • Använd inbyggda säkerhetsfunktioner för att lägga till extra skyddslager. Förhindra skadliga aktiviteter genom att konfigurera säkerhet på radnivå och anslutningsbegränsning.

Konfigurationsrekommendationer

Recommendation Benefit
Implementera nätverkssäkerhetsgrupper och brandväggar för att styra åtkomsten till databasen. Som en del av Zero Trust-modellen för säkerhet använder du nätverkssegmentering för att begränsa kommunikationsvägar mellan komponenter, till exempel program- och databasservrar, till endast det som behövs. Den här funktionen kan implementeras med hjälp av nätverkssäkerhetsgrupper och programsäkerhetsgrupper.
Anslut till dina databaser via Azure Private Link. Med Private Link kan du skapa privata slutpunkter för Azure Database for PostgreSQL för att utöka tjänsten i ditt virtuella nätverk.
Använd Microsoft Entra-ID för autentisering och auktorisering för att förbättra identitetshanteringen. Du kan använda Microsoft Entra-autentisering för att ansluta till Azure Database for PostgreSQL med hjälp av hanterade identiteter i Microsoft Entra.
Konfigurera säkerhet på radnivå. Säkerhet på radnivå är en PostgreSQL-säkerhetsfunktion som gör att databasadministratörer kan definiera principer för att styra hur specifika rader med data visas och fungerar för en eller flera roller. Säkerhet på radnivå är ett extra filter som du kan använda för en PostgreSQL-databastabell.
Om det behövs för efterlevnad använder du kundhanterade nycklar (CMK:er) för datakryptering och lagrar dina nycklar i Azure Key Vault. CMK:er ger dig fullständig kontroll över krypteringsnyckelns livscykel, inklusive nyckelrotation, för att anpassa dig till företagets principer. Key Vault möjliggör centraliserad hantering och organisation av dina krypteringsnycklar i dina egna dedikerade Key Vault-instanser.
För de högsta säkerhetskrav, aktivera konfidentiell databehandling för att skydda data som används med maskinvarubaserad kryptering. Konfidentiell databehandling tillhandahåller maskinvarubaserad kryptering för databehandlingsåtgärder. Organisationer som bearbetar känsliga data i strikt reglerade branscher kan uppfylla stränga regelkrav samtidigt som databasens prestanda bibehålls.
Aktivera anslutningsbegränsning för IP-adresser som har alltför misslyckade inloggningsförsök. connection_throttling Att ställa in serverparametern till enabled hjälper till att skydda dina databaser mot skadliga inloggningsförsök och distribuerade denial of service (DDoS)-attacker genom att begränsa upprepade anslutningsförsök från samma IP-adress.
Utför säkerhetsgranskningar regelbundet. Genom att regelbundet utföra säkerhetsgranskningar kan du identifiera och åtgärda potentiella säkerhetsrisker.

Kostnadsoptimering

Kostnadsoptimering fokuserar på identifiera utgiftsmönster, prioritera investeringar inom kritiska områden och optimera i andra för att uppfylla organisationens budget samtidigt som affärskraven uppfylls.

Designprinciperna för kostnadsoptimering ger en övergripande designstrategi för att uppnå dessa mål och göra avvägningar vid behov i den tekniska designen som rör Azure Database for PostgreSQL och dess miljö.

Checklista för arbetsbelastningsdesign

  • Beräkna den ursprungliga kostnaden. Som en del av din kostnadsmodelleringsövning använder du Priskalkylatorn för Azure för att utvärdera de ungefärliga kostnader som är associerade med Azure Database for PostgreSQL i din arbetsbelastning.

  • Välj rätt tjänstnivå för din arbetsbelastning. Avgör om prisnivån Burstable, Generell användning eller Minnesoptimerad för beräkningsresurser uppfyller dina behov för användningsfall.

  • Tillämpa en välinformerad skalningsstrategi. För att avgöra när och hur du skalar dina Azure Database for PostgreSQL-resurser kan du kontinuerligt observera och analysera din arbetsbelastningskapacitet och efterfrågan.

  • Dra nytta av tillgängliga rabatter. Överväg en eller tre års datorkapacitetsreservationer. Reserverade instanser kan spara betydande kostnader för beräkningsresurser.

  • Använd din etablerade lagring. Det kostar inget extra för lagring av säkerhetskopior på upp till 100% av den totala allokerade serverlagringen.

  • Förstå redundanskostnader. Om du använder zonredundanta konfigurationer eller zonindelningar fördubblas dina instanskostnader, så tänk noga på din redundansdesign.

  • Förstå kostnaderna för skyddad instans och lagring av säkerhetskopior. När du säkerhetskopierar Azure Databse för PostgreSQL med hjälp av Azure Backup debiteras du avgifter för skyddade instanser för varje 250 GB och avgifter för lagring av säkerhetskopior baserat på den totala mängden data som lagras och redundanstypen.

  • Distribuera till samma region som en applikation. Distribuera till samma region som dina program för att minimera överföringskostnaderna.

  • Konsolidera databaser och servrar. När det är praktiskt kan en konsolidering av flera databaser och servrar till en enda server bidra till att minska kostnaderna.

Konfigurationsrekommendationer

Recommendations Benefits
Välj rätt nivå och SKU. Genom att välja rätt nivå och SKU kan du undvika att slösa pengar på överprovisionerade resurser. Azure Advisor ger rekommendationer, inklusive förslag på serverrättigheter, för att optimera och minska dina totala Azure-utgifter.
Skala beräknings- och lagringsresurser när arbetsbelastningens efterfrågan ändras. Du kan skala beräkningsresurser lodrätt (upp eller ned) och vågrätt (ut eller in) efter behov. Du kan inte skala ned lagringen när du har skalat upp.
Använd start-/stoppfunktionen. Använd start-/stoppfunktionen för att hindra servern från att köras när den inte behövs.

Operativ skicklighet

Operational Excellence fokuserar främst på procedurer för utvecklingsmetoder, observerbarhet och versionshantering.

Designprinciperna för Operational Excellence tillhandahåller en övergripande designstrategi för att uppnå dessa mål när det gäller arbetsbelastningens driftskrav.

Checklista för arbetsbelastningsdesign

  • Optimera återställningsbarheten för dina databaser. Definiera principer för säkerhetskopiering och kvarhållning för att uppfylla dina efterlevnadskrav.

  • Automatisera operativa uppgifter. Använd automatiseringsuppgifter för att automatiskt utföra uppgifter som att starta och stoppa en server, skala resurser och andra uppgifter.

  • Övervaka databasens hälsa och prestanda. Samla in och analysera loggar och mått från din instans för att proaktivt identifiera potentiella problem.

  • Håll dig uppdaterad med PostgreSQL-versioner. De senaste versionerna har uppgraderingsfunktioner på plats med noll stilleståndstid, vilket möjliggör större versionsövergångar utan avbrott i tjänsten.

Konfigurationsrekommendationer

Recommendation Benefits
Använd en Azure Backup-princip individuellt eller tillsammans med de inbyggda automatiserade säkerhetskopiorna för att säkerhetskopiera databaser. Azure Database för PostgreSQL tillhandahåller automatiserade säkerhetskopior och återställning till en viss tidpunkt för din databas. Du kan konfigurera kvarhållningsperioden för säkerhetskopior upp till 35 dagar.

Använd Azure Backup för att definiera hur och när säkerhetskopior skapas, kvarhållningsperioden för återställningspunkter och reglerna för dataskydd och återställning. Du kan behålla återställningspunkter i ett Azure Backup-valv i upp till 10 år. Du kan också hantera säkerhetskopierings- och återställningsåtgärderna med hjälp av Azure Business Continuity Center.
Schemalägg anpassade underhållsperioder för att tillämpa tjänstuppdateringar. Du kan definiera ett anpassat schema för varje Azure Database for PostgreSQL i din Azure-prenumeration. Med ett anpassat schema kan du ange underhållsfönstret för servern genom att välja veckodag och starttid för underhållsperioden på en timme.
Övervaka servern för att säkerställa att den är felfri och fungerar som förväntat. Azure Database for PostgreSQL har olika mått som ger insikt i beteendet för de resurser som stöder Azure Database for PostgreSQL-instansen. Du kan också aktivera förbättrade mått för att få detaljerad övervakning och aviseringar för databaser.

Prestandaeffektivitet

Prestandaeffektivitet handlar om upprätthålla användarupplevelsen även när belastningen ökar genom att hantera kapaciteten. Strategin omfattar skalning av resurser, identifiering och optimering av potentiella flaskhalsar och optimering för högsta prestanda.

Designprinciperna för prestandaeffektivitet tillhandahåller en designstrategi på hög nivå för att uppnå dessa kapacitetsmål med hänsyn till den förväntade användningen.

Checklista för arbetsbelastningsdesign

  • Optimera frågor. Använd inbyggda funktioner för att hitta möjligheter att optimera frågor.

  • Optimera index. Använd funktioner som indexjustering för att automatiskt analysera frågemönster och få användbara rekommendationer för att skapa eller släppa index för att förbättra prestanda.

  • Avlasta läsoperationer. Om din applikation stöder skrivskyddade anslutningssträngar kan du avlasta läsoperationer till skrivskyddade repliker.

Konfigurationsrekommendationer

Recommendation Benefits
Använd query store för att spåra frågeprestanda över tid. Frågearkivet förenklar felsökningen av prestandaproblem genom att hjälpa dig att snabbt hitta de längsta och mest resursintensiva frågorna.
Använd Query Performance Insight för att identifiera de mest resurskrävande och tidskrävande frågorna i din arbetsbelastning. Med Query Performance Insight kan du identifiera tidskrävande frågor och deras ändringar över tid, fastställa vilka väntetyper som påverkar dem, analysera de vanligaste databasfrågorna efter frekvens och andra fördelar.
Använd indexjustering med frågearkivet för att analysera spårade frågor och ge rekommendationer. Indexoptimering analyserar arbetsbelastningen som frågearkivet spårar. Det ger indexrekommendationer för att förbättra prestandan för den analyserade arbetsbelastningen eller för att släppa duplicerade eller oanvända index. Indexjustering hjälper dig att identifiera fördelaktiga index, duplicerade index och oanvända index.
Använd intelligent justering för att förbättra prestanda automatiskt och förhindra problem. Intelligent justering övervakar kontinuerligt Azure Database for PostgreSQL-databasens status för flexibel server och anpassar databasen dynamiskt till din arbetsbelastning.

Azure-riktlinjer

Azure tillhandahåller en omfattande uppsättning inbyggda principer som rör Azure Database for PostgreSQL och dess beroenden. Några av föregående rekommendationer kan granskas via Azure Policy. Du kan till exempel kontrollera om:

För att säkerställa omfattande styrning, granska de Azure Policy inbyggda definitionerna för Azure Database for PostgreSQL och andra policyer som kan påverka säkerheten för datalager.

Azure Advisor-rekommendationer

Azure Advisor är en anpassad molnkonsult som hjälper dig att följa metodtipsen för att optimera dina Azure-distributioner.

Mer information finns i Azure Advisor.

Exempelarkitektur

Grundläggande arkitektur som visar de viktigaste rekommendationerna: Reliable Web App pattern for Java (Tillförlitlig webbappsmönster för Java).