Testowy klaster obliczeniowy - Amazon Web Services i CentOS 7
Stworzenie klastra kilku maszyn w oparciu o Amazon Web Services i system CentOS 7
Publiczne chmury obliczeniowe cieszą się coraz większym zainteresowaniem. Jedną z najbardziej popularnych rozwiązań tego typu jest zdecydowanie Amazon Web Services. W poniższym krótkim tutorialu pokażę jak szybko zbudować mini klaster testowy do zastosowań Big Data, na którym będziemy mogli wdrożyć na przykład platformę HDP (instalacji poświęcony został inny tutorial).
Założenie konta
Nasz proces musimy zacząć od założenia konta w serwisie (https://aws.amazon.com/console/) wybierając opcję “Sign in to the Console” a następnie wybranie opcji “I am a new user” i wypełnienie formularza.
Rejestracja jest dość prosta, jedynym utrudnieniem może się okazać konieczność podania karty kredytowej z której będą dokonywane płatności za comiesięczny rachunek około trzeciego dnia następnego miesiąca. Dodatkowo w momencie rejestracji, w celu potwierdzenia karty kredytowej, zostanie pobrana opłata w wysokości jednego dolara.
Planowanie kosztów
Amazon udostępnia możliwość tworzenia maszyn na życzenie (on demand) za które płacimy zgodnie z wykorzystaniem (płatność za godzinę użycia). Aktualny cennik możemy znaleźć pod adresem: https://aws.amazon.com/ec2/pricing/on-demand/. Należy zwrócić uwagę, że ceny zależą od lokalizacji w której będziemy tworzyć maszyny (najtaniej jest w USA, np. Oregon lub Virginia) oraz dostępność wersji maszyn także zależy od kolokacji. Dla przykładu za maszynę m4.xlarge (4 CPU, 16 GB RAM) w Oregon zapłacimy 0.2 $ za godzinę użycia (włącozna maszyna). Dodatkowo naliczane są ceny za wykorzystane powierzchnie dyskowe. Całość naszego wdrożenia, najlepiej sprawdzić za pomocą kalkulatora: https://calculator.s3.amazonaws.com/index.html wybierając w zakładce EC2 odpowiednie maszyny, ich ilość i planowane wykorzystanie przestrzeni dyskowej.
Tworzenie klastra maszyn na AWS
Poniżej kolejne kroki w celu uzyskania kompletnego klastra obliczeniowego na Amazon Web Services.
Całość zaczynamy od wejścia na stronę: https://console.aws.amazon.com/console/ a następnie z menu usług wybieramy “EC2”. Powinniśmy zobaczyć ekran jak niżej:
Na górze widzimy podsumowanie statusu w ramach aktualnie wybranej lokalizacji którą możemy zmienić w prawym górnych rogu (w moim przypadku jest to Virginia w USA).
Jeśli klikniemy menu “Running Instances” zobaczymy listę maszyn dostępnych w tej lokalizacji (w tym przypadku pustą).
Aby stworzyć nowe maszyny klikamy “Launch Instances”. W wyniku dostajemy listę obrazów systemów do załadowania.
W prezentowanej liście brakuje systemu CentOS którego chcemy użyć, dlatego skorzystamy z marketu (AWS Marketplace w menu po lewej) i wbudowanej wyszukiwarki. Wybieramy interesującą nas wersję i klikamy “Select”
Po wybraniu odpowiedniego obrazu otrzymujemy jego podsumowanie. Warto przejrzeć zawarte tam informacje, gdyż możemy się dowiedzieć na przykład jak będzie się nazywał domyślny użytkownik na którego mamy się połączyć po SSH oraz czy obraz jest płatny
Następnie przechodzimy do wybrania typu maszyny. Do naszego klastra testowego skorzystamy z maszyn typu “m4.xlarge” (4 CPU, 16GB RAM)
W kolejnym oknie możemy zdefiniować liczbę maszyn wybranego typu oraz ustawić dodatkowe opcj. Ustawiam 7 maszyn
W następnym oknie definiujemy przestrzeń dyskową dla naszych maszyn. W poniższym przykładzie wybrałem dyski magnetyczne o pojemności 100 GB
Kolejny krok możemy pominąć, umożliwia on dodanie dodatkowych tagów do maszyn
AWS promuje wykorzystanie droższych dysków SSD, więc musimy potwierdzić swój wybór dysków HDD (lub wybrać jednak dyski SSD)
W kolejnym kroku definiujemy konfigurację zabezpieczeń (firewall) poprzez stworzenie nowej grupy. Z racji tworzenia klastra testowego otworzę cały ruch do tych maszyn (uwaga, w żadnym wypadku nie należy tego robić produkcyjnie, gdyż każdy będzie miał dostęp do naszych maszyn i usług na wszystkich portach)
W ostatnim kroku dostajemy podsumowanie naszej stworzonej konfiguracji wraz z ostrzeżeniem że nasza konfiguracja będzie płatna (przez pierwszy rok korzystania z AWS dostajemy tak zwany “free tier” czyli pewien limit użycia za który nie musimy płacić). Klikamy “Launch” by potwierdzić naszą konfigurację.
Domyślny użytkownik systemów na AWS nie ma możliwości logowania się hasłem, dlatego w kolejnym kroku jesteśmy proszeni o stworzenie odpowiedniego klucza który posłuży nam do zalogowania się na niego. Ten klucz musimy zapisać na swoim komputerze oraz nikomu go nie udostępniać.
Ostatecznie tworzą się nasze maszyny
i na koniec dostajemy podsumowanie
Klikając “View Instances” możemy zobaczyć listę naszych maszyn