Freigeben über


Bewährte Methoden für die Architektur für Azure-Datenbank für PostgreSQL

Azure Database for PostgreSQL ist ein relationaler Datenbankdienst in Azure, der auf der Open-Source-Relationaldatenbank PostgreSQL basiert. Es ist eine vollständig verwaltete, cloudbasierte Datenbanklösung, die unternehmenskritische Workloads mit vorhersehbarer Leistung, Sicherheit, hoher Verfügbarkeit und dynamischer Skalierbarkeit unterstützt. 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.

In diesem Artikel wird davon ausgegangen, dass Sie als Architekt die Azure-Datenoptionen überprüft und Azure-Datenbank für PostgreSQL als Datenspeicher für Ihre Workload ausgewählt haben. Die Anleitung in diesem Artikel enthält Architekturempfehlungen, die den Grundsätzen der Well-Architected Rahmenpfeilerzugeordnet sind.

Technologieumfang

Diese Überprüfung konzentriert sich auf die miteinander verbundenen Entscheidungen für die folgenden Azure-Ressourcen:

  • Azure-Datenbank für PostgreSQL

Reliability

Der Zweck der Zuverlässigkeitssäule besteht darin, kontinuierliche Funktionsfähigkeit bereitzustellen, indem genügend Widerstandsfähigkeit aufgebaut wird und die Fähigkeit zur schnellen Wiederherstellung von Fehlern sichergestellt wird.

Entwurfsprinzipien für Zuverlässigkeit bieten eine allgemeine Designstrategie, die für einzelne Komponenten, Systemflüsse und das gesamte System angewendet wird.

Checkliste für die Arbeitsauslastungsgestaltung

  • Machen Sie sich mit dem Zuverlässigkeitsleitfaden für Azure Database for PostgreSQL vertraut.
    Weitere Informationen finden Sie in den folgenden Ressourcen:

  • Richten Sie Ihre Zuverlässigkeits- und Wiederherstellungsziele für Azure-Datenbank für PostgreSQL an Ihre Workloadziele aus. Wählen Sie eine geeignete Azure-Datenbank für Die PostgreSQL-SKU aus, die Ihre Zuverlässigkeits- und Wiederherstellungsziele unterstützen kann.

  • Ermitteln Sie die geeigneten Konfigurationen für hohe Verfügbarkeit und Redundanz für Ihre Azure-Datenbank für PostgreSQL-Instanzen. Ermitteln Sie, ob Zonenredundanz- oder Zonenkonfigurationen erforderlich sind, um Ihre Zuverlässigkeitsanforderungen zu erfüllen.

  • Integrieren Sie die Wiederherstellung Ihrer Azure-Datenbank für PostgreSQL-Instanzen in Ihre Notfallwiederherstellungsplanung und -übungen. Stellen Sie sicher, dass Ihre gesamte Workload gemäß Ihren Wiederherstellungszielen wiederhergestellt werden kann.

  • Integrieren Sie Ihre Azure-Datenbank für PostgreSQL-Instanzen in Ihre Observability-Plattform. Aktivieren Sie erweiterte Metriken, um den Status Ihrer Instanz zu überwachen. Schließen Sie Hochverfügbarkeits-Gesundheitsüberwachung in Ihre Überwachungslösung ein.

Konfigurationsempfehlungen

Recommendation Benefit
Wählen Sie die entsprechende Hochverfügbarkeitskonfiguration aus. Wenn hohe Verfügbarkeit konfiguriert ist, stellt der Azure-Datenbank für PostgreSQL-Server automatisch ein Standby-Replikat bereit und verwaltet es. Durch dieses Setup wird sichergestellt, dass der Dienst verfügbar bleibt und während eines Zonenausfalls keine Daten verloren geht.
Konfigurieren von georedundanten Sicherungen. 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 nicht verfügbar ist.

Georedundanz kann auch mithilfe eines Azure Backup Vault für die langfristige Speicherung der Wiederherstellungspunkte erreicht werden. Wenn ein regionaler Ausfall oder ein Notfall auftritt, können Sie die Sicherung verwenden, um den Datenbankserver in einer azure-gekoppelten Region wiederherzustellen, wodurch Ausfallzeiten minimiert werden.

Azure Backup bietet auch Georedundanz für Azure-Datenbank für PostgreSQL. Dieses Feature erhöht die Effizienz und reduziert Ausfallzeiten bei Katastrophen oder regionalen Ausfällen.
Testen Sie Ihre Sicherungs- und Wiederherstellungsstrategie regelmäßig. Regelmäßiges Testen Ihrer Sicherungs- und Wiederherstellungsstrategie stellt sicher, dass Sie Ihre Datenbanken wiederherstellen und Vorgänge verwalten können, wenn ein Fehler auftritt.

Security

Der Zweck der Säule "Sicherheit" besteht darin , vertraulichkeits-, Integritäts- und Verfügbarkeitsgarantien für die Arbeitsauslastung bereitzustellen.

Die Prinzipien des Sicherheitsdesigns stellen eine allgemeine Designstrategie für die Erreichung dieser Ziele bereit, indem Ansätze auf das technische Design von Azure Database for PostgreSQL angewendet werden.

Checkliste für die Arbeitsauslastungsgestaltung

  • Überprüfen Sie die Sicherheitsgrundwerte. Um den Sicherheitsstatus Ihrer Workload zu verbessern, überprüfen Sie die Azure-Sicherheitsgrundwerte für Azure-Datenbank für PostgreSQL.

  • Implementieren Sie strenge, bedingte und auditierbare Identitäts- und Zugriffsverwaltung. Verwenden Sie die Microsoft Entra-ID für die Authentifizierung und Autorisierung, um die Identitätsverwaltung zu verbessern.

  • Wenden Sie Netzwerksegmentierung und Sicherheitskontrollen an. Verwenden Sie integrierte Firewalling auf Serverebene zusammen mit Mechanismen für die Firewalling von virtuellen Netzwerken, um Ihre Instanz von anderen Workloadkomponenten und öffentlichen Netzwerken zu isolieren.

  • Verwenden Sie systemeigene Sicherheitsfeatures, um zusätzliche Schutzebenen hinzuzufügen. Helfen Sie mit, schädliche Aktivitäten zu verhindern, indem Sie die Sicherheit auf Zeilenebene und die Drosselung von Verbindungen konfigurieren.

Konfigurationsempfehlungen

Recommendation Benefit
Implementieren Sie Netzwerksicherheitsgruppen und Firewalls , um den Zugriff auf Ihre Datenbank zu steuern. Verwenden Sie im Rahmen des Zero Trust-Modells für sicherheit die Netzwerksegmentierung, um Kommunikationspfade zwischen Komponenten wie Anwendungen und Datenbankservern nur auf die erforderlichen Komponenten zu beschränken. Dieses Feature kann mithilfe von Netzwerksicherheitsgruppen und Anwendungssicherheitsgruppen implementiert werden.
Stellen Sie eine Verbindung mit Ihren Datenbanken über den privaten Azure-Link her. Mit privatem Link können Sie private Endpunkte für Azure-Datenbank für PostgreSQL erstellen, um den Dienst in Ihrem virtuellen Netzwerk zu erweitern.
Verwenden Sie die Microsoft Entra-ID für die Authentifizierung und Autorisierung, um die Identitätsverwaltung zu verbessern. Sie können die Microsoft Entra-Authentifizierung verwenden, um eine Verbindung mit Azure-Datenbank für PostgreSQL herzustellen, indem Sie verwaltete Identitäten in Microsoft Entra verwenden.
Konfigurieren sie die Sicherheit auf Zeilenebene. Die Sicherheit auf Zeilenebene 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. Die Sicherheit auf Zeilenebene ist ein zusätzlicher Filter, den Sie auf eine PostgreSQL-Datenbanktabelle anwenden können.
Verwenden Sie bei Bedarf für die Compliance kundenverwaltete Schlüssel (CMKs) für die Datenverschlüsselung, und speichern Sie Ihre Schlüssel in Azure Key Vault. CMKs bieten Ihnen die vollständige Kontrolle über den Lebenszyklus Ihres Verschlüsselungsschlüssels, einschließlich der Schlüsselrotation, um sie an die Unternehmensrichtlinien auszurichten. Key Vault ermöglicht die zentrale Verwaltung und Organisation Ihrer Verschlüsselungsschlüssel in Ihren eigenen dedizierten Key Vault-Instanzen.
Für die höchsten Sicherheitsanforderungen ermöglichen Sie vertrauliches Computing zum Schutz von Daten, die mit hardwarebasierter Verschlüsselung verwendet werden. Vertrauliches Computing bietet hardwarebasierte Verschlüsselung für Datenverarbeitungsvorgänge. Organisationen, die vertrauliche Daten in stark regulierten Branchen verarbeiten, können strenge behördliche Anforderungen erfüllen und gleichzeitig die Datenbankleistung beibehalten.
Aktivieren Sie die Verbindungseinschränkung für IP-Adressen, die mit übermäßig vielen fehlgeschlagenen Anmeldeversuchen verbunden sind. Das Festlegen des connection_throttling-Serverparameters auf enabled schützt Ihre Datenbanken vor böswilligen Anmeldeversuchen und verteilten Dienstverweigerungsangriffen (DDoS), indem die wiederholten Verbindungsversuche von derselben IP-Adresse eingeschränkt werden.
Führen Sie regelmäßig Sicherheitsprüfungen durch. Durch die regelmäßige Durchführung von Sicherheitsprüfungen können potenzielle Sicherheitsrisiken identifiziert und behoben werden.

Kostenoptimierung

Die Kostenoptimierung konzentriert sich auf das Erkennen von Ausgabenmustern, das Priorisieren von Investitionen in kritische Bereiche und die Optimierung in anderen Bereichen, um das Budget der Organisation zu erfüllen, während die Geschäftsanforderungen erfüllt werden.

Die Designprinzipien für die Kostenoptimierung bieten eine allgemeine Entwurfsstrategie, um diese Ziele zu erreichen und bei Bedarf kompromisse im technischen Design im Zusammenhang mit Azure Database for PostgreSQL und seiner Umgebung zu treffen.

Checkliste für die Arbeitsauslastungsgestaltung

  • Schätzen Sie die Anfangskosten. Verwenden Sie als Teil Ihrer Kostenmodellierungsübung den Azure-Preisrechner, um die ungefähren Kosten zu bewerten, die mit Azure Database for PostgreSQL in Ihrer Workload verbunden sind.

  • Wählen Sie die richtige Dienstebene für Ihre Workload aus. Ermitteln Sie, ob die Preisstufe "Burstable", "General Purpose" oder "Memory Optimized" für Computeressourcen Ihren Anwendungsfallanforderungen entspricht.

  • Wenden Sie eine gut informierte Skalierungsstrategie an. Um zu bestimmen, wann und wie Ihre Azure-Datenbank für PostgreSQL-Ressourcen skaliert werden soll, beobachten und analysieren Sie ihre Workloadkapazität und -nachfrage kontinuierlich.

  • Nutzen Sie die verfügbaren Rabatte. Erwägen Sie Rechenressourcenreservierungen für ein oder drei Jahre. Reservierte Instanzen können erhebliche Kosten für Computeressourcen sparen.

  • 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. Die Verwendung zonenredundanter oder zonaler Konfigurationen verdoppelt ihre Instanzenkosten. Berücksichtigen Sie daher sorgfältig Ihren Redundanzentwurf.

  • Verstehen der Kosten für geschützte Instanzen und Sicherungsspeicher. Wenn Sie Azure-Datenbank für PostgreSQL mithilfe von Azure Backup sichern, entstehen geschützte Instanzengebühren für alle 250 GB und Sicherungsspeichergebühren basierend auf den gesamten gespeicherten Daten und Redundanztypen.

  • Stellen Sie in derselben Region wie die App bereit. Stellen Sie in derselben Region wie Ihre Anwendungen bereit, um die Übertragungskosten zu minimieren.

  • Konsolidieren sie Datenbanken und Server. Wenn dies praktisch ist, kann das Konsolidieren mehrerer Datenbanken und Server in einem einzigen Server dazu beitragen, die Kosten zu senken.

Konfigurationsempfehlungen

Recommendations Benefits
Wählen Sie die richtige Stufe und SKU aus. Wenn Sie die richtige Ebene und SKU auswählen, können Sie vermeiden, dass Sie Geld für überlastete Ressourcen verschwenden. Azure Advisor bietet Empfehlungen, einschließlich Serverrechtenvorschlägen, um Ihre gesamten Azure-Ausgaben zu optimieren und zu reduzieren.
Skalieren Sie Compute- und Speicherressourcen , wenn sich ihre Workload-Nachfrage ändert. Sie können Die Berechnungsressourcen nach Bedarf vertikal (nach oben oder unten) und horizontal (out oder in) skalieren. Nach der Skalierung nach oben können Sie den Speicher nicht nach unten skalieren.
Verwenden Sie das Start-/Stopp-Feature. Verwenden Sie das Start-/Stopp-Feature, um zu verhindern, dass der Server ausgeführt wird, wenn er nicht benötigt wird.

Operative Exzellenz

Operational Excellence konzentriert sich in erster Linie auf Verfahren für Entwicklungspraktiken, Observability und Release Management.

Die Designprinzipien der Operational Excellence bieten eine allgemeine Designstrategie, um diese Ziele für die betrieblichen Anforderungen der Arbeitsauslastung zu erreichen.

Checkliste für die Arbeitsauslastungsgestaltung

  • Optimieren Sie die Wiederherstellbarkeit Ihrer Datenbanken. Definieren Sie Sicherungs- und Aufbewahrungsrichtlinien, um Ihre Complianceanforderungen zu erfüllen.

  • Automatisieren Sie operative Aufgaben. Verwenden Sie Automatisierungsaufgaben , um Aufgaben wie das Starten und Beenden eines Servers, das Skalieren von Ressourcen und andere Aufgaben automatisch auszuführen.

  • Überwachen sie den Datenbankstatus und die Leistung. Sammeln und analysieren Sie Protokolle und Metriken aus Ihrer Instanz, um potenzielle Probleme proaktiv zu erkennen.

  • Bleiben Sie mit PostgreSQL-Versionen auf dem laufenden. Die neuesten Versionen verfügen über direkte Upgradefunktionen ohne Ausfallzeiten, sodass Hauptversionsübergänge ohne Dienstunterbrechungen aktiviert werden.

Konfigurationsempfehlungen

Recommendation Benefits
Verwenden Sie eine Azure Backup-Richtlinie einzeln oder zusammen mit den systemeigenen automatisierten Sicherungen, um Datenbanken zu sichern. 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.

Verwenden Sie Azure Backup, um zu 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 Azure Backup Vault für bis zu 10 Jahre aufbewahren. Sie können die Sicherungs- und Wiederherstellungsvorgänge auch mithilfe des Azure Business Continuity Center verwalten.
Planen Sie benutzerdefinierte Wartungsfenster , um Dienstupdates anzuwenden. Sie können einen benutzerdefinierten Zeitplan für jede Azure-Datenbank für PostgreSQL in Ihrem Azure-Abonnement definieren. Mit einem benutzerdefinierten Zeitplan können Sie Ihr Wartungsfenster für den Server angeben, indem Sie den Wochentag und die Startzeit des einstündigen Wartungsfensters auswählen.
Überwachen Sie Ihren Server , um sicherzustellen, dass er fehlerfrei ist und wie erwartet ausgeführt wird. Azure Database for PostgreSQL verfügt über verschiedene Metriken, die Einblicke in das Verhalten der Ressourcen bieten, die die Azure-Datenbank für PostgreSQL-Instanz unterstützen. Sie können auch erweiterte Metriken aktivieren, um eine differenzierte Überwachung und Warnung für Datenbanken zu erhalten.

Leistungseffizienz

Leistungseffizienz bedeutet , die Benutzererfahrung auch bei steigender Auslastung durch Kapazitätsverwaltung aufrechtzuerhalten. Die Strategie umfasst die Skalierung von Ressourcen, das Identifizieren und Optimieren potenzieller Engpässe und die Optimierung der Spitzenleistung.

Die Designprinzipien für die Leistungseffizienz bieten eine allgemeine Entwurfsstrategie, um diese Kapazitätsziele gegen die erwartete Nutzung zu erreichen.

Checkliste für die Arbeitsauslastungsgestaltung

  • Optimieren von Abfragen Verwenden Sie systemeigene Features, um Möglichkeiten zum Optimieren von Abfragen zu finden.

  • Optimieren Sie Indizes. Verwenden Sie Features wie die Indexoptimierung, um Abfragemuster automatisch zu analysieren und Umsetzbare Empfehlungen zum Erstellen oder Ablegen von Indizes zu erhalten, um die Leistung zu verbessern.

  • Offloaden Sie schreibgeschützte Vorgänge. Wenn Ihre Anwendung schreibgeschützte Verbindungszeichenfolgen unterstützt, können Sie schreibgeschützte Operationen auf Lese-Replikate auslagern.

Konfigurationsempfehlungen

Recommendation Benefits
Verwenden Sie den Abfragespeicher , um die Abfrageleistung im Laufe der Zeit nachzuverfolgen. Der Abfragespeicher vereinfacht die Problembehandlung von Leistungsproblemen, indem Sie schnell die längsten und ressourcenintensiven Abfragen finden.
Verwenden Sie Abfrageleistungserblick , um die wichtigsten ressourcenaufwendigen und langwierigen Abfragen in Ihrer Workload zu identifizieren. Query Performance Insight hilft Ihnen, lange ausgeführte Abfragen und deren Änderungen im Laufe der Zeit zu identifizieren, die Wartezeittypen zu bestimmen, die sie betreffen, die wichtigsten Datenbankabfragen nach Häufigkeit und andere Vorteile zu analysieren.
Verwenden Sie die Indexoptimierung mit dem Abfragespeicher, um nachverfolgte Abfragen zu analysieren und Empfehlungen bereitzustellen. Das Index-Tuning analysiert den Workload, den der Query Store verfolgt. Es erzeugt Indexempfehlungen, um die Leistung der analysierten Workload zu verbessern oder doppelte oder nicht verwendete Indizes zu löschen. Mithilfe der Indexoptimierung können Sie vorteilhafte Indizes, doppelte Indizes und nicht verwendete Indizes identifizieren.
Verwenden Sie intelligente Optimierungen , um die Leistung automatisch zu verbessern und Probleme zu vermeiden. Die intelligente Optimierung überwacht kontinuierlich den Status der Azure Database for PostgreSQL – Flexibler Server-Datenbank und passt die Datenbank dynamisch an Ihre Workload an.
Aktivieren Sie die Unterstützung für PgBouncer, um das Verbindungspooling zu optimieren. Verbessert die Datenbankressourcennutzung und die Verbindungsverwaltung.

Azure-Richtlinien

Azure bietet einen umfassenden Satz integrierter Richtlinien im Zusammenhang mit Azure Database for PostgreSQL und seinen Abhängigkeiten. Einige der vorstehenden Empfehlungen können über Azure-Richtlinie überwacht werden. Sie können beispielsweise überprüfen, ob:

Für eine umfassende Governance überprüfen Sie die integrierten Azure-Richtliniendefinitionen für Azure-Datenbank für PostgreSQL und andere Richtlinien, die sich auf die Sicherheit der Datenspeicher auswirken können.

Azure Advisor-Empfehlungen

Azure Advisor ist ein personalisierter Cloudberater, der Ihnen hilft, bewährte Methoden zur Optimierung Ihrer Azure-Bereitstellungen zu befolgen.

Weitere Informationen finden Sie unter Azure Advisor.

Beispielarchitektur

Grundlegende Architektur, die die wichtigsten Empfehlungen veranschaulicht: Zuverlässiges Web App-Muster für Java.