Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Erstellen Sie eine AWS landing zone, die MongoDB Atlas enthält
Igor Alekseev, Amazon Web Services
Übersicht
Dieses Muster beschreibt, wie eine AWS landing zone erstellt wird, die in einen MongoDB-Atlas-Cluster integriert ist. Die Infrastruktur wird automatisch mithilfe eines Terraform-Skripts bereitgestellt.
Eine gut strukturierte AWS Umgebung mit mehreren Konten, die als landing zone bezeichnet wird, bietet Skalierbarkeit und Sicherheit, insbesondere für Unternehmen. Sie dient als Grundlage für die schnelle Bereitstellung von Workloads und Anwendungen und trägt dazu bei, das Vertrauen in Sicherheit und Infrastruktur zu gewährleisten. Der Aufbau einer landing zone erfordert eine sorgfältige Abwägung technischer und geschäftlicher Faktoren, einschließlich Kontostruktur, Netzwerk, Sicherheit und Zugriffsmanagement. Diese Überlegungen sollten auf das future Wachstum und die Geschäftsziele Ihres Unternehmens abgestimmt sein.
Zu den Anwendungsfällen für dieses Muster gehören die folgenden.
SaaS- und PaaS-Plattformen für Unternehmen: Multitenant-Software-as-a-Service (SaaS) -Anwendungen und Platform-as-a-Service (PaaS) -Plattformen, die darauf ausgeführt werden, AWS können dieses Setup verwenden, um einen sicheren, privaten Zugriff auf MongoDB Atlas zu ermöglichen, ohne dass Daten über das öffentliche Internet offengelegt werden.
Stark regulierte Branchen: Banken, Finanzdienstleistungen, Gesundheitswesen und Behörden, die eine strikte Einhaltung von Standards wie dem Health Insurance Portability and Accountability Act (HIPAA), dem Payment Card Industry Data Security Standard (PCI DSS), System and Organization Controls 2 (SOC2) und der Allgemeinen Datenschutzverordnung (DSGVO) erfordern, profitieren von:
Verschlüsselte, private Konnektivität durch AWS PrivateLink
Multi-AZ-Hochverfügbarkeit von MongoDB-Replikatsätzen
Sichere AI/ML Workloads: Mit Trainings- oder Inferenz-Pipelines in Amazon Bedrock, Amazon SageMaker AI oder benutzerdefinierten KI-Modellen können Daten sicher in MongoDB Atlas abgerufen und gespeichert werden. PrivateLink
Notfallwiederherstellung und Geschäftskontinuität: Das Multi-AZ-Design stellt sicher, dass kein Ausfall einer einzelnen Availability Zone die Workloads stört. Ein Atlas-Replikat für alle Availability Zones sorgt für einen automatischen Failover. Dies ist entscheidend für ständig verfügbare Dienste wie Finanztechnologie-Apps (Fintech), digitales Banking oder Gesundheitsüberwachung.
Voraussetzungen und Einschränkungen
Voraussetzungen
Zugriff des Organisationsinhabers auf MongoDB Atlas, sodass Sie Atlas-API-Schlüssel erstellen können. Informationen zu dieser Anforderung finden Sie unter Manage Organization Access
in der MongoDB-Dokumentation. Ein aktiver AWS-Konto
. Terraform
, installiert und konfiguriert. Ein MongoDB Atlas-Cluster, der mit MongoDB Version 6.0 oder höher erstellt wurde.
Vertrautheit mit MongoDB und MongoDB Atlas. Weitere Informationen finden Sie in der MongoDB Atlas-Dokumentation
.
Einschränkungen
Einige AWS-Services sind nicht in allen AWS-Regionen verfügbar. Informationen zur Verfügbarkeit in den einzelnen Regionen finden Sie AWS-Services unter Nach Regionen
. Informationen zu bestimmten Endpunkten finden Sie unter Dienstendpunkte und Kontingente. Wählen Sie dort den Link für den Dienst aus.
Architektur
Das folgende Referenzarchitekturdiagramm veranschaulicht die Einrichtung der Bereitstellung für eine AWS landing zone, die in einen privaten MongoDB Atlas-Endpunkt integriert ist. Diese Referenzarchitektur zeigt, wie eine sichere, skalierbare und hochverfügbare AWS landing zone eingerichtet werden kann, die in MongoDB Atlas integriert ist. Durch die Kombination von AWS Best Practices wie Multi-AZ-Bereitstellung, Sicherheitskontrollen mit geringsten Rechten und privater Konnektivität ermöglicht dieses Design Unternehmen, eine robuste Umgebung für moderne Anwendungen bereitzustellen.

Diese Architektur besteht aus den folgenden Komponenten:
VPC
Eine einzige virtuelle private Cloud (VPC) erstreckt sich über drei Availability Zones.
Die VPC ist in Subnetze unterteilt, die auf jede Availability Zone ausgerichtet sind. Diese Subnetze verteilen Workloads, um eine hohe Verfügbarkeit zu gewährleisten.
Internetzugang
Ein Internet-Gateway bietet ausgehende Internetkonnektivität für Ressourcen, die diese benötigen, wie z. B. Anwendungs- oder Bastion-Hosts.
Öffentliche Subnetze können NAT-Gateways beherbergen, die es privaten Subnetz-Workloads ermöglichen, Updates, Patches und andere erforderliche Pakete herunterzuladen, ohne sie direkt dem öffentlichen Internet zugänglich zu machen.
Private Subnetze und Routing-Tabellen
Anwendungskomponenten, Microservices oder andere sensible Ressourcen befinden sich normalerweise in privaten Subnetzen.
Dedizierte Routentabellen steuern den Verkehrsfluss. Leitet ausgehenden Datenverkehr von privaten Subnetzen an NAT-Gateways weiter, um einen sicheren Internetzugang nur für ausgehenden Datenverkehr zu gewährleisten.
Eingehende Anfragen aus dem Internet fließen über Elastic Load Balancer oder Bastion-Hosts (falls verwendet) in öffentlichen Subnetzen und werden dann entsprechend an private Subnetzressourcen weitergeleitet.
MongoDB Atlas-Konnektivität über PrivateLink
Die Architektur verwendet PrivateLink (über einen VPC-Endpunkt) eine sichere Verbindung zu MongoDB Atlas, ohne dass Ihre Daten dem öffentlichen Internet zugänglich gemacht werden.
Anfragen verbleiben im Backbone-Netzwerk. AWS Daten bei der Übertragung profitieren von der PrivateLink Verschlüsselung und werden niemals über das öffentliche Internet weitergeleitet.
Die dedizierte VPC von MongoDB Atlas hostet Ihre primären und sekundären Knoten und bietet eine sichere, isolierte Umgebung für Ihren verwalteten Datenbankcluster.
Multi-AZ-Bereitstellung
Kritische Infrastrukturkomponenten (wie NAT-Gateways und Anwendungssubnetze) sind auf mindestens drei Availability Zones verteilt. Wenn in einer Availability Zone ein Ausfall auftritt, stellt diese Architektur sicher, dass die Workloads in den verbleibenden Availability Zones betriebsbereit bleiben.
MongoDB Atlas bietet standardmäßig Hochverfügbarkeit durch Replikatsätze und stellt sicher, dass Ihre Datenbankschicht fehlertolerant bleibt. Kritische Infrastrukturen sind aus Gründen der Ausfallsicherheit auf mindestens drei Availability Zones verteilt.
Tools
AWS-Services
AWS Secrets Managerhilft Ihnen dabei, hartcodierte Anmeldeinformationen in Ihrem Code, einschließlich Kennwörtern, durch einen API-Aufruf zu ersetzen, um das Geheimnis programmgesteuert abzurufen.
Andere Produkte und Tools
MongoDB Atlas
ist ein vollständig verwalteter Database-as-a-Service (DBaaS) für die Bereitstellung und Verwaltung von MongoDB-Datenbanken in der Cloud. Terraform
ist ein IaC-Tool (Infrastructure as Code), mit dem Sie Cloud- und lokale HashiCorp Ressourcen erstellen und verwalten können. In diesem Muster verwenden Sie Terraform, um ein Skript auszuführen, um die Bereitstellung der erforderlichen Ressourcen auf AWS und MongoDB Atlas zu erleichtern.
Code-Repository
Der Code für dieses Muster ist im AWS und im MongoDB Atlas Landing GitHub Zone-Repository
Epen
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Identifizieren Sie die wichtigsten Interessengruppen. | Identifizieren Sie alle wichtigen Stakeholder und Teammitglieder, die an Ihrem landing zone Zone-Projekt beteiligt sind. Dies könnte Rollen beinhalten wie:
| Leiter der Migration |
Erstellen Sie einen Strukturplan. | Erstellen Sie einen Blueprint, der die gewünschte Struktur Ihrer AWS und der MongoDB Atlas-fähigen landing zone umreißt. | Leiter der Migration |
Erstellen Sie einen Architekturplan. | Analysieren Sie gemeinsam mit Ihren Anwendungsarchitekten die Anforderungen und entwerfen Sie eine fehlertolerante, belastbare Architektur. Dieses Muster bietet eine Vorlage für eine Starter-Architektur als Referenz. Sie können diese Vorlage an die Sicherheits- und Infrastrukturanforderungen Ihres Unternehmens anpassen. | Cloud-Architekt |
Planen Sie die Einrichtung und Bereitstellung. | Legen Sie gemeinsam mit allen Beteiligten fest, wie die Architektur eingesetzt werden soll, wie Sicherheitsmaßnahmen umgesetzt werden und welche anderen Aspekte es gibt, um sicherzustellen, dass die Interessen sowohl der Organisation als auch des Teams, das die Anfrage gestellt hat, berücksichtigt werden. | Leiter der Migration, DevOps Ingenieur, DBA |
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Klonen Sie das Repository | Klonen Sie den Code aus dem GitHub Repository
| App-Entwickler, DevOps Ingenieur |
Holen Sie sich Ihre Atlas-Organisations-ID. |
| DBA |
Generieren Sie Atlas-API-Schlüssel auf Organisationsebene. | Folgen Sie den Anweisungen in der MongoDB-Dokumentation | DBA |
Erstellen Sie ein Geheimnis in AWS Secrets Manager. | Speichern Sie die im vorherigen Schritt generierten MongoDB Atlas-API-Schlüssel als Key-Value-Secret im Secrets Manager. Anweisungen finden Sie in der Secrets Manager Manager-Dokumentation. | DevOps Ingenieur |
Wählen Sie die Atlas-Clusterebene aus. | Folgen Sie den Anweisungen in der MongoDB-Dokumentation | DBA |
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Ändern Sie das Terraform-Skript. | Aktualisieren Sie in Ihrer lokalen Kopie des GitHub Repositorys den geheimen Namen in der modules/mongodb-atlas/main.tf-Datei | DevOps Ingenieur |
Erstellen Sie eine AWS Zugriffsschlüssel-ID und einen geheimen Schlüssel. | Um deine AWS Zugangsschlüssel-ID und deinen geheimen Schlüssel zu erstellen, folge den Anweisungen im AWS re:POST-Artikel Wie erstelle ich einen AWS Zugriffsschlüssel Es hat sich bewährt, Richtlinien mit den geringsten erforderlichen Rechten zuzuweisen. Wählen Sie in diesem Fall jedoch die Nachdem Sie Ihren Zugriffsschlüssel erstellt haben, finden Sie unter Bewährte Sicherheitsmethoden in IAM Informationen zu bewährten Methoden für die Verwaltung von Zugriffsschlüsseln. | DevOps Ingenieur |
Weisen Sie Elastic IP-Adressen zu. | Weisen Sie mindestens zwei Elastic IP-Adressen zu. IDs Anweisungen finden Sie in der Dokumentation zu Amazon Virtual Private Cloud (Amazon VPC). | DevOps Ingenieur |
Erstellen Sie einen S3-Bucket. | Erstellen Sie einen S3-Bucket, um den Status Ihrer Terraform-Bereitstellung zu speichern, indem Sie den Anweisungen in der Dokumentation zu Amazon Simple Storage Service (Amazon S3) folgen. | DevOps Ingenieur |
Aktualisieren Sie den S3-Bucket für den Speicher. | Aktualisieren Sie die S3-Bucket-Informationen in Ihrer lokalen Version von environments/development/main.tf
In diesem Beispiel können Sie Terraform so konfigurieren, dass das key prefix verwendet wird, um die Terraform-Statusdatei Weitere Informationen zu Amazon S3 S3-Schlüsselpräfixen finden Sie unter Organisieren von Objekten mithilfe von Präfixen in der Amazon S3 S3-Dokumentation. | DevOps Ingenieur |
Legen Sie Terraform-Variablen fest. | Die Beispiel-Landezone definiert Eingabevariablenwerte mithilfe von Terraform-Variablendefinitionsdateien Die Variablendatei befindet sich unter environments/development/variables .tf. | DevOps Ingenieur |
Richten Sie Umgebungsvariablen ein. | Wenn Sie planen, das Terraform-Skript auf Ihrem lokalen Computer auszuführen, richten Sie die folgenden Umgebungsvariablen ein:
Weitere Informationen zum Einrichten von Umgebungsvariablen finden Sie in der AWS Command Line Interface (AWS CLI) -Dokumentation. | DevOps Ingenieur |
Überprüfen Sie die VPC-Konfigurationen. | Um die von empfohlenen Best Practices zu befolgen AWS, konfigurieren Sie die Einstellungen für VPC und Subnetz CIDRs, NAT-Gateways, Routen und Routing-Tabellen im Terraform-Skript so, dass sie den Anforderungen Ihres Unternehmens entsprechen. Einzelheiten finden Sie in der Readme-Datei für das Repository. | DevOps Ingenieur |
Markieren Sie -Ressourcen. | Sie können Ihre AWS Ressourcen taggen, um sie zu überwachen, wenn sie vom Terraform-Skript bereitgestellt werden. Beispiele finden Sie in der Readme-Datei | DevOps Ingenieur |
Verwenden Sie mehrere Umgebungen. | Das GitHub Repository stellt einen Um eine Umgebung hinzuzufügen, kopieren Sie den | DevOps Ingenieur |
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Initialisieren Sie das Terraform-Arbeitsverzeichnis. | Führen Sie den folgenden Befehl aus, um das Arbeitsverzeichnis zu initialisieren und die erforderlichen Pakete herunterzuladen:
| DevOps Ingenieur |
Erstellen Sie einen Ausführungsplan. | Führen Sie den folgenden Befehl aus, um einen Ausführungsplan zu erstellen und die Änderungen zu visualisieren, die Terraform an Ihrer Infrastruktur vornehmen wird:
| DevOps Ingenieur |
Stellen Sie die Änderungen bereit. | Führen Sie den folgenden Befehl aus, um die Änderungen an Ihrer Infrastruktur wie im Code beschrieben zu implementieren:
| DevOps Ingenieur |
Validieren Sie die Bereitstellung. | Überprüfen Sie die Komponenten, die Terraform in Ihrer Infrastruktur erstellt oder geändert hat. Um das Setup zu testen, stellen Sie eine Rechenressource (z. B. eine EC2 Amazon-Instance oder AWS Lambda -Funktion) in der VPC bereit oder mit ihr verbunden. | DevOps Ingenieur, App-Entwickler |
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Bereinigen Sie. | Wenn Sie mit dem Testen fertig sind, führen Sie den folgenden Befehl aus, um die Ressourcen zu löschen, die Terraform in Ihrer Infrastruktur bereitgestellt hat:
| DevOps Ingenieur |
Zugehörige Ressourcen
Entdeckung und Bewertung
Administrative Tipps für die Einrichtung der landing zone (AWS Control Tower Dokumentation)
Erwartungen an die Konfiguration der landing zone (AWS Control Tower Dokumentation)
Bewährte Methoden für Landezonenaktualisierungen (AWS Control Tower Dokumentation)
MongoDB Atlas und AWS Umgebungen einrichten
MongoDB Atlas
() abrufen AWS Marketplace Speicher
(MongoDB Atlas-Dokumentation) Beispiel zur Größenbestimmung mit Atlas-Beispieldatensätzen
(MongoDB Atlas-Dokumentation) Beispiel zur Größenbestimmung für mobile Anwendungen
(MongoDB Atlas-Dokumentation) Netzwerkverkehr
(MongoDB Atlas-Dokumentation) Automatische Clusterskalierung
(MongoDB Atlas-Dokumentation) Atlas-Größenvorlage
(MongoDB Atlas-Dokumentation) Eine Netzwerk-Peering-Verbindung einrichten
(MongoDB Atlas-Dokumentation) Private Endpunkte in Atlas
(MongoDB Atlas-Dokumentation) Clientseitige Verschlüsselung auf Feldebene
(MongoDB-Datenbankdokumentation) Automatische Verschlüsselung
(MongoDB-Datenbankdokumentation) Auswahl einer Clusterebene
(MongoDB Atlas-Dokumentation)
Einsatz der landing zone
Terraform aktiviert AWS (CI/CD für 5G-Netzwerke im Whitepaper) AWS