Dela via


Granskning av Azure Well-Architected Framework – Azure Database for PostgreSQL

Den här artikeln innehåller metodtips för arkitekturen för Azure Database for PostgreSQL.

Vägledningen baseras på de fem grundpelarna för utmärkt arkitektur:

  • Tillförlitlighet
  • Säkerhet
  • Kostnadsoptimering
  • Utmärkt driftseffektivitet
  • Prestandaeffektivitet

Förutsättningar

Genom att förstå grundpelarna för Well-Architected Framework kan du skapa en högkvalitativ, stabil och effektiv molnarkitektur. Vi rekommenderar att du granskar din arbetsbelastning med azure Well-Architected Framework-granskningsutvärderingen .

Azure Database for PostgreSQL är en relationsdatabastjänst i Azure som baseras på relationsdatabasen PostgreSQL med öppen källkod. Det är en fullständigt hanterad databas som en tjänst som används för hantering av 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 Server Community Edition och har stöd för PostgreSQL-tilläggsfunktioner som PostGIS och TimescaleDB.

Anteckning

Information om hur du utforskar en lätt lösning som använder Azure Database for PostgreSQL för att lagra analysresultat från Cognitive Services-API:et finns i Intelligenta appar med Azure Database for PostgreSQL.

Tillförlitlighet

Azure Database for PostgreSQL – Flexibel server erbjuder stöd för hög tillgänglighet genom att etablera fysiskt separata primära repliker och standby-repliker antingen inom samma tillgänglighetszon (zonindelad) eller mellan tillgänglighetszoner (zonredundant). Den här modellen med hög tillgänglighet säkerställer att incheckade data aldrig går förlorade om ett fel inträffar. Modellen är också utformad så att databasen inte blir en felkritisk systemdel i din programvaruarkitektur. Azure Database for PostgreSQL – Flexibel server innehåller funktioner som skyddar data och minimerar driftstopp för dina verksamhetskritiska databaser under planerade och oplanerade driftstopp. Den flexibla servern bygger på Azure-infrastrukturen som erbjuder robust återhämtning och tillgänglighet och har funktioner för affärskontinuitet som ger felskydd, åtgärdar krav på återställningstid och minskar exponeringen för dataförlust.

Checklista för tillförlitlighetsdesign

Du bör granska designprinciperna för att optimera kostnaden för din arkitektur.

  • Definierade mål för RPO (Mål för återställningspunkt) och RTO (mål för återställningstid) för arbetsbelastningar.
  • Välj lämplig konfiguration för hög tillgänglighet.
  • Konfigurera geo-redundanssäkerhetskopiering.
  • Testa din haveriberedskapsplan för att säkerställa snabb dataåterställning i händelse av ett fel.
  • Testa redundansväxling på begäran för din HA-aktiverade server för att säkerställa att vårt program fungerar som förväntat.
  • Övervaka servern för att säkerställa att den är felfri och fungerar som förväntat.

Tillförlitlighetsrekommendationer

Rekommendation Fördelar
Definierade mål för RPO (Mål för återställningspunkt) och RTO (mål för återställningstid) för arbetsbelastningar. Härled dessa värden genom att utföra en riskbedömning och se till att du förstår kostnaden och risken för driftstopp och dataförluster. Det här är icke-funktionella krav i ett system och bör styras av affärskrav.
Välj lämplig konfiguration för hög tillgänglighet. Azure Database for PostgreSQL Server erbjuder konfigurationer med hög tillgänglighet, vilket säkerställer att tjänsten förblir tillgänglig om det uppstår ett zonfel och inga data går förlorade. När hög tillgänglighet har konfigurerats etablerar och hanterar Azure Database for PostgreSQL-servern automatiskt en standby-replik.
Konfigurera geo-redundanssäkerhetskopiering. Skrivskyddade repliker 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 är nere.
Testa din haveriberedskapsplan för att säkerställa snabb dataåterställning om det uppstår ett fel. Skrivskyddade repliker kan distribueras i en annan region och uppgraderas till en skrivskyddad server om haveriberedskap krävs.
Övervaka servern för att säkerställa att den är felfri och fungerar som förväntat. Vi har databasövervakning på plats för att övervaka och varna om fel på databasnivå.

Tips

Mer information om tillförlitlighetsvägledning för Azure Database for PostgreSQL finns i Tillförlitlighet med Azure Database for PostgreSQL.

Azure-principdefinitioner

Azure Policy definitioner hjälper dig att framtvinga specifika regler och konfigurationer för resurser i din Azure-miljö. För att säkerställa tillförlitligheten för Azure Database for PostgreSQL kan du skapa anpassade Azure Policy definitioner för att implementera specifika konfigurationer och metodtips. Här är ett exempel på några anpassade Azure Policy definitioner som du kan skapa för tillförlitlighet:

Säkerhet

Tänk på säkerheten under hela livscykeln för ett program, från design och implementering till distribution och drift. Azure-plattformen skyddar mot olika hot som nätverksintrång och DDoS-attacker. Du måste fortfarande bygga in säkerhet i ditt program och dina DevOps-processer.

Checklista för säkerhetsdesign

Du bör granska designprinciperna för att optimera kostnaden för din arkitektur.

  • SSL och framtvinga kryptering för att skydda data under överföring.
  • Implementera nätverkssäkerhetsgrupper och brandväggar för att styra åtkomsten till databasen.
  • Använd Azure Active Directory för autentisering och auktorisering för att förbättra identitetshanteringen.
  • Konfigurera säkerhet på radnivå.

Säkerhetsrekommendationer

Rekommendation Fördelar
SSL och framtvinga kryptering för att skydda data under överföring. Distribuera DigiCert Global Root-certifikatet från ett certifikat från en betrodd certifikatutfärdare (CA) som behövs för att kommunicera via SSL med klientprogram.
Implementera nätverkssäkerhetsgrupper och brandväggar för att styra åtkomsten till databasen. Som en del av den Nolltillit modellen för säkerhet rekommenderas nätverkssegmentering där kommunikationsvägar mellan komponenter (i det här fallet program- och databasservern) endast är begränsade till det som behövs. Detta kan implementeras med hjälp av nätverkssäkerhetsgrupp och programsäkerhetsgrupper.
Använd Azure Active Directory för autentisering och auktorisering för att förbättra identitetshanteringen. Microsoft Azure Active Directory -autentisering (Azure AD) är en mekanism för att ansluta till Azure Database for PostgreSQL med hjälp av identiteter som definierats i Azure AD.
Konfigurera säkerhet på radnivå. Säkerhet på radnivå (RLS) ä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 ytterligare ett filter som du kan använda för en PostgreSQL-databastabell.

Kostnadsoptimering

Kostnadsoptimering handlar om att förstå dina konfigurationsalternativ och rekommenderade metodtips för att minska onödiga utgifter och förbättra driftseffektiviteten. Du bör granska din arbetsbelastning för att identifiera möjligheter att minska kostnaderna.

Checklista för kostnadsdesign

Du bör granska designprinciperna för att optimera kostnaden för din arkitektur.

  • Välj rätt nivå och SKU.
  • Förstå läget för hög tillgänglighet.
  • Skala beräknings- och lagringsnivåer.
  • Överväg reserverade instanser.
  • Använd din etablerade lagring.
  • Förstå kostnader för geo-redundans.
  • Utvärdera beslut om lagringsskalning.
  • Distribuera till samma region som en app.
  • Kostnadsbeskrivning med hög tillgänglighet.
  • Konsolidera databaser och servrar.

Kostnadsrekommendationer

Rekommendationer Fördelar
Välj rätt nivå och SKU. Välj den prisnivå och beräknings-SKU:er som stöder de specifika behoven för din arbetsbelastning. Azure Advisor ger dig rekommendationer för att optimera och minska dina totala Azure-utgifter. Rekommendationerna omfattar serverrätt storleksändring som du bör följa.
Förstå läget för hög tillgänglighet. Hög tillgänglighet gör att en väntelägesserver alltid är tillgänglig i samma zon eller region. Om du aktiverar hög tillgänglighet fördubblas kostnaden.
Justera beräknings- och lagringsnivåer. Du bör justera beräknings- och lagringsnivåer manuellt så att de uppfyller programmets krav över tid.
Använd funktionen Start/Stopp. Den flexibla servern har en start-/stoppfunktion som du kan använda för att hindra servern från att köras när du inte behöver den.
Överväg reserverade instanser. Överväg en en- eller treårsreservation för att få betydande rabatter på databehandling. Använd dessa reservationer för arbetsbelastningar med konsekvent beräkningsanvändning i ett år eller mer.
Använd din etablerade lagring. Det kostar inget extra för lagring av säkerhetskopior upp till 100 % av den totala allokerade serverlagringen.
Förstå kostnader för redundans. Geo-redundant lagring (GRS) kostar dubbelt så mycket som lokal redundant lagring (LRS). GRS kräver dubbelt så stor lagringskapacitet som LRS.
Utvärdera beslut om uppskalning av lagring. Du bör utvärdera dina aktuella och framtida lagringsbehov innan du skalar upp lagringen. När du har skalat upp lagringen kan du inte skala ned.
Distribuera till samma region som appen. Distribuera till samma region som programmen för att minimera överföringskostnaderna. När du använder integrering av virtuella nätverk har program i ett annat virtuellt nätverk inte direkt åtkomst till flexibla servrar. För att ge dem åtkomst måste du konfigurera peering för virtuella nätverk. Peering för virtuella nätverk har nominella kostnader för inkommande och utgående dataöverföring.
Beskrivning av kostnadsbeskrivning med hög tillgänglighet. Det är en kompromiss mellan HA och kostnader. HA är dubbelt så mycket som kostnaden för icke-HA-konfiguration, men det behövs.
Konsolidera databaser och servrar. Du kan konsolidera flera databaser och servrar till en enda server för att minska kostnaderna.

Azure-principdefinitioner

Azure Policy definitioner hjälper dig att framtvinga specifika regler och konfigurationer för resurser i din Azure-miljö. För att säkerställa kostnadsoptimering för Azure Database for PostgreSQL kan du skapa anpassade Azure Policy definitioner för att framtvinga specifika konfigurationer och metodtips. Här är ett exempel på några anpassade Azure Policy definitioner som du kan skapa för kostnadsoptimering:

Utmärkt driftseffektivitet

Principerna för utmärkt drift är en rad överväganden som kan bidra till att uppnå överlägsen driftspraxis.

För att uppnå en högre kompetens i verksamheten bör du överväga och förbättra hur programvara utvecklas, distribueras, drivs och underhålls.

Checklista för design av driftseffektivitet

Du bör granska designprinciperna för att optimera kostnaden för din arkitektur.

  • Konfigurera automatiska säkerhetskopieringar och kvarhållningsprinciper för att upprätthålla datatillgänglighet och uppfylla efterlevnadskraven.
  • Implementera automatisk korrigering och uppdateringar för att hålla PostgreSQL-instansen säker och uppdaterad.
  • Övervaka databasens hälsa och prestanda med Hjälp av Azure Monitor och konfigurera aviseringar för kritiska mått.

Rekommendationer för driftskvalitet

Rekommendation Fördelar
Konfigurera automatiska säkerhetskopieringar och kvarhållningsprinciper för att upprätthålla datatillgänglighet och uppfylla efterlevnadskraven. Azure Database for PostgreSQL tillhandahåller automatiserade säkerhetskopieringar och återställning till tidpunkt för databasen. Du kan konfigurera kvarhållningsperioden för säkerhetskopior i upp till 35 dagar.
Implementera automatisk korrigering och uppdateringar för att hålla PostgreSQL-instansen säker och uppdaterad. Azure Database for PostgreSQL tillhandahåller automatisk korrigering och uppdateringar för databasen. Du kan konfigurera underhållsperioden för servern för att minimera påverkan på din arbetsbelastning.
Övervaka databasens hälsa och prestanda med Hjälp av Azure Monitor och konfigurera aviseringar för kritiska mått. Azure Database for PostgreSQL har inbyggda funktioner för övervakning och aviseringar. Du kan övervaka databasens hälsa och prestanda med hjälp av Azure Monitor. Du kan också konfigurera aviseringar för kritiska mått så att de meddelas när databasen inte fungerar som förväntat.

Principdefinitioner för driftseffektivitet

Azure Policy definitioner hjälper dig att framtvinga specifika regler och konfigurationer för resurser i din Azure-miljö. För att säkerställa driftseffektivitet för Azure Database for PostgreSQL kan du skapa anpassade Azure Policy definitioner för att framtvinga specifika konfigurationer och bästa praxis. Här är ett exempel på några anpassade Azure Policy definitioner som du kan skapa för utmärkt drift:

Prestandaeffektivitet

Prestandaeffektivitet är arbetsbelastningens förmåga att skala för att effektivt uppfylla användarnas krav. Vi rekommenderar att du granskar principerna för prestandaeffektivitet.

I designchecklistan och listan med rekommendationer nedan anger bildtexter om varje val gäller för klusterarkitektur, arbetsbelastningsarkitektur eller båda.

Checklista för design av prestandaeffektivitet

Du bör granska designprinciperna för att optimera kostnaden för din arkitektur.

  • Utforma ditt schema och fråga efter effektivitet för att minimera resursförbrukningen.
  • Implementera läsrepliker för att avlasta lästrafik och förbättra övergripande prestanda.

Rekommendationer för prestandaeffektivitet

Rekommendation Fördelar
Utforma ditt schema och fråga efter effektivitet för att minimera resursförbrukningen. Du bör utforma ditt schema och frågor för effektivitet för att minimera resursförbrukningen.
Implementera läsrepliker för att avlasta lästrafik och förbättra övergripande prestanda. Du kan använda skrivskyddade repliker för att avlasta lästrafik och förbättra prestanda.

Principdefinitioner för prestandaeffektivitet

Azure Policy definitioner hjälper dig att framtvinga specifika regler och konfigurationer för resurser i din Azure-miljö. För att säkerställa prestandaeffektivitet för Azure Database for PostgreSQL kan du skapa anpassade Azure Policy definitioner för att framtvinga specifika konfigurationer och metodtips. Här är ett exempel på några anpassade Azure Policy definitioner som du kan skapa för prestandaeffektivitet:

Extra resurser

Överväg fler resurser som rör Azure Database for PostgreSQL.

Vägledning för Azure Architecture Center

Vägledning för Cloud Adoption Framework

Nästa steg