Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In diesem Artikel wird eine empfohlene Architektur für die Bereitstellung von MongoDB Atlas in einer typischen Workload beschrieben. Die Lösung veranschaulicht, wie Sie sichere, private Konnektivität zwischen den Computeressourcen Ihrer Workload und einem MongoDB Atlas-Cluster einrichten, der der Workload gewidmet ist.
Von Bedeutung
Diese Anleitung wird von einer Beispielimplementierung unterstützt, die diese MongoDB Atlas-Lösung in Azure veranschaulicht.
Architektur
Diese Architektur bietet eine Grundlage für skalierbare, robuste und sichere Anwendungsdatenworkloads sowohl in Topologien mit einer Region als auch in mehreren Regionen. Stellen Sie den MongoDB Atlas-Dienst mithilfe eines der folgenden beiden Bereitstellungsmuster bereit. Jedes Muster ist darauf ausgelegt, unterschiedliche Anforderungen an Verfügbarkeit, Resilienz und betriebstechnische Komplexität zu erfüllen.
Architektur mit einer Region
In der Bereitstellung mit einer Region werden alle Kernkomponenten, einschließlich des MongoDB-Atlasclusters, des Azure Virtual Network, der Überwachung und der unterstützenden Anwendungsinfrastruktur, in einer einzigen Azure-Region bereitgestellt. Diese Einrichtung eignet sich ideal für Anwendungen, die regionale Datenhaltungsanforderungen aufweisen oder wenn die Resilienz für regionale Fehler keine Priorität hat.
Architektur
Herunterladen einer Visio-Datei dieser Architektur
Arbeitsablauf
Der folgende Workflow entspricht dem vorherigen Diagramm:
Anwendungen oder Dienste werden in einem Subnetz bereitgestellt, das durch eine Netzwerksicherheitsgruppe (Network Security Group, NSG) geschützt ist und mit NAT (Network Address Translation) konfiguriert ist, sodass sie gesichert sind und eine Verbindung mit den MongoDB Atlas-Clustern herstellen können. Diese Bereitstellungen können Web-Apps, Back-End-Dienste, Analyseaufträge oder Integrationstools umfassen.
Auf die MongoDB Atlas-Cluster kann über eine private Endpunktverbindung zugegriffen werden, und die im gesicherten virtuellen Netzwerk bereitgestellten Anwendungen oder Dienste können über private Netzwerke eine Verbindung mit diesen herstellen.
Da MongoDB Atlas-Cluster keine nativen Azure Monitor-Integrationen haben, müssen Sie die Metrik-API regelmäßig abfragen und diese Daten an Azure Monitor senden. Sie können eine benutzerdefinierte Azure Functions-App erstellen, die regelmäßig die MongoDB Atlas-API abfragt, um Datenbankintegrität und Leistungsmetriken zu sammeln und zu speichern. Diese Daten können dann in Application Insights-Dashboards visualisiert und in Azure Monitor abgefragt werden. Die API unterstützt derzeit keine Microsoft Entra-Authentifizierung, daher müssen Sie einen vorab genutzten Schlüssel verwenden. Dieser Schlüssel wird im Azure Key Vault gespeichert.
Weitere Informationen zu einer Einzelregionenarchitektur finden Sie im Einzelregionen-Bereitstellungsparadigma.
Architektur mit mehreren Regionen
Für Workloads, die höhere Anforderungen für die Geschäftskontinuität haben, verteilt die Multiregion-Architektur MongoDB Atlas Clusterknoten und -Infrastruktur, die sie in mehreren Azure-Regionen in einer aktiv passiven Topologie unterstützt. In dieser Konfiguration sind alle Knoten Mitglieder eines einzelnen Clusters, den Sie bereitstellen, welches die Anzahl der Knoten und die Regionen, in die bereitgestellt wird, definiert. Der Entwurf verwendet virtuelles Netzwerk-Peering und mehrere private Endpunkte, um redundante Konnektivität bereitzustellen, auch wenn ein regionaler Ausfall auftritt.
In dieser Architektur wird Ihr Workload-Compute in drei Regionen bereitgestellt. Jede Region verbindet sich mit der MongoDB Atlas-Ressource der eigenen Region.
Architektur
Herunterladen einer Visio-Datei dieser Architektur
Arbeitsablauf
Der folgende Workflow entspricht dem vorherigen Diagramm:
Anwendungen oder Dienste werden in einem Subnetz bereitgestellt, das durch eine NSG geschützt ist und mit NAT konfiguriert ist, sodass sie gesichert sind und eine Verbindung mit den MongoDB Atlas-Clustern herstellen können. Diese Bereitstellungen können Web-Apps, Back-End-Dienste, Analyseaufträge oder Integrationstools umfassen.
Auf die MongoDB Atlas-Cluster kann über eine private Endpunktverbindung zugegriffen werden, und die im gesicherten virtuellen Netzwerk bereitgestellten Anwendungen oder Dienste können über private Netzwerke eine Verbindung mit diesen herstellen.
Eine Azure Functions-App fragt in regelmäßigen Abständen die MongoDB Atlas-API mithilfe eines im Key Vault gespeicherten vorab freigegebenen Schlüssels ab, um Datenbankintegritäts- und Leistungsmetriken zu sammeln. Die Metriken werden in Application Insights-Dashboards visualisiert. Wenn die gesamte primäre Region offline ist, muss die Azure Functions-App in diesem Design in der neuen primären Region erneut bereitgestellt werden. Wenn nur der primäre Knoten fehlschlägt, ist die Überwachung nicht betroffen.
Das virtuelle Netzwerk-Peering ist aktiviert, sodass bei einem regionalen Ausfall alle verbleibenden Regionen eine Verbindung mit den MongoDB Atlas-Clustern in anderen Regionen herstellen können. MongoDB Atlas verwaltet das Routing von Verbindungszeichenfolgen, sodass failover keine Anwendungsänderungen erfordert.
Weitere Informationen finden Sie unter 5-Knoten- und 3-Region-Architektur (2+2+1).
Komponenten
MongoDB Atlas (verwalteter Dienst) ist ein verwalteter Clouddatenbankdienst, der verwaltete Datenbankcluster mit automatisierten Sicherungen, hoher Verfügbarkeit und optionaler Multi-Region-Bereitstellung bereitstellt. In dieser Architektur dient MongoDB Atlas als primärer Datenspeicher für Anwendungen. MongoDB Atlas rollenbasierte Zugriffssteuerung (RBAC) sorgt für feinkörnige Datensicherheit. Cluster werden automatisch über Verfügbarkeitszonen hinweg in Regionen bereitgestellt, die Verfügbarkeitszonen unterstützen.
Virtuelles Netzwerk ist ein grundlegender Azure-Baustein für private Netzwerke, der eine sichere Kommunikation zwischen Azure-Ressourcen ermöglicht. In dieser Architektur stellt Virtual Network isolierte Netzwerkumgebungen bereit, in denen Anwendungsberechnungsressourcen gehostet und private Verbindungen mit Dem MongoDB Atlas hergestellt werden.
Private Endpunkte sind Netzwerkschnittstellen , die private und sichere Verbindungen mit Diensten herstellen, die azure Private Link unterstützt. In dieser Architektur stellen private Endpunkte sicher, dass alle Kommunikationen zwischen Azure-Ressourcen und MongoDB Atlas privat und verschlüsselt sind und nie das öffentliche Internet durchlaufen.
NSGs sind die azure-native Netzwerkfirewall, die eingehenden und ausgehenden Datenverkehr an Netzwerkschnittstellen steuert. In dieser Architektur erzwingen NSGs die Netzwerksegmentierung und sichere ausgehende Konnektivität.
Application Insights ist ein erweiterbarer Verwaltungsdienst für Anwendungsleistung für Entwickler und Entwicklungsvorgänge (DevOps). In dieser Architektur bietet Application Insights eine zentrale Überwachung und operative Sichtbarkeit für die Workload.
Azure Functions ist ein serverloser Computedienst, mit dem Sie ereignisgesteuerten Code ausführen können, ohne die Infrastruktur explizit bereitstellen oder verwalten zu müssen. In dieser Architektur fragt Azure Functions regelmäßig die MongoDB Atlas-API ab, um Datenbankintegritäts- und Leistungsmetriken zu sammeln.
Key Vault ist ein Clouddienst, der geheime Schlüssel, Schlüssel und Zertifikate sicher speichert und darauf zugreift. In dieser Architektur speichert Key Vault den vorab genutzten Schlüssel für die MongoDB Atlas API-Authentifizierung und alle Anwendungsgeheimnisse, die Sie möglicherweise für Ihren Anwendungsfall benötigen.
Infrastrukturautomatisierungstools wie Terraform - und GitHub-Aktionen ermöglichen Infrastruktur als Code (IaC), Automatisierung und wiederholbare Bereitstellungen. In dieser Architektur bieten diese Tools konsistente und zuverlässige Bereitstellungsprozesse für die MongoDB Atlas-Infrastruktur.
Sicherheitsüberlegungen
Die meisten Datenbanken speichern vertrauliche Daten. Die Implementierung von Sicherheit nur auf Datenbankebene reicht nicht aus, um die Workloads zu sichern. Die Verteidigung im Detail ist ein Ansatz für die Sicherheit, der mehrere Verteidigungsmechanismen implementiert, um Daten zu schützen. Anstatt sich auf eine einzelne Sicherheitsmaßnahme auf einer bestimmten Ebene zu verlassen, z. B. auf einen Ansatz, der sich nur auf Netzwerksicherheitsmechanismen konzentriert, verwendet die Verteidigungsstrategie eine Kombination verschiedener Ebenen-Sicherheitsmaßnahmen, um einen robusten Sicherheitsstatus zu schaffen. Sie können den detaillierten Verteidigungsansatz für MongoDB Atlas-Workloads erstellen, indem Sie die gehärtete Netzwerksicherheit mit privaten Endpunkten und virtuellem Netzwerk-Peering von der Azure-Infrastrukturseite aus verwenden. Weitere Informationen finden Sie unter MongoDB Atlas Security.
Die Azure-Infrastruktur, in der Anwendungen gehostet werden, die eine Verbindung mit MongoDB Atlas herstellen, müssen vor unbefugtem Zugriff geschützt werden. In dieser Architektur wird die MongoDB Atlas-Konnektivität über private Endpunkte eingerichtet. Durch diesen Ansatz wird sichergestellt, dass der gesamte Datenverkehr zwischen workload und Datenbanken nur private Netzwerke durchläuft.
Verwenden Sie Key Vault, um Schlüssel und geheime Schlüssel zu speichern, z. B. den geheimen Clientschlüssel, der für die Überwachungsfunktion in dieser Architektur verwendet wird.
Je nach Anwendungsfall und Anforderungen bewerten Sie, ob andere Microsoft-Sicherheitsdienste für Ihre Umgebung geeignet sind, z. B. Azure Firewall, Azure DDoS Protection und Microsoft Defender für Cloud. Je nach Architektur und Bedrohungsmodell können Sie auch die folgenden Optionen berücksichtigen:
Ausgangskontrolle
In dieser Architektur gibt es eine minimale Kontrolle des ausgehenden Datenverkehrs, der aus dem virtuellen Netzwerk der Workload stammt. Der Datenverkehr wird über NSGs in den Subnetzen gesteuert. Der MongoDB Atlas-Cluster hat keine aktivierte Egress-Kontrolle. Abhängig von den Sicherheitsrichtlinien Ihrer Workload müssen Sie möglicherweise zusätzliche Egress-Kontrolle implementieren, um ausgehenden Datenverkehr nur auf genehmigte Ziele zu beschränken. Für Azure-Komponenten leiten Sie ausgehenden Datenverkehr über Ihre Ausgangsfirewall. Weitere Informationen zu den Optionen für ausgehende Netzwerksteuerungen für den MongoDB Atlas-Cluster finden Sie in den Anleitungen für die Sicherheit des MongoDB Atlas-Netzwerks.
Überlegungen zur Überwachung
Die Überwachung ist ein wichtiger Bestandteil von Arbeitslastoperationen. Entwerfen Sie eine umfassende Workloadüberwachungslösung.
Diese Architektur enthält eine Überwachungskomponente, wie in den Architekturdiagrammen dargestellt, in denen eine Azure Functions-App regelmäßig die MongoDB Atlas-API abfragt, um Datenbankintegritäts- und Leistungsmetriken zu sammeln. Diese Metriken werden in Application Insights-Dashboards visualisiert. Wenn Sie diese Lösung zum Erfassen von Metriken verwenden, können Sie den enthaltenen Code als Ausgangspunkt für Ihren Anwendungsfall verwenden. Anschließend können Sie die richtigen Metriken ermitteln, die erfasst werden sollen, und die Häufigkeit zum Ausführen der Funktion, um Ihre Anforderungen zu erfüllen.
Über diese Lösung hinaus können Sie Ihre Überwachungslösung weiter erweitern, um tiefere Einblicke in die Leistung und Integrität Ihres Clusters zu erhalten. Weitere Informationen zum Überwachen von MongoDB finden Sie in den folgenden Überwachungs- und Optimierungsfeatures:
- Scannen und Bestellen
- Abfrageadressierung
- Normalisierte System-CPU
- Performance Advisor
- Namespace Insights
- Abfrageprofiler
- Abrechnungskosten-Explorer
Konfigurieren Sie Warnungen, um die Metrikabweichung von Ihrem Basisplan zu benachrichtigen, z. B. steigende Abfrageadressierung, scan-and-order-Abfragen oder normalisierte CPU-Auslastung bei weniger als 40% oder höher als 70%. Weitere Informationen finden Sie unter Überwachung und Warnungen.
Hinweis
Azure Monitor kann mongoDB Atlas-Metriken nicht direkt lesen. Verwenden Sie MongoDB Atlas-Webhooks oder unterstützte Integrationen, um sie aufzunehmen.
MongoDB Atlas sammelt und speichert Aktivitätsprotokolle, die Sie zur Überwachung und Aktivitätsnachverfolgung herunterladen können. Diese Protokolle können Ihnen helfen, die Leistung nachzuverfolgen und Probleme zu beheben. Weitere Informationen finden Sie in den Anleitungen für die MongoDB Atlas-Protokollierung.
Sicherung und Wiederherstellung
MongoDB Atlas automatisierte Sicherungsrichtlinien stellen sicher, dass Daten jederzeit innerhalb von Aufbewahrungsgrenzwerten wiederhergestellt werden können. Weitere Informationen finden Sie unter Cloudsicherungen.
Nächster Schritt
Befolgen Sie zum Bereitstellen dieser Architektur die schrittweisen Anleitungen und die Terraform-Automatisierung im GitHub-Repository der MongoDB-Atlas-Referenzimplementierung.