Próbowałem ustawić zestaw replik MongoDB z 3 węzłami w OpsWorks kilka miesięcy temu. będę dzielić kawałek mojego doświadczenia:
1) Jak zainstalować pojedynczy MongoDB: Jest to możliwe i łatwe do zainstalowania jednego MongoDB pomocą EDelight Chef MongoDB Cookbook. Po prostu dodaj go jako submoduł do swojego niestandardowego repozytorium szefów opsworks.
Aby zmusić go do pracy utworzyć warstwę niestandardowy i nazwać MongoDB i excecute następujące przepisy
- KONFIGURACJA: MongoDB: 10gen_repo
- KONFIGURACJA: MongoDB: default
Spowoduje to zainstalowanie najnowszej wersji MongoDB.
UWAGA: Używałem instancji Ubuntu.
2) MongoDB Best Practices Jeśli porozmawiasz z inżynierów MongoDB lub powtórzeń obsługi klienta, będą wszyscy ci powiedzieć, że zalecana konfiguracja dla MongoDB jest zestaw replik 3 węzłów. Oznacza to, że mam nadzieję, że jedna replika główna i dwie repliki będą w różnych strefach dostępności. Również idealne ustawienie będzie mieć dużo pamięci RAM, aby dać wam przykład: najmniejsza instancja dostarczone przez MongoDB, które można znaleźć na rynku AWS jest standardową duże:
trzeba także rozważyć używając EBS na RAID10, może zarezerwowałem IOPS ...
Więcej informacji można znaleźć w białej księdze MongoDB on AWS.
3) Kwestie bezpieczeństwa Idealnie chcesz, aby tylko instancje aplikacji miały dostęp do instancji DB. W AWS można utworzyć grupę bezpieczeństwa z niestandardowymi regułami i przypisać instancje EC2 do właśnie utworzonej grupy ... Nie jest tak, jeśli chodzi o OpsWorks, ponieważ zmusza do posiadania domyślnych grup bezpieczeństwa, które mają bardzo luźne ograniczenia. AWS zawsze przyjmie luźne uprawnienia w stosunku do ostrzejszych.
4) czas i pieniądze Rozważania Jeśli zalecana konfiguracja jest repliką 3 węzeł ustawić za pomocą dużych wystąpień szukasz na co najmniej $ 600 (na żądanie) dla DB i to nie dodać zarezerwowanych IOPS, EBS , i tak dalej. Automatyzacja tej konfiguracji jest możliwa, ale nie jest prosta. Potrzeba czasu lub specjalisty w temacie, abyś mógł zacząć. Jeśli masz zasoby i personel, aby sobie z tym poradzić, sięgnij po niego. Jeśli jesteś częścią małego zespołu programistycznego, który chce kodować więcej i wykonywać mniej operacji, czytaj dalej.
5) Znajdź niezawodnego Zarządzane rozwiązanie Na początku byłem niechętny idei wykorzystania firmę osoby trzeciej, że oferowane MongoDB jako usługa. Po przeprowadzeniu wielu ewaluacji różnych opcji (Managed, AWS Marketplace, OpsWorks, Direct EC2), doszedłem do wniosku, że dla naszego małego zespołu najlepszą rzeczą do zrobienia jest użycie MongoLab lub MongoHQ. Obsługują instancje MongoDB we wszystkich rozmiarach i cenach. Pozwalają nawet wybrać hosting (AWS, Rackspace itp.), Region i AZ. Cena będzie droższa, jeśli spojrzysz na sam sprzęt, ale jak wspomniałem wcześniej, musisz wziąć pod uwagę nie tylko cenę, ale i czas operacyjny, którego wymaga MongoDB.
Byłem tam, zrobiłem to i skończyło się na tym, że nie używam OpsWorks do hostowania MongodDB. Mam nadzieję, że to zaoszczędzi ci trochę czasu i bólów głowy.
co w tym celu zrobiłeś? – gmaniac