Hébergez-vous vos instances MongoDB de production sur Amazon AWS ? Chez ScaleGrid, nous gérons des centaines d'instances MongoDB de production sur AWS et avons appris quelques choses en cours de route. Voici un ensemble de 10 questions que vous devez vous poser et auxquelles vous devez répondre tout au long de la gestion de votre déploiement. Presque toutes les informations ci-dessous s'appliquent également à d'autres fournisseurs de services cloud.
-
Quel est votre plan de haute disponibilité ?
Si vous utilisez une seule instance, il est peut-être temps d'examiner les jeux de répliques. Lorsque vous utilisez des jeux de répliques, veillez à déployer chaque jeu de répliques dans une zone de disponibilité différente pour la haute disponibilité de MongoDB.
-
Quel est votre plan de reprise après sinistre ?
Si vous déployez tous vos ensembles de répliques dans une région, que se passe-t-il lorsqu'une région AWS entière s'effondre, comme cela s'est produit en avril 2011 ? Vous voudrez peut-être envisager de distribuer vos ensembles de réplicas MongoDB entre les régions.
-
Avez-vous testé votre plan de reprise après sinistre ?
Simulez des pannes de machine, de réseau et de disque pour comprendre le comportement de votre cluster dans des conditions de panne. Vous ne voulez pas rencontrer votre premier basculement en production et vous devez vous assurer que votre cluster MongoDB peut survivre à une panne AWS.
-
Sauvegardez-vous vos instances ?
Oui, vous avez besoin de sauvegardes même si vous avez des jeux de réplicas. Les sauvegardes sont nécessaires pour faire face à un effacement accidentel ou lorsqu'une nouvelle version de votre application corrompt toutes vos données. Assurez-vous de sauvegarder régulièrement, de préférence toutes les quelques heures. Vous pouvez sauvegarder à partir du secondaire afin qu'il n'y ait pas d'impact important sur le principal. Pour un aperçu général des options de sauvegarde MongoDB, consultez notre article de blog - Options de sauvegarde MongoDB.
-
Vos sauvegardes fonctionnent-elles ?
Avez-vous essayé de restaurer une sauvegarde MongoDB ? Combien de temps faut-il pour récupérer et resynchroniser toutes vos répliques ? Si vous ne connaissez pas la réponse, c'est le bon moment pour faire un essai et essayer une récupération de bout en bout.
-
Comment testez-vous les mises à niveau des applications avec les données de production ?
L'une des parties les plus délicates des mises à niveau d'applications MongoDB consiste à tester avec des données de production existantes. Créez un environnement de production séquestré dans lequel vous pouvez tester les mises à niveau de vos applications avec des données de production.
-
Quel type de volumes EBS utilisez-vous ?
Si vous utilisez des volumes EBS standard pour MongoDB sur AWS, envisagez de passer aux nouveaux volumes IOPS provisionnés. C'est un peu plus cher, mais ça vaut chaque centime. Vous constaterez beaucoup moins de fluctuations dans les performances d'E/S et dormirez plus facilement tout au long de la nuit.
-
Avez-vous comparé les performances de vos instances MongoDB ?
Si vous ne l'avez pas encore fait, vous pouvez comparer MongoDB à l'aide de Yahoo cloud server benchmark (YCSB) ou de mongoperf. Il est bon de savoir ce que vous obtenez de vos bases de données.
-
Comment surveillez-vous vos instances ?
Si vous ne surveillez pas vos instances, ce serait le bon moment pour commencer. Essayez la console de surveillance MongoDB de ScaleGrid, ou 10gen dispose d'un service de surveillance Mongo (MMS) disponible gratuitement que vous pouvez commencer à utiliser pour surveiller vos clusters MongoDB.
-
Exposez-vous vos bases de données sur Internet ?
Les puissants outils de piratage de processeur et de mot de passe d'aujourd'hui déchiffreront votre mot de passe en quelques heures. Utilisez les groupes de sécurité Amazon pour verrouiller l'accès à votre base de données MongoDB et n'accordez qu'un accès frontal/intermédiaire à la base de données.
Chez ScaleGrid, nous avons aidé à répondre à un certain nombre de ces questions pour nos clients et souhaitons partager ces conseils pour vous aider à gérer vos déploiements MongoDB sur AWS. Nous fournissons un déploiement en un seul clic d'ensembles de réplicas MongoDB dans les zones ou régions de disponibilité, avons un processus de sauvegarde et de récupération automatisé, n'utilisons que des IOPS provisionnés et fournissons à nos clients des moyens simples de comparer MongoDB et également de simuler le basculement dans les clusters MongoDB. Si vous avez d'autres questions/commentaires ou demandes de fonctionnalités, nous aimerions avoir de vos nouvelles. Vous pouvez nous envoyer un e-mail à [email protected].