Τι είναι εγκατεστημένο στον server MongoDB;
- MongoDB Community 8.0 από το επίσημο αποθετήριο της MongoDB
- Ενεργή ταυτοποίηση, με χρήστη yonetici που έχει τον ρόλο root στη βάση admin
- Απομακρυσμένες συνδέσεις στη θύρα 27017 (bindIp 0.0.0.0)
- Το κέλυφος mongosh και εργαλεία βάσης όπως τα mongodump και mongorestore
- Ρυθμίσεις στο /etc/mongod.conf, δεδομένα στο /var/lib/mongodb, log στο /var/log/mongodb/mongod.log
- Firewall με ανοιχτές μόνο τις θύρες 22 και 27017, καθώς και fail2ban για το SSH
Τι μέγεθος χρειάζεστε για το MongoDB;
Οι σημειώσεις παραγωγής της MongoDB δεν δίνουν τιμή RAM, εξηγούν όμως την cache: το WiredTiger χρησιμοποιεί το μεγαλύτερο από το μισό του (RAM μείον 1 GB) ή 256 MB. Αυτό σημαίνει 256 MB στο 1 GB, 512 MB στα 2 GB και 1,5 GB στα 4 GB. Οι ίδιες σημειώσεις ζητούν δύο πυρήνες ανά mongod, γι' αυτό η εγκατάσταση ξεκινά από 2 πυρήνες. Ως εμπειρικός κανόνας, χρησιμοποιήστε 1 GB για δοκιμές και ξεκινήστε την παραγωγή με 2 GB RAM. Η cache ακολουθεί μόνη της τη RAM σας και, όταν αναβαθμίζετε από το πάνελ σας, τα δεδομένα και η διεύθυνση IP παραμένουν ίδια.
| Χρήση | Μέγεθος | Τιμή | Επιλογή |
|---|---|---|---|
| Εισαγωγικό | 1 GB RAM · 2 vCore · 25 GB NVMe | $3.08/μήνα | |
| Μεσαίο | 2 GB RAM · 2 vCore · 40 GB NVMe | $4.51/μήνα | |
| Ισχυρό | 4 GB RAM · 2 vCore · 60 GB NVMe | $6.89/μήνα |
Για ποιον είναι;
- Projects Node.js, Python, Go ή Java χτισμένα πάνω σε βάση εγγράφων
- Όσοι τρέχουν την εφαρμογή αλλού και θέλουν τη βάση σε δικό της server
- Όσοι μεταφέρουν υπάρχοντα δεδομένα MongoDB στον δικό τους server με mongodump
- Προγραμματιστές που χρειάζονται απομακρυσμένη MongoDB για ανάπτυξη και δοκιμές
Τι γίνεται μετά την παραγγελία;
- Ορίστε το μέγεθος και ολοκληρώστε την πληρωμή.
- Ο server σας ξεκινά και η MongoDB εγκαθίσταται μόνη της. Στις δοκιμές μας σε πραγματικούς servers αυτό κράτησε περίπου 3 λεπτά.
- Στην καρτέλα Επισκόπηση του πάνελ σας, αντιγράψτε τις γραμμές Διεύθυνση σύνδεσης, Όνομα σύνδεσης και Κωδικός.
- Γράψτε το connection string σας με αυτή τη μορφή: mongodb://yonetici:PASSWORD@IP:27017/?authSource=admin
- Δημιουργήστε έναν ξεχωριστό χρήστη για την εφαρμογή σας και κρατήστε το yonetici, που έχει τον ρόλο root, για εργασίες διαχείρισης.
Με κάθε server
- Ημερήσιο αντίγραφο ασφαλείας στην τιμή
- Απεριόριστη κίνηση
- Πλήρης πρόσβαση root
- Αναβαθμίστε ή μειώστε RAM και CPU αργότερα και μεγαλώστε τον δίσκο
- Τοποθεσία: Istanbul · IST-1.
Καλό είναι να ξέρετε
- Με την παραγγελία αποδέχεστε τους όρους της Server Side Public License (SSPL) της MongoDB.
- Η θύρα 27017 είναι ανοιχτή στο διαδίκτυο. Για να την περιορίσετε, εκτελέστε ufw delete allow 27017/tcp και μετά ufw allow from YOUR_IP to any port 27017.
- Οι συνδέσεις γίνονται χωρίς TLS: ο κωδικός προστατεύεται αλλά τα δεδομένα δεν είναι κρυπτογραφημένα. Για ευαίσθητα δεδομένα, χρησιμοποιήστε SSH tunnel ή ορίστε δικό σας πιστοποιητικό με το net.tls.
- Αυτό είναι ένα αυτόνομο mongod. Τα transactions και τα change streams δουλεύουν μόνο σε replica sets, οπότε ενεργοποιήστε μόνοι σας την αναπαραγωγή στο mongod.conf αν τα χρειάζεστε.
- Η MongoDB έρχεται από το δικό της αποθετήριο και μένει στον κλάδο 8.0. Εφαρμόζετε τις ενημερώσεις με apt.
Ερωτήσεις και απαντήσεις για το MongoDB
Πώς συνδέομαι με τον server MongoDB μου;
Το connection string σας είναι mongodb://yonetici:PASSWORD@IP:27017/?authSource=admin. Το mongosh, το MongoDB Compass και οι drivers συνδέονται όλοι με αυτό. Ο κωδικός της εγκατάστασης περιέχει μόνο γράμματα και ψηφία, οπότε δεν χρειάζεται κωδικοποίηση URL.
Πόση RAM χρειάζεται η MongoDB;
Η MongoDB δεν έχει επίσημη ελάχιστη τιμή RAM. Ως εμπειρικός κανόνας, τα 1 GB αρκούν για δοκιμές και τα 2 GB ή περισσότερα είναι καλή αρχή για παραγωγή. Η cache του WiredTiger είναι 256 MB στο 1 GB και 1,5 GB στα 4 GB, και τα δεδομένα και τα ευρετήρια που χρησιμοποιείτε συχνά πρέπει να χωράνε μέσα της.
Δουλεύουν τα transactions και τα change streams σε αυτόν τον server;
Η MongoDB τα προσφέρει μόνο σε replica sets και sharded clusters, και αυτή η εγκατάσταση είναι αυτόνομο mongod. Αν τα χρειάζεστε, ρυθμίστε αναπαραγωγή και αρχείο κλειδιού στο mongod.conf και μετά εκτελέστε rs.initiate() για να ξεκινήσει replica set με ένα μέλος.
Είναι κρυπτογραφημένη η σύνδεσή μου με τη MongoDB;
Οι συνδέσεις MongoDB δεν έχουν TLS κατά την εγκατάσταση: ο κωδικός προστατεύεται, αλλά τα δεδομένα ταξιδεύουν χωρίς κρυπτογράφηση. Για ευαίσθητα δεδομένα, ανοίξτε SSH tunnel με ssh -L 27017:127.0.0.1:27017 root@IP, χρησιμοποιώντας τον κωδικό SSH που φαίνεται κάτω από το Όνομα χρήστη στην καρτέλα Επισκόπηση. Μετά συνδεθείτε στο 127.0.0.1.
Πώς παίρνω αντίγραφο ασφαλείας της MongoDB;
Ο server σας αντιγράφεται κάθε βράδυ, φυλάσσονται οι τελευταίες 7 ημέρες και αυτό περιλαμβάνεται στην τιμή. Είναι εγκατεστημένο και το mongodump: πάρτε dump με mongodump --uri και επαναφέρετέ το με mongorestore.
Πώς μεταφέρω τα υπάρχοντα δεδομένα MongoDB μου;
Πάρτε dump στον παλιό server με mongodump, αντιγράψτε τα αρχεία στον νέο server μέσω SFTP και φορτώστε τα με mongorestore --uri. Αν έρχεστε από παλαιότερη έκδοση, διαβάστε τις σημειώσεις αναβάθμισης της MongoDB.