Amazon EC2 ist eine großartige Plattform zum Bereitstellen und Verwalten Ihres MongoDB-Hostings. Die EC2-Plattform ist eine hochfunktionale Cloud-Plattform und bietet eine riesige Auswahl an Knöpfen (was manchmal ein Problem sein kann), um Ihre Bereitstellungen zu optimieren. In diesem Beitrag teile ich sechs Best Practices für die Verwaltung von MongoDB auf AWS-Servern aus verschiedenen Bereitstellungen.
-
Festplattenleistung
Im Laufe der Jahre war dies immer wieder ein Problem mit Amazon EC2, aber die Veröffentlichung von bereitgestellten IOPS hat dieses Problem fast vollständig beseitigt! Wenn Sie über einen Produktionscluster verfügen, für den Sie eine konsistente Datenträgerleistung benötigen, verwenden Sie bereitgestellte IOPS. Wenn Sie noch einen Schritt weiter gehen und eine Leistungsisolierung zwischen Ihrem Anwendungsdatenverkehr und dem Festplattendatenverkehr wünschen, verwenden Sie EBS-optimierte Instances. Halten Sie sich von RAID fern, es sei denn, Sie wissen, was Sie tun, und haben das Betriebspersonal, das Sie unterstützt, falls etwas schief geht.
-
DNS-Name und IP-Adresse
Standardmäßig sind der Ihrer Instanz zugewiesene DNS-Name und die öffentliche IP-Adresse nicht statisch. Wenn Sie Ihre Instanz neu starten (das werden Sie irgendwann), erhalten Sie möglicherweise eine andere IP und einen anderen DNS-Namen. Dadurch wird die Verbindung zwischen Ihrer App und der Datenbank unterbrochen. Es gibt mehrere Möglichkeiten, dies zu umgehen:
- Verwenden Sie eine statische elastische IP (zusätzliche Kosten)
- Route 53-DNS konfigurieren und eigene DNS-Zuordnungen einrichten
-
Verfügbarkeitszonen
Verteilen Sie Ihre Replikatsätze auf die Verfügbarkeitszonen in einer Region. Dies erhöht die Verfügbarkeit Ihres Replikatsatzes, insbesondere wenn AWS routinemäßige Wartungsarbeiten durchführt. In extremen Fällen möchten Sie möglicherweise Ihre Replikatsätze über Regionen hinweg auf AWS bereitstellen.
-
Sicherheitsgruppen
Sicherheitsgruppen sind die „Firewall“ für Ihre AWS-Plattform. Sie sind ein mächtiges Werkzeug und sollten genutzt werden. Stellen Sie sicher, dass Sie den Zugriff auf Ihre MongoDB-Server sperren, damit Sie sie nicht dem Internet aussetzen. Idealerweise haben nur Ihre Front-End- oder Mid-Tier-Server Zugriff auf die Datenbank. Sicherheitsgruppen können in einer Region verwendet werden, sogar über AWS-Konten hinweg.
-
Reservierte Instanzen
Wenn Ihr MongoDB-Server 365 Tage im Jahr in Betrieb ist, können Sie durch den Kauf von AWS Reserved Instances eine Kostensenkung von fast 50 % erzielen. Sie müssen einen bestimmten Betrag im Voraus bezahlen, sparen aber langfristig Geld. Reservierte Instanzen sind ein Abrechnungskonstrukt und können auf jede Ihrer laufenden Instanzen angewendet werden.
-
Best Practices der 10. Generation
10gen leistet großartige Arbeit bei der Zusammenstellung von Best Practices für jede Cloud-Plattform. Lesen Sie die Best Practices für 10 Gen auf Amazon.
Bei der Bereitstellung von MongoDB auf Amazon sind auch mehrere andere nicht funktionale Aspekte zu berücksichtigen. Weitere Einzelheiten finden Sie in unserem anderen Beitrag „10 Fragen, die Sie beim Hosten von MongoDB auf AWS stellen und beantworten sollten“.
Bei ScaleGrid bieten wir eine Ein-Klick-Bereitstellung von MongoDB-Replikatsätzen über Verfügbarkeitszonen oder Regionen hinweg. Unsere Plattform automatisiert Sicherungen und Wiederherstellungen, verwendet nur bereitgestellte IOPS, bietet unseren Kunden einfache Möglichkeiten zum Benchmarking von MongoDB und simuliert auch Failover in MongoDB-Clustern. Wenn Sie weitere Fragen, Kommentare oder Funktionswünsche haben, würden wir uns freuen, von Ihnen zu hören. Sie können uns eine E-Mail an [email protected] senden.