Bewährte Methoden für die Architektur für Azure-Datenbank für PostgreSQL
Dieser Artikel enthält architektonische Best Practices für Azure Database for PostgreSQL.
Die Leitlinien basieren auf den fünf Säulen der architektonischen Exzellenz:
- Zuverlässigkeit
- Sicherheit
- Kostenoptimierung
- Operative Exzellenz
- Leistungseffizienz
Voraussetzungen
Das Verständnis der Well-Architected Framework-Säulen kann dazu beitragen, eine qualitativ hochwertige, stabile und effiziente Cloudarchitektur zu erzeugen. Es wird empfohlen, Ihren Workload mithilfe der Azure Well-Architected Framework-Bewertung zu überprüfen.
Azure-Datenbank für PostgreSQL ist ein relationaler Datenbankdienst in Azure, der auf der relationalen Open-Source-Datenbank PostgreSQL basiert. Es ist eine vollständig verwaltete Datenbank als Dienst, die unternehmenskritische Workloads mit vorhersehbarer Leistung, Sicherheit, hoher Verfügbarkeit und dynamischer Skalierbarkeit verarbeiten kann. Azure Database for PostgreSQL basiert auf der Community Edition des PostgreSQL-Datenbankmoduls. Es ist kompatibel mit der PostgreSQL Server Community Edition und unterstützt PostgreSQL-Erweiterungsfeatures wie PostGIS und TimescaleDB.
Anmerkung
Um eine leichtgewichtige Lösungsidee zu erkunden, die Azure Database für PostgreSQL verwendet, um analytische Ergebnisse aus der Cognitive Services-API zu speichern, lesen Sie Intelligente Apps mit Azure Database for PostgreSQL.
Zuverlässigkeit
Azure Database for PostgreSQL – Flexible Server bietet Unterstützung der Hochverfügbarkeit durch die Bereitstellung physisch getrennter primärer und Standby-Replikate innerhalb derselben Verfügbarkeitszone (zonenbasiert) oder über Verfügbarkeitszonen (zonenredundant). Dieses Modell für hohe Verfügbarkeit stellt sicher, dass zugesicherte Daten nie verloren gehen, wenn ein Fehler auftritt. Das Modell ist auch so konzipiert, dass die Datenbank nicht zu einem einzigen Fehlerpunkt in Ihrer Softwarearchitektur wird. Azure Database for PostgreSQL – Flexible Server bietet Features, die Daten schützen und Ausfallzeiten für Ihre unternehmenskritischen Datenbanken während geplanter und ungeplanter Ausfallzeiten mindern. Basierend auf der Azure-Infrastruktur, die robuste Resilienz und Verfügbarkeit bietet, verfügt der flexible Server über Geschäftskontinuitätsfeatures, die Fehlerschutz bieten, die Wiederherstellungszeitanforderungen erfüllen und die Gefährdung von Datenverlust reduzieren.
Prüfliste für den Zuverlässigkeitsentwurf
Sie sollten die Designprinzipien überprüfen, um die Kosten Ihrer Architektur zu optimieren.
- Definierte Ziele für RPO (Recovery Point Objective) und RTO (Recovery Time Objective) für Workloads.
- Wählen Sie die entsprechende Hochverfügbarkeitskonfiguration aus.
- Konfigurieren sie die Georedundanzsicherung.
- Testen Sie Ihren Notfallwiederherstellungsplan, um eine schnelle Wiederherstellung der Daten im Falle eines Ausfalls sicherzustellen.
- Testen Sie das On-Demand-Failover für Ihren HA-fähigen Server, um sicherzustellen, dass sich unsere Anwendung wie erwartet verhält.
- Überwachen Sie Ihren Server, um sicherzustellen, dass er fehlerfrei ist und wie erwartet ausgeführt wird.
Zuverlässigkeitsempfehlungen
Empfehlung | Nutzen |
---|---|
Definierte Ziele für RPO (Recovery Point Objective) und RTO (Recovery Time Objective) für Workloads. | Leiten Sie diese Werte ab, indem Sie eine Risikobewertung durchführen und sicherstellen, dass Sie die Kosten und das Risiko von Ausfallzeiten und Datenverlusten verstehen. Dies sind nicht funktionsfähige Anforderungen eines Systems und sollten von den Geschäftlichen Anforderungen bestimmt werden. |
Wählen Sie die entsprechende Hochverfügbarkeitskonfiguration aus. | Azure Database for PostgreSQL Server bietet Konfigurationen für hohe Verfügbarkeit, um sicherzustellen, dass der Dienst verfügbar bleibt, wenn ein Zonenausfall vorliegt und keine Daten verloren gehen. Wenn hohe Verfügbarkeit konfiguriert ist, stellt der Azure-Datenbank für PostgreSQL-Server automatisch ein Standby-Replikat bereit und verwaltet es. |
Konfigurieren sie die Georedundanzsicherung. | Regionsübergreifende Lesereplikate können bereitgestellt werden, um Ihre Datenbanken vor Fehlern auf Regionsebene zu schützen. Geo Redundante Sicherungen sind in ausgewählten Regionen aktiviert und helfen bei der Notfallwiederherstellung, wenn die primäre Serverregion ausgefallen ist. Georedundanz kann auch mithilfe eines Azure Backup Vault für die langfristige Speicherung der Wiederherstellungspunkte erreicht werden. Im Falle eines regionalen Ausfalls oder eines Notfalls können Sie Azure Backup verwenden, um den Datenbankserver in einer mit Azure gekoppelten Region wiederherzustellen, wodurch Ausfallzeiten minimiert werden. Azure Backup bietet auch Georedundanz für Azure-Datenbank für PostgreSQL – Flexibler Server, steigerung der Effizienz und Reduzierung von Ausfallzeiten bei Katastrophen oder Regionenausfällen. |
Testen Sie Ihren Notfallwiederherstellungsplan, um eine schnelle Wiederherstellung der Daten sicherzustellen, wenn ein Fehler auftritt. | Lesereplikate können in einer anderen Region bereitgestellt und auf einen Lese-/Schreibserver heraufgestuft werden, wenn einen Notfallwiederherstellung erforderlich ist. |
Überwachen Sie Ihren Server, um sicherzustellen, dass er fehlerfrei ist und wie erwartet ausgeführt wird. | Wir verfügen über eine Datenbanküberwachung, um Fehler auf Datenbankebene zu überwachen und zu benachrichtigen. |
Tipp
Weitere Informationen zur Zuverlässigkeitsanleitung für Azure-Datenbank für PostgreSQL finden Sie unter Zuverlässigkeit mit Azure Database for PostgreSQL.
Azure-Richtliniendefinitionen
Azure-Richtliniendefinitionen helfen Ihnen, bestimmte Regeln und Konfigurationen für Ressourcen in Ihrer Azure-Umgebung zu erzwingen. Um die Zuverlässigkeit für Azure-Datenbank für PostgreSQL sicherzustellen, können Sie benutzerdefinierte Azure-Richtliniendefinitionen erstellen, um bestimmte Konfigurationen und bewährte Methoden zu implementieren. Nachfolgend finden Sie ein Beispiel für einige benutzerdefinierte Azure-Richtliniendefinitionen, die Sie zur Zuverlässigkeit erstellen können:
Sicherheit
Berücksichtigen Sie die Sicherheit für den gesamten Lebenszyklus einer Anwendung – von Entwurf und Implementierung bis hin zu Bereitstellung und Betrieb. Die Azure-Plattform schützt vor verschiedenen Bedrohungen wie Netzwerkangriffen und DDoS-Angriffen. Sie müssen weiterhin Sicherheit in Ihre Anwendung und Ihre DevOps-Prozesse integrieren.
Prüfliste für den Sicherheitsentwurf
Sie sollten die Designprinzipien überprüfen, um die Kosten Ihrer Architektur zu optimieren.
- SSL und Erzwingen der Verschlüsselung zum Sichern von Daten während der Übertragung
- Implementieren Sie Netzwerksicherheitsgruppen und Firewalls, um den Zugriff auf Ihre Datenbank zu steuern.
- Verwenden Sie die Microsoft Entra-ID für die Authentifizierung und Autorisierung, um die Identitätsverwaltung zu verbessern.
- Konfigurieren sie die Sicherheit auf Zeilenebene.
Sicherheitsempfehlungen
Empfehlung | Nutzen |
---|---|
SSL und Erzwingen der Verschlüsselung zum Sichern von Daten während der Übertragung | Stellen Sie das DigiCert Global Root-Zertifikat von einer vertrauenswürdigen Zertifizierungsstelle bereit, das für die Kommunikation über SSL mit Clientanwendungen erforderlich ist. |
Implementieren Sie Netzwerksicherheitsgruppen und Firewalls, um den Zugriff auf Ihre Datenbank zu steuern. | Im Rahmen des Zero Trust Model for Security wird empfohlen, dass die Netzwerksegmentierung empfohlen wird, wenn Kommunikationspfade zwischen Komponenten (in diesem Fall Anwendungs- und Datenbankserver) nur auf die benötigten Komponenten beschränkt sind. Dies kann mithilfe von Netzwerksicherheitsgruppen und Anwendungssicherheitsgruppen implementiert werden. |
Verwenden Sie die Microsoft Entra-ID für die Authentifizierung und Autorisierung, um die Identitätsverwaltung zu verbessern. | Die Microsoft Entra ID-Authentifizierung ist ein Mechanismus zum Herstellen einer Verbindung mit Azure-Datenbank für PostgreSQL mithilfe von in Azure AD definierten Identitäten. |
Konfigurieren sie die Sicherheit auf Zeilenebene. | Sicherheit auf Zeilenebene (Row Level Security, RLS) ist ein PostgreSQL-Sicherheitsfeature, mit dem Datenbankadministratoren Richtlinien definieren können, um zu steuern, wie bestimmte Zeilen mit Daten für eine oder mehrere Rollen angezeigt und ausgeführt werden. Die Sicherheit auf Zeilenebene ist ein zusätzlicher Filter, den Sie auf eine PostgreSQL-Datenbanktabelle anwenden können. |
Kostenoptimierung
Die Kostenoptimierung geht es darum, Ihre Konfigurationsoptionen zu verstehen und bewährte Methoden zu empfehlen, um unnötige Ausgaben zu reduzieren und die betriebliche Effizienz zu verbessern. Sie sollten Ihre Arbeitsauslastung überprüfen, um Möglichkeiten zur Senkung der Kosten zu identifizieren.
Prüfliste für die Kostenplanung
Sie sollten die Designprinzipien überprüfen, um die Kosten Ihrer Architektur zu optimieren.
- Wählen Sie die richtige Ebene und SKU aus.
- Verstehen des Modus für hohe Verfügbarkeit.
- Skalieren von Compute- und Speicherebenen
- Überlegungen zu reservierten Instanzen
- Verwenden Sie Ihren bereitgestellten Speicher.
- Kosten der Georedundanz verstehen
- Entscheidungen zur Speichererweiterung bewerten.
- Stellen Sie in derselben Region wie die App bereit.
- Hochverfügbarkeitsorientierte Kostenbeschreibung
- Konsolidieren sie Datenbanken und Server.
Kostenempfehlungen
Empfehlungen | Vorteile |
---|---|
Wählen Sie die richtige Ebene und SKU aus. | Wählen Sie das Preisniveau und berechnen Sie SKUs, die die spezifischen Anforderungen Ihrer Workload unterstützen. Azure Advisor gibt Ihnen Empfehlungen, um Ihre gesamten Azure-Ausgaben zu optimieren und zu reduzieren. Zu den Empfehlungen gehört die richtige Serverdimensionierung, die Sie beachten sollten. |
Verstehen des Modus für hohe Verfügbarkeit. | Hohe Verfügbarkeit macht einen Standbyserver immer innerhalb derselben Zone oder Region verfügbar. Durch die Aktivierung von hoher Verfügbarkeit werden Ihre Kosten verdoppelt. |
Passen Sie Rechen- und Speicherebenen an. | Sie sollten die Compute- und Speicherebenen manuell anpassen, um die Anforderungen der Anwendung im Laufe der Zeit zu erfüllen. |
Verwenden Sie das Start-/Stopp-Feature. | Der flexible Server verfügt über ein Start-/Stopp-Feature, mit dem Sie die Ausführung des Servers beenden können, wenn Sie ihn nicht benötigen. |
Überlegungen zu reservierten Instanzen | Ziehen Sie eine ein- oder dreijährige Reservierung in Betracht, um erhebliche Rabatte auf Computerdienste zu erhalten. Verwenden Sie diese Reservierungen für Workloads mit konsistenter Berechnungsauslastung für ein Jahr oder mehr. |
Verwenden Sie Ihren bereitgestellten Speicher. | Es werden keine zusätzlichen Kosten für Sicherungsspeicher bis zu 100% des gesamten bereitgestellten Speichers Ihres Servers berechnet. |
Verstehen der Redundanzkosten. | Georedundanter Speicher (GRS) kostet doppelt so viel wie lokaler redundanter Speicher (LRS). GRS erfordert eine doppelte Speicherkapazität von LRS. |
Grundlegendes zu geschützten Instanzen und Sicherungsspeicherkosten | Bei der Sicherung von PostgreSQL – Flexibler Server mit Azure Backup entstehen geschützte Instanzengebühren (pro 250 GB) und Sicherungsspeichergebühren (basierend auf der Gesamtzahl der gespeicherten und redundanzbasierten Daten). |
Bewerten Sie Entscheidungen zur Erweiterung des Speicherplatzes. | Sie sollten Ihre aktuellen und zukünftigen Speicheranforderungen auswerten, bevor Sie Den Speicher skalieren. Nachdem Sie den Speicher skaliert haben, können Sie die Skalierung nicht nach unten ausführen. |
Stellen Sie in derselben Region wie die App bereit. | Stellen Sie in derselben Region wie die Anwendung(en) bereit, um die Übertragungskosten zu minimieren. Wenn Sie die Integration virtueller Netzwerke verwenden, haben Anwendungen in einem anderen virtuellen Netzwerk keinen direkten Zugriff auf flexible Server. Um ihnen Zugriff zu gewähren, müssen Sie virtuelle Netzwerk-Peering konfigurieren. Virtuelles Netzwerk-Peering hat Nominalkosten für eingehende und ausgehende Datenübertragungen. |
Kostenbeschreibung mit Fokus auf Hochverfügbarkeit. | Es handelt sich um einen Kompromiss zwischen Hochverfügbarkeit (HA) und Kosten. HA ist doppelt so hoch wie die Kosten für die Konfiguration ohne HA, aber es ist erforderlich. |
Konsolidieren sie Datenbanken und Server. | Sie können mehrere Datenbanken und Server in einem einzigen Server konsolidieren, um Kosten zu senken. |
Azure-Richtliniendefinitionen
Azure-Richtliniendefinitionen helfen Ihnen, bestimmte Regeln und Konfigurationen für Ressourcen in Ihrer Azure-Umgebung zu erzwingen. Um die Kostenoptimierung für Azure-Datenbank für PostgreSQL sicherzustellen, können Sie benutzerdefinierte Azure-Richtliniendefinitionen erstellen, um bestimmte Konfigurationen und bewährte Methoden zu erzwingen. Hier ist ein Beispiel für einige benutzerdefinierte Azure-Richtliniendefinitionen, die Sie für die Kostenoptimierung erstellen können:
Operative Exzellenz
Die Grundsätze der betrieblichen Exzellenz sind eine Reihe von Überlegungen, die dazu beitragen können, überlegene betriebliche Praktiken zu erreichen.
Um eine höhere Kompetenz im Betrieb zu erreichen, überlegen und verbessern Sie, wie Software entwickelt, bereitgestellt, betrieben und gewartet wird.
Prüfliste für die Gestaltung operativer Exzellenz
Sie sollten die Designprinzipien überprüfen, um die Kosten Ihrer Architektur zu optimieren.
- Richten Sie automatisierte Sicherungen und Aufbewahrungsrichtlinien ein, um die Datenverfügbarkeit aufrechtzuerhalten und complianceanforderungen zu erfüllen.
- Implementieren Sie automatisierte Patches und Updates, um Ihre PostgreSQL-Instanz sicher und aktuell zu halten.
- Überwachen Sie den Datenbankstatus und die Leistung mithilfe von Azure Monitor, und richten Sie Warnungen für kritische Metriken ein.
Empfehlungen für operative Exzellenz
Empfehlung | Vorteile |
---|---|
Richten Sie automatisierte Sicherungen und Aufbewahrungsrichtlinien ein, um die Datenverfügbarkeit aufrechtzuerhalten und complianceanforderungen zu erfüllen. Alternativ können Sie eine Azure Backup-Richtlinie verwenden, um Azure Database für PostgreSQL Server zu sichern. Sie können diese Azure Backup-Richtlinie auch verwenden, um Azure-Datenbank für PostgreSQL – Flexible Server zu schützen. |
Azure Database for PostgreSQL bietet automatisierte Sicherungen und Point-in-Time-Wiederherstellung für Ihre Datenbank. Sie können den Aufbewahrungszeitraum für Sicherungen bis zu 35 Tage konfigurieren. Mit Azure Backup können Sie definieren, wie und wann Sicherungen erstellt werden, der Aufbewahrungszeitraum für Wiederherstellungspunkte und die Regeln für Datenschutz und Wiederherstellung. Sie können Wiederherstellungspunkte in einem Sicherungstresor für bis zu 10 Jahre aufbewahren. Verwenden Sie Azure Backup-Richtlinie für den langfristigen Schutz der Azure-Datenbank für PostgreSQL – Flexibler Server und zum Verwalten der Sicherheit und Integrität der Datenbank. Sie können die Sicherungs- und Wiederherstellungsvorgänge auch mit Azure Business Continuity Centerverwalten. |
Implementieren Sie automatisierte Patches und Updates, um Ihre PostgreSQL-Instanz sicher und aktuell zu halten. | Azure Database for PostgreSQL bietet automatisierte Patching und Updates für Ihre Datenbank. Sie können das Wartungsfenster für Ihren Server konfigurieren, um die Auswirkungen auf Ihre Workload zu minimieren. |
Überwachen Sie den Datenbankstatus und die Leistung mithilfe von Azure Monitor, und richten Sie Warnungen für kritische Metriken ein. | Azure Database for PostgreSQL bietet integrierte Überwachungs- und Warnungsfunktionen. Sie können die Integrität und Leistung Ihrer Datenbank mithilfe von Azure Monitor überwachen. Sie können auch Warnungen für kritische Metriken einrichten, um benachrichtigt zu werden, wenn Ihre Datenbank nicht wie erwartet ausgeführt wird. |
Definition operativer Exzellenzrichtlinien
Azure-Richtliniendefinitionen helfen Ihnen, bestimmte Regeln und Konfigurationen für Ressourcen in Ihrer Azure-Umgebung zu erzwingen. Um operative Exzellenz für Azure-Datenbank für PostgreSQL sicherzustellen, können Sie benutzerdefinierte Azure-Richtliniendefinitionen erstellen, um bestimmte Konfigurationen und bewährte Methoden zu erzwingen. Hier ist ein Beispiel für einige benutzerdefinierte Azure-Richtliniendefinitionen, die Sie für operative Exzellenz erstellen können:
Leistungseffizienz
Die Effizienz der Leistung ist die Fähigkeit Ihrer Arbeitslast, effizient auf die von den Benutzern gestellten Anforderungen zu skalieren. Wir empfehlen Ihnen, die Prinzipien der Leistungseffizienz zu überprüfen.
In der nachstehenden Entwurfscheckliste und Liste der Empfehlungen wird angegeben, ob jede Option auf Cluster- oder Workloadarchitektur oder beides zutrifft.
Checkliste für leistungsfähiges Design
Sie sollten die Designprinzipien überprüfen, um die Kosten Ihrer Architektur zu optimieren.
- Entwerfen Sie Ihr Schema und Ihre Abfragen effizient, um den Ressourcenverbrauch zu minimieren.
- Setzen Sie Lesereplikate ein, um die Lesebelastung zu reduzieren und die Gesamtleistung zu verbessern.
Empfehlungen zur Leistungseffizienz
Empfehlung | Vorteile |
---|---|
Entwerfen Sie Ihr Schema und Ihre Abfragen für mehr Effizienz, um den Ressourcenverbrauch zu minimieren. | Sie sollten Ihr Schema und Ihre Abfragen zur Effizienz entwerfen, um den Ressourcenverbrauch zu minimieren. |
Implementieren Sie Lesereplikate, um den Lesedatenverkehr zu entlasten und die Gesamtleistung zu verbessern. | Sie können Lesereplikate verwenden, um Lesedatenverkehr zu entladen und die Leistung zu verbessern. |
Richtliniendefinitionen für die Leistungseffizienz
Azure-Richtliniendefinitionen helfen Ihnen, bestimmte Regeln und Konfigurationen für Ressourcen in Ihrer Azure-Umgebung zu erzwingen. Um die Leistungseffizienz für Azure-Datenbank für PostgreSQL sicherzustellen, können Sie benutzerdefinierte Azure-Richtliniendefinitionen erstellen, um bestimmte Konfigurationen und bewährte Methoden zu erzwingen. Hier ist ein Beispiel für einige benutzerdefinierte Azure-Richtliniendefinitionen, die Sie für die Leistungseffizienz erstellen können:
Zusätzliche Ressourcen
Berücksichtigen Sie weitere Ressourcen im Zusammenhang mit Der Azure-Datenbank für PostgreSQL.
Leitfaden zum Azure Architecture Center
- Mehrinstanzenfähigkeit und Azure Database for PostgreSQL
- bewährte Methoden
- Leistungsoptimierung
- Optimierung