Azure Well-Architected Framework-beoordeling - Azure Database for PostgreSQL
Dit artikel bevat aanbevolen procedures voor architectuur voor Azure Database for PostgreSQL.
De richtlijnen zijn gebaseerd op de vijf pijlers van uitstekende architectuur:
- Betrouwbaarheid
- Beveiliging
- Kostenoptimalisatie
- Operationele uitmuntendheid
- Efficiëntie van prestaties
Vereisten
Inzicht in de Well-Architected Framework-pijlers kan helpen bij het produceren van een hoogwaardige, stabiele en efficiënte cloudarchitectuur. We raden u aan uw workload te controleren met behulp van de Beoordelingsevaluatie van Azure Well-Architected Framework .
Azure Database for PostgreSQL is een relationele databaseservice in Azure op basis van de opensource relationele PostgreSQL-database. Deze volledig beheerde Database as a Service kan bedrijfskritieke workloads verwerken met voorspelbare prestaties, beveiliging, hoge beschikbaarheid en dynamische schaalbaarheid. Azure Database for PostgreSQL is gebaseerd op de community-editie van de PostgreSQL-database-engine. Het is compatibel met de PostgreSQL-servercommunity-editie en ondersteunt PostgreSQL-extensiefuncties zoals PostGIS en TimescaleDB.
Notitie
Zie Intelligente apps met Azure Database for PostgreSQL voor meer informatie over een lichtgewicht oplossing die gebruikmaakt van Azure Database for PostgreSQL om analytische resultaten van de Cognitive Services-API op te slaan.
Betrouwbaarheid
Azure Database for PostgreSQL - Flexibele server biedt ondersteuning voor hoge beschikbaarheid door fysiek gescheiden primaire en stand-byreplica's in te richten binnen dezelfde beschikbaarheidszone (zonegebonden) of in meerdere beschikbaarheidszones (zone-redundant). Dit model voor hoge beschikbaarheid zorgt ervoor dat vastgelegde gegevens nooit verloren gaan als er een fout optreedt. Het model is ook zo ontworpen dat de database geen Single Point of Failure wordt in uw softwarearchitectuur. Azure Database for PostgreSQL - Flexibele server biedt functies die gegevens beschermen en downtime voor uw bedrijfskritieke databases beperken tijdens geplande en ongeplande downtimegebeurtenissen. De flexibele server is gebouwd op basis van de Azure-infrastructuur die robuuste tolerantie en beschikbaarheid biedt en beschikt over functies voor bedrijfscontinuïteit die foutbeveiliging bieden, voldoen aan de vereisten voor hersteltijd en de blootstelling aan gegevensverlies verminderen.
Controlelijst voor ontwerp van betrouwbaarheid
Bekijk de ontwerpprincipes om de kosten van uw architectuur te optimaliseren.
- Gedefinieerde doelen voor RPO (Recovery Point Objective) en RTO (Recovery Time Objective) voor workloads.
- Selecteer de juiste configuratie voor hoge beschikbaarheid.
- Georedundantieback-up configureren.
- Test uw plan voor herstel na noodgevallen om snel gegevensherstel te garanderen in het geval van een storing.
- Test failover op aanvraag voor uw server met hoge beschikbaarheid om te controleren of onze toepassing werkt zoals verwacht.
- Controleer uw server om ervoor te zorgen dat deze in orde is en werkt zoals verwacht.
Aanbevelingen voor betrouwbaarheid
Aanbeveling | Voordeel |
---|---|
Gedefinieerde doelen voor RPO (Recovery Point Objective) en RTO (Recovery Time Objective) voor workloads. | Leid deze waarden af door een risicoanalyse uit te voeren en ervoor te zorgen dat u de kosten en het risico van downtime en gegevensverlies begrijpt. Dit zijn niet-functionele vereisten van een systeem en moeten worden bepaald door bedrijfsvereisten. |
Selecteer de juiste configuratie voor hoge beschikbaarheid. | Azure Database for PostgreSQL Server biedt configuraties voor hoge beschikbaarheid, zodat de service beschikbaar blijft als er een zone-storing is en er geen gegevens verloren gaan. Wanneer hoge beschikbaarheid is geconfigureerd, richt de Azure Database for PostgreSQL-server automatisch een stand-byreplica in en beheert deze. |
Georedundantieback-up configureren. | Leesreplica's in meerdere regio's kunnen worden geïmplementeerd om uw databases te beschermen tegen fouten op regioniveau. Geografisch redundante back-ups zijn ingeschakeld in geselecteerde regio's en helpen bij herstel na noodgevallen als de primaire serverregio niet beschikbaar is. |
Test uw plan voor herstel na noodgevallen om snel gegevensherstel te garanderen als er een fout opgetreden is. | Leesreplica's kunnen worden geïmplementeerd in een andere regio en worden gepromoveerd naar een lees-schrijfserver als herstel na noodgeval nodig is. |
Controleer uw server om ervoor te zorgen dat deze in orde is en werkt zoals verwacht. | We hebben databasebewaking om fouten op databaseniveau te bewaken en te waarschuwen. |
Tip
Zie Betrouwbaarheid met Azure Database for PostgreSQL voor meer informatie over betrouwbaarheidsrichtlijnen voor Azure Database for PostgreSQL.
Azure Policy-definities
Azure Policy-definities helpen u bij het afdwingen van specifieke regels en configuraties voor resources binnen uw Azure-omgeving. Om betrouwbaarheid voor Azure Database for PostgreSQL te garanderen, kunt u aangepaste Azure Policy definities maken om specifieke configuraties en best practices te implementeren. Hier volgt een voorbeeld van een aantal aangepaste Azure Policy definities die u kunt maken voor betrouwbaarheid:
Beveiliging
Denk na over beveiliging gedurende de gehele levenscyclus van een toepassing, van ontwerp en implementatie tot implementatie en bewerkingen. Het Azure-platform beschermt tegen verschillende bedreigingen, zoals netwerkinbraak en DDoS-aanvallen. U moet nog steeds beveiliging inbouwen in uw toepassing en uw DevOps-processen.
Controlelijst voor beveiligingsontwerp
Bekijk de ontwerpprincipes om de kosten van uw architectuur te optimaliseren.
- SSL en versleuteling afdwingen om gegevens tijdens overdracht te beveiligen.
- Implementeer netwerkbeveiligingsgroepen en firewalls om de toegang tot uw database te beheren.
- Gebruik Azure Active Directory voor verificatie en autorisatie om identiteitsbeheer te verbeteren.
- Beveiliging op rijniveau configureren.
Aanbevelingen voor beveiliging
Aanbeveling | Voordeel |
---|---|
SSL en versleuteling afdwingen om gegevens tijdens overdracht te beveiligen. | Implementeer het algemene DigiCert-basiscertificaat van een certificaat van een vertrouwde certificeringsinstantie (CA) dat nodig is om via SSL te communiceren met clienttoepassingen. |
Implementeer netwerkbeveiligingsgroepen en firewalls om de toegang tot uw database te beheren. | Als onderdeel van het Zero Trust-model voor beveiliging wordt netwerksegmentatie aanbevolen, waarbij communicatiepaden tussen onderdelen (in dit geval toepassing en databaseserver) worden beperkt tot alleen wat nodig is. Dit kan worden geïmplementeerd met behulp van netwerkbeveiligingsgroep en toepassingsbeveiligingsgroepen. |
Gebruik Azure Active Directory voor verificatie en autorisatie om identiteitsbeheer te verbeteren. | Microsoft Azure Active Directory (Azure AD) verificatie is een mechanisme om verbinding te maken met Azure Database for PostgreSQL met behulp van identiteiten die zijn gedefinieerd in Azure AD. |
Beveiliging op rijniveau configureren. | Beveiliging op rijniveau (RLS) is een PostgreSQL-beveiligingsfunctie waarmee databasebeheerders beleidsregels kunnen definiëren om te bepalen hoe specifieke rijen gegevens worden weergegeven en uitgevoerd voor een of meer rollen. Beveiliging op rijniveau is een extra filter dat u kunt toepassen op een PostgreSQL-databasetabel. |
Kostenoptimalisatie
Kostenoptimalisatie gaat over het begrijpen van uw configuratieopties en aanbevolen best practices om onnodige kosten te verminderen en operationele efficiëntie te verbeteren. U moet uw workload controleren om mogelijkheden te identificeren om de kosten te verlagen.
Controlelijst voor kostenontwerp
Bekijk de ontwerpprincipes om de kosten van uw architectuur te optimaliseren.
- Kies de juiste laag en SKU.
- Inzicht in de modus voor hoge beschikbaarheid.
- Reken- en opslaglagen schalen.
- Overweeg gereserveerde instanties.
- Gebruik de ingerichte opslag.
- Inzicht in kosten voor geo-redundantie.
- Beslissingen over het omhoog schalen van opslag evalueren.
- Implementeer in dezelfde regio als een app.
- Beschrijving van kosten gericht op hoge beschikbaarheid.
- Databases en servers samenvoegen.
Aanbevelingen voor kosten
Aanbevelingen | Voordelen |
---|---|
Kies de juiste laag en SKU. | Kies de prijscategorie en reken-SKU's die ondersteuning bieden voor de specifieke behoeften van uw workload. Azure Advisor geeft u aanbevelingen om uw algehele Azure-uitgaven te optimaliseren en te verminderen. Aanbevelingen zijn onder andere de juiste grootte van de server die u moet volgen. |
Inzicht in de modus voor hoge beschikbaarheid. | Hoge beschikbaarheid maakt een stand-byserver altijd beschikbaar binnen dezelfde zone of regio. Het inschakelen van hoge beschikbaarheid verdubbelt uw kosten. |
Reken- en opslaglagen aanpassen. | U moet de reken- en opslaglagen handmatig aanpassen om te voldoen aan de vereisten van de toepassing in de loop van de tijd. |
Gebruik de functie Starten/stoppen. | De flexibele server heeft een start-/stopfunctie die u kunt gebruiken om te voorkomen dat de server wordt uitgevoerd wanneer u deze niet nodig hebt. |
Overweeg gereserveerde instanties. | Overweeg een reservering van één of drie jaar om aanzienlijke kortingen te ontvangen op computing. Gebruik deze reserveringen voor workloads met consistent rekengebruik voor een jaar of langer. |
Gebruik de ingerichte opslag. | Er worden geen extra kosten in rekening gebracht voor back-upopslag tot 100% van de totale ingerichte serveropslag. |
Meer informatie over redundantiekosten. | Geografisch redundante opslag (GRS) kost twee keer zoveel als lokaal redundante opslag (LRS). VOOR GRS is een dubbele opslagcapaciteit van LRS vereist. |
Beslissingen over het omhoog schalen van opslag evalueren. | U moet uw huidige en toekomstige opslagbehoeften evalueren voordat u uw opslag omhoog schaalt. Nadat u de opslag omhoog hebt geschaald, kunt u niet omlaag schalen. |
Implementeer in dezelfde regio als de app. | Implementeer in dezelfde regio als de toepassing(en) om de overdrachtskosten te minimaliseren. Wanneer u integratie van virtuele netwerken gebruikt, hebben toepassingen in een ander virtueel netwerk geen directe toegang tot flexibele servers. Als u ze toegang wilt verlenen, moet u peering van virtuele netwerken configureren. Peering van virtuele netwerken heeft nominale kosten voor binnenkomende en uitgaande gegevensoverdracht. |
Beschrijving van kosten gericht op hoge beschikbaarheid. | Het is een afweging van hoge beschikbaarheid en kosten. Hoge beschikbaarheid is het dubbele van de kosten voor configuratie zonder hoge beschikbaarheid, maar dit is nodig. |
Databases en servers samenvoegen. | U kunt meerdere databases en servers samenvoegen in één server om de kosten te verlagen. |
Azure Policy-definities
Azure Policy-definities helpen u bij het afdwingen van specifieke regels en configuraties voor resources binnen uw Azure-omgeving. Om kostenoptimalisatie voor Azure Database for PostgreSQL te garanderen, kunt u aangepaste Azure Policy definities maken om specifieke configuraties en best practices af te dwingen. Hier volgt een voorbeeld van een aantal aangepaste Azure Policy definities die u kunt maken voor kostenoptimalisatie:
Operationele uitmuntendheid
De principes van operationele uitmuntendheid zijn een reeks overwegingen die kunnen helpen bij het bereiken van superieure operationele procedures.
Als u een hogere competentie in bewerkingen wilt bereiken, moet u overwegen en verbeteren hoe software wordt ontwikkeld, geïmplementeerd, gebruikt en onderhouden.
Controlelijst voor ontwerp van operationele uitmuntendheid
Bekijk de ontwerpprincipes om de kosten van uw architectuur te optimaliseren.
- Stel geautomatiseerde back-ups en bewaarbeleidsregels in om de beschikbaarheid van gegevens te behouden en te voldoen aan de nalevingsvereisten.
- Implementeer automatische patches en updates om uw PostgreSQL-exemplaar veilig en up-to-date te houden.
- Bewaak de databasestatus en -prestaties met behulp van Azure Monitor en stel waarschuwingen in voor kritieke metrische gegevens.
Aanbevelingen voor operationele uitmuntendheid
Aanbeveling | Voordelen |
---|---|
Stel geautomatiseerde back-ups en bewaarbeleidsregels in om de beschikbaarheid van gegevens te behouden en te voldoen aan de nalevingsvereisten. | Azure Database for PostgreSQL biedt automatische back-ups en herstel naar een bepaald tijdstip voor uw database. U kunt de bewaarperiode voor back-ups tot 35 dagen configureren. |
Implementeer automatische patches en updates om uw PostgreSQL-exemplaar veilig en up-to-date te houden. | Azure Database for PostgreSQL biedt automatische patching en updates voor uw database. U kunt het onderhoudsvenster voor uw server configureren om de impact op uw workload te minimaliseren. |
Bewaak de databasestatus en -prestaties met behulp van Azure Monitor en stel waarschuwingen in voor kritieke metrische gegevens. | Azure Database for PostgreSQL biedt ingebouwde bewakings- en waarschuwingsmogelijkheden. U kunt de status en prestaties van uw database bewaken met behulp van Azure Monitor. U kunt ook waarschuwingen instellen voor kritieke metrische gegevens om een melding te ontvangen wanneer uw database niet werkt zoals verwacht. |
Beleidsdefinities voor operationele uitmuntendheid
Azure Policy-definities helpen u bij het afdwingen van specifieke regels en configuraties voor resources binnen uw Azure-omgeving. Om operationele uitmuntendheid voor Azure Database for PostgreSQL te garanderen, kunt u aangepaste Azure Policy definities maken om specifieke configuraties en best practices af te dwingen. Hier volgt een voorbeeld van een aantal aangepaste Azure Policy definities die u kunt maken voor Operationele uitmuntendheid:
Prestatie-efficiëntie
Prestatie-efficiëntie is het vermogen van uw workload om efficiënt te voldoen aan de eisen die gebruikers eraan stellen. We raden u aan de principes voor efficiëntie van prestaties te bekijken.
In de ontwerpcontrolelijst en de lijst met aanbevelingen hieronder wordt aangegeven of elke keuze van toepassing is op clusterarchitectuur, workloadarchitectuur of beide.
Controlelijst voor ontwerp van prestatie-efficiëntie
Bekijk de ontwerpprincipes om de kosten van uw architectuur te optimaliseren.
- Ontwerp uw schema en query's voor efficiëntie om het resourceverbruik te minimaliseren.
- Implementeer leesreplica's om leesverkeer te offloaden en de algehele prestaties te verbeteren.
Aanbevelingen voor prestatie-efficiëntie
Aanbeveling | Voordelen |
---|---|
Ontwerp uw schema en query's voor efficiëntie om het resourceverbruik te minimaliseren. | U moet uw schema en query's ontwerpen voor efficiëntie om het resourceverbruik te minimaliseren. |
Implementeer leesreplica's om leesverkeer te offloaden en de algehele prestaties te verbeteren. | U kunt leesreplica's gebruiken om leesverkeer te offloaden en de prestaties te verbeteren. |
Beleidsdefinities voor prestatie-efficiëntie
Azure Policy-definities helpen u bij het afdwingen van specifieke regels en configuraties voor resources binnen uw Azure-omgeving. Om prestatie-efficiëntie voor Azure Database for PostgreSQL te garanderen, kunt u aangepaste Azure Policy definities maken om specifieke configuraties en best practices af te dwingen. Hier volgt een voorbeeld van een aantal aangepaste Azure Policy definities die u kunt maken voor prestatie-efficiëntie:
Extra resources
Overweeg meer resources met betrekking tot Azure Database for PostgreSQL.
Richtlijnen voor Azure Architecture Center
- Multitenancy en Azure Database for PostgreSQL
- Aanbevolen procedures
- Prestaties optimaliseren
- Afstemmen