Freigeben über


Azure Well-Architected Framework– Azure Database for PostgreSQL

Dieser Artikel enthält bewährte Architekturmethoden für Azure Database for PostgreSQL.

Die Anleitung basiert auf den fünf Säulen architektonischer Exzellenz:

  • Zuverlässigkeit
  • Sicherheit
  • Kostenoptimierung
  • Optimaler Betrieb
  • Effiziente Leistung

Voraussetzungen

Das Verständnis der Well-Architected Framework-Säulen kann zur Erstellung einer qualitativ hochwertigen, stabilen und effizienten Cloudarchitektur beitragen. Es wird empfohlen, Ihre Workload mithilfe der Bewertung der Azure Well-Architected Framework-Überprüfung zu überprüfen.

Azure Database for PostgreSQL ist ein relationaler Datenbankdienst in Azure, der auf der relationalen Open-Source-Datenbank PostgreSQL basiert. Das vollständig verwaltete Database-as-a-Service-Angebot kann geschäftskritische Workloads mit vorhersagbarer Leistung, Sicherheit, Hochverfügbarkeit und dynamischer Skalierung verarbeiten. Azure Database for PostgreSQL basiert auf der Community-Edition der PostgreSQL-Datenbank-Engine. Es ist mit der PostgreSQL Server Community Edition kompatibel und unterstützt PostgreSQL-Erweiterungsfeatures wie PostGIS und TimescaleDB.

Hinweis

Informationen zu einer leichten Lösungsidee, die Azure Database for PostgreSQL zum Speichern von Analyseergebnissen aus der Cognitive Services-API verwendet, finden Sie unter Intelligente Apps mit Azure Database for PostgreSQL.

Zuverlässigkeit

Azure Database for PostgreSQL : Flexible Server bietet Unterstützung für Hochverfügbarkeit durch die Bereitstellung physisch getrennter Primär- und Standbyreplikate innerhalb derselben Verfügbarkeitszone (zonenredundant) oder über Verfügbarkeitszonen hinweg (zonenredundant). Dieses Hochverfügbarkeitsmodell stellt sicher, dass committete Daten bei einem Fehler nie verloren gehen. Das Modell ist auch so konzipiert, dass die Datenbank in Ihrer Softwarearchitektur nicht zu einem einzigen Fehlerpunkt wird. Azure Database for PostgreSQL – Flexibler Server bietet Funktionen, die Daten schützen und Ausfallzeiten für Ihre unternehmenskritischen Datenbanken bei geplanten und ungeplanten Ausfallzeiten verringern. Der flexible Server basiert auf der Azure-Infrastruktur, die robuste Resilienz und Verfügbarkeit bietet, und verfügt über Business Continuity-Features, die Fehlerschutz bieten, die Anforderungen an die Wiederherstellungszeit erfüllen und die Gefährdung von Datenverlusten verringern.

Prüfliste für den Zuverlässigkeitsentwurf

Sie sollten die Entwurfsprinzipien ü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 der Georedundanzsicherung
  • Testen Sie Ihren Notfallwiederherstellungsplan, um bei einem Ausfall eine schnelle Datenwiederherstellung sicherzustellen.
  • Testen Sie das On-Demand-Failover für Ihren Hochverfügbarkeitsserver, um sicherzustellen, dass sich unsere Anwendung erwartungsgemäß verhält.
  • Überwachen Sie Ihren Server, um sicherzustellen, dass er fehlerfrei ist und wie erwartet funktioniert.

Zuverlässigkeitsempfehlungen

Empfehlung Vorteil
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. Diese sind nicht funktionsbezogene Anforderungen eines Systems und sollten von Geschäftsanforderungen vorgegeben werden.
Wählen Sie die entsprechende Hochverfügbarkeitskonfiguration aus. Azure Database for PostgreSQL Server bietet Hochverfügbarkeitskonfigurationen, um sicherzustellen, dass der Dienst verfügbar bleibt, wenn es zu einem Zonenausfall kommt und keine Daten verloren gehen. Wenn Hochverfügbarkeit konfiguriert ist, stellt der Azure Database for PostgreSQL Server automatisch ein Standbyreplikat bereit und verwaltet es.
Konfigurieren der Georedundanzsicherung Regionsübergreifende Lesereplikate können bereitgestellt werden, um Ihre Datenbanken vor Fehlern auf Regionsebene zu schützen. Georedundante Sicherungen werden in ausgewählten Regionen aktiviert und helfen bei der Notfallwiederherstellung, wenn die primäre Serverregion ausgefallen ist.
Testen Sie Ihren Notfallwiederherstellungsplan, um bei einem Fehler eine schnelle Datenwiederherstellung sicherzustellen. Lesereplikate können in einer anderen Region bereitgestellt und zu einem Lese-/Schreibserver heraufgestuft werden, wenn eine Notfallwiederherstellung erforderlich ist.
Überwachen Sie Ihren Server, um sicherzustellen, dass er fehlerfrei ist und wie erwartet funktioniert. Wir verfügen über eine Datenbanküberwachung, um Fehler auf Datenbankebene zu überwachen und davor zu warnen.

Tipp

Weitere Informationen zur Zuverlässigkeitsanleitung für Azure Database for PostgreSQL finden Sie unter Zuverlässigkeit mit Azure Database for PostgreSQL.

Azure-Richtliniendefinitionen

Azure Policy Definitionen können Sie bestimmte Regeln und Konfigurationen für Ressourcen in Ihrer Azure-Umgebung erzwingen. Um die Zuverlässigkeit für Azure Database for PostgreSQL zu gewährleisten, können Sie benutzerdefinierte Azure Policy-Definitionen erstellen, um bestimmte Konfigurationen und bewährte Methoden zu implementieren. Hier sehen Sie ein Beispiel für einige benutzerdefinierte Azure Policy Definitionen, die Sie aus Gründen der 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 Netzwerkeinbruch 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 Entwurfsprinzipien überprüfen, um die Kosten Ihrer Architektur zu optimieren.

  • SSL und Erzwingen der Verschlüsselung, um Daten während der Übertragung zu schützen.
  • Implementieren Sie Netzwerksicherheitsgruppen und Firewalls, um den Zugriff auf Ihre Datenbank zu steuern.
  • Verwenden Sie Azure Active Directory für die Authentifizierung und Autorisierung, um die Identitätsverwaltung zu verbessern.
  • Konfigurieren sie die Sicherheit auf Zeilenebene.

Sicherheitsempfehlungen

Empfehlung Vorteil
SSL und Erzwingen der Verschlüsselung, um Daten während der Übertragung zu schützen. Stellen Sie das globale DigiCert-Stammzertifikat aus einem vertrauenswürdigen Zertifikat der 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-Modells für Die Sicherheit wird eine Netzwerksegmentierung empfohlen, bei der Kommunikationspfade zwischen Komponenten (in diesem Fall Anwendung und Datenbankserver) nur auf die benötigten Elemente beschränkt sind. Dies kann mithilfe von Netzwerksicherheitsgruppen und Anwendungssicherheitsgruppen implementiert werden.
Verwenden Sie Azure Active Directory für die Authentifizierung und Autorisierung, um die Identitätsverwaltung zu verbessern. Microsoft Azure AD-Authentifizierung (Azure Active Directory) ist ein Mechanismus zum Herstellen einer Verbindung mit Azure Database for PostgreSQL unter Verwendung der in Azure AD definierten Identitäten.
Konfigurieren sie die Sicherheit auf Zeilenebene. Die Sicherheit auf Zeilenebene (Row Level Security, RLS) ist ein PostgreSQL-Sicherheitsfeature, mit dem Datenbankadministratoren Richtlinien definieren können, um zu steuern, wie bestimmte Datenzeilen für eine oder mehrere Rollen angezeigt und ausgeführt werden. Sicherheit auf Zeilenebene ist ein zusätzlicher Filter, den Sie auf eine PostgreSQL-Datenbanktabelle anwenden können.

Kostenoptimierung

Bei der Kostenoptimierung geht es um das Verständnis Ihrer Konfigurationsoptionen und empfohlenen bewährten Methoden, um unnötige Ausgaben zu reduzieren und die betriebliche Effizienz zu verbessern. Sie sollten Ihre Workload überprüfen, um Möglichkeiten zur Kostensenkung zu identifizieren.

Prüfliste für den Kostenentwurf

Sie sollten die Entwurfsprinzipien überprüfen, um die Kosten Ihrer Architektur zu optimieren.

  • Wählen Sie die richtige Ebene und die richtige SKU aus.
  • Verstehen des Hochverfügbarkeitsmodus
  • Skalieren sie Compute- und Speicherebenen.
  • Betrachten Sie reservierte Instanzen.
  • Verwenden Sie Ihren bereitgestellten Speicher.
  • Verstehen der Kosten für Georedundanz
  • Bewerten sie Entscheidungen zum Hochskalieren des Speichers.
  • Stellen Sie die Bereitstellung in derselben Region wie eine App bereit.
  • Hochverfügbarkeitsorientierte Kostenbeschreibung.
  • Konsolidieren von Datenbanken und Servern.

Kostenempfehlungen

Empfehlungen Vorteile
Wählen Sie die richtige Ebene und die richtige SKU aus. Wählen Sie den Tarif und die Compute-SKUs aus, die die spezifischen Anforderungen Ihrer Workload unterstützen. Azure Advisor bietet Ihnen Empfehlungen zum Optimieren und Reduzieren Ihrer Gesamten Azure-Ausgaben. Die Empfehlungen umfassen die richtige Serverdimensionierung, die Sie befolgen sollten.
Grundlegendes zum Hochverfügbarkeitsmodus. Mit Hochverfügbarkeit ist ein Standbyserver immer innerhalb derselben Zone oder Region verfügbar. Das Aktivieren von Hochverfügbarkeit verdoppelt Ihre Kosten.
Anpassen der Compute- und Speicherebenen. Sie sollten die Compute- und Speicherebenen manuell anpassen, um die Anforderungen der Anwendung im Laufe der Zeit zu erfüllen.
Verwenden Sie das Feature "Starten/Beenden". Der flexible Server verfügt über eine Start/Stop-Funktion, die Sie verwenden können, um die Ausführung des Servers zu beenden, wenn Sie ihn nicht benötigen.
Berücksichtigen Sie reservierte Instanzen. Erwägen Sie eine Reservierung von ein oder drei Jahren, um erhebliche Rabatte auf die Berechnung zu erhalten. Verwenden Sie diese Reservierungen für Workloads mit konsistenter Computenutzung für ein Jahr oder länger.
Verwenden Sie Ihren bereitgestellten Speicher. Es fallen keine zusätzlichen Gebühren für Sicherungsspeicher bis zu 100 % Ihres gesamten bereitgestellten Serverspeichers an.
Grundlegendes zu Redundanzkosten. Georedundanter Speicher (GRS) kostet doppelt so viel wie lokaler redundanter Speicher (LRS). GRS erfordert eine doppelte Speicherkapazität von LRS.
Bewerten von Entscheidungen zur Speicherskalierung. Sie sollten Ihre aktuellen und zukünftigen Speicheranforderungen bewerten, bevor Sie Ihren Speicher hochskalieren. Nachdem Sie den Speicher hochskaliert haben, können Sie nicht herunterskalieren.
Stellen Sie in derselben Region wie die App bereit. Stellen Sie in derselben Region wie die Anwendungen 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 das Peering virtueller Netzwerke konfigurieren. Das Peering virtueller Netzwerke verursacht nominale Kosten für eingehende und ausgehende Datenübertragungen.
Hochverfügbarkeitsorientierte Kostenbeschreibung. Dies ist ein Kompromiss zwischen Hochverfügbarkeit und Kosten. Hochverfügbarkeit ist doppelt so hoch wie die Kosten für konfiguration ohne Hochverfügbarkeit, aber sie ist erforderlich.
Konsolidieren von Datenbanken und Servern. Sie können mehrere Datenbanken und Server auf einem einzelnen Server konsolidieren, um Kosten zu senken.

Azure-Richtliniendefinitionen

Azure Policy Definitionen helfen Ihnen, bestimmte Regeln und Konfigurationen für Ressourcen in Ihrer Azure-Umgebung zu erzwingen. Um die Kostenoptimierung für Azure Database for PostgreSQL sicherzustellen, können Sie benutzerdefinierte Azure Policy Definitionen erstellen, um bestimmte Konfigurationen und bewährte Methoden zu erzwingen. Hier sehen Sie ein Beispiel für einige benutzerdefinierte Azure Policy Definitionen, die Sie für die Kostenoptimierung erstellen können:

Optimaler Betrieb

Die Prinzipien für den optimalen Betrieb sind eine Reihe von Faktoren, die zur Erzielung besserer Betriebspraktiken beitragen können.

Um eine höhere Kompetenz im Betrieb zu erreichen, sollten Sie berücksichtigen und verbessern, wie Software entwickelt, bereitgestellt, betrieben und gewartet wird.

Checkliste für den Entwurf von hervorragenden Betriebsabläufen

Sie sollten die Entwurfsprinzipien ü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 automatisiertes Patchen und Updates, um Ihre PostgreSQL-instance sicher und auf dem neuesten Stand zu halten.
  • Überwachen Sie die Integrität und Leistung der Datenbank mithilfe von Azure Monitor, und richten Sie Warnungen für kritische Metriken ein.

Empfehlungen für optimalen Betrieb

Empfehlung Vorteile
Richten Sie automatisierte Sicherungen und Aufbewahrungsrichtlinien ein, um die Datenverfügbarkeit aufrechtzuerhalten und Complianceanforderungen zu erfüllen. 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.
Implementieren Sie automatisiertes Patchen und Updates, um Ihre PostgreSQL-instance sicher und auf dem neuesten Stand zu halten. Azure Database for PostgreSQL bietet automatisiertes Patchen 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 die Integrität und Leistung der Datenbank 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 mit Azure Monitor überwachen. Sie können auch Warnungen für kritische Metriken einrichten, um benachrichtigt zu werden, wenn Ihre Datenbank nicht wie erwartet funktioniert.

Richtliniendefinitionen für optimale Betriebsabläufe

Azure Policy Definitionen helfen Ihnen, bestimmte Regeln und Konfigurationen für Ressourcen in Ihrer Azure-Umgebung zu erzwingen. Sie können benutzerdefinierte Azure Policy Definitionen erstellen, um für Azure Database for PostgreSQL optimale Betriebsabläufe zu sorgen, um bestimmte Konfigurationen und bewährte Methoden zu erzwingen. Im Folgenden finden Sie ein Beispiel für einige benutzerdefinierte Azure Policy Definitionen, die Sie für optimale Betriebsabläufe erstellen können:

Effiziente Leistung

Leistungseffizienz ist die Fähigkeit einer Workload, eine effektive Skalierung durchzuführen, um die Anforderungen der Benutzer*innen zu erfüllen. Es wird empfohlen, die Prinzipien der Leistungseffizienz zu überprüfen.

In der Entwurfsprüfliste und der Unten aufgeführten Empfehlungen geben Aufrufe an, ob jede Auswahl für Clusterarchitektur, Workloadarchitektur oder beides gilt.

Prüfliste für den Entwurf der Leistungseffizienz

Sie sollten die Entwurfsprinzipien überprüfen, um die Kosten Ihrer Architektur zu optimieren.

  • Entwerfen Sie Ihr Schema und Abfragen auf Effizienz, um den Ressourcenverbrauch zu minimieren.
  • Implementieren Sie Lesereplikate, um Lesedatenverkehr auszulagern und die Gesamtleistung zu verbessern.

Empfehlungen zur Leistungseffizienz

Empfehlung Vorteile
Entwerfen Sie Ihr Schema und Abfragen auf Effizienz, um den Ressourcenverbrauch zu minimieren. Sie sollten Ihr Schema und Ihre Abfragen auf Effizienz hin entwerfen, um den Ressourcenverbrauch zu minimieren.
Implementieren Sie Lesereplikate, um Lesedatenverkehr auszulagern und die Gesamtleistung zu verbessern. Sie können Lesereplikate verwenden, um Lesedatenverkehr auszulagern und die Leistung zu verbessern.

Richtliniendefinitionen für die Leistungseffizienz

Azure Policy Definitionen helfen Ihnen, bestimmte Regeln und Konfigurationen für Ressourcen in Ihrer Azure-Umgebung zu erzwingen. Um die Leistungseffizienz für Azure Database for PostgreSQL sicherzustellen, können Sie benutzerdefinierte Azure Policy-Definitionen erstellen, um bestimmte Konfigurationen und bewährte Methoden zu erzwingen. Im Folgenden finden Sie ein Beispiel für einige benutzerdefinierte Azure Policy Definitionen, die Sie zur Leistungseffizienz erstellen können:

Weitere Ressourcen

Berücksichtigen Sie weitere Ressourcen im Zusammenhang mit Azure Database for PostgreSQL.

Azure Architecture Center– Leitfaden

Leitfaden zum Cloud Adoption Framework

Nächster Schritt