Przetwarzanie w chmurze jest obecnie powszechne w większości firm. Umożliwia dostęp na żądanie do mocy obliczeniowej, bazy danych, pamięci masowej, aplikacji i innych zasobów za pośrednictwem Internetu.
Główną zaletą chmury jest to, że nie musisz wydawać dużo pieniędzy, aby kupić wydajne serwery lub zbudować własne centra danych. Ale to nie jedyna zaleta, gdy musisz skalować, nie musisz kupować nowego serwera, możesz po prostu dodać zasoby za pomocą kilku kliknięć. W podobny sposób możemy również zmniejszyć liczbę zasobów, gdy nie są one potrzebne do obniżenia kosztów.
Baza danych w chmurze to baza danych działająca u dostawcy usług w chmurze. Pozwala nam przechowywać, zarządzać, pobierać i manipulować naszymi danymi za pośrednictwem platformy w chmurze; dostępne przez internet.
W tym blogu przyjrzymy się różnym typom ofert w chmurze, a następnie skupimy się na prowadzeniu bazy danych PostgreSQL za pomocą Amazon RDS
Oferty i opcje usług w chmurze
Jak widać na powyższym obrazku, istnieje kilka różnych rodzajów usługi w chmurze w zależności od wymaganego poziomu dostępu.
- Na miejscu: Jest instalowany i uruchamiany na komputerach w siedzibie osoby lub organizacji korzystającej z systemu. W rzeczywistości nie jest to usługa w chmurze, ale warto zobaczyć różnicę.
- IaaS: Jest to usługa online, która zapewnia interfejsy API wysokiego poziomu używane do uzyskiwania dostępu do różnych szczegółów niskiego poziomu podstawowej infrastruktury sieciowej, takich jak fizyczne zasoby obliczeniowe, lokalizacja, partycjonowanie danych, skalowanie, bezpieczeństwo, tworzenie kopii zapasowych itp.
- PaaS: Zapewnia platformę umożliwiającą klientom tworzenie, uruchamianie i zarządzanie aplikacjami bez złożoności budowania i utrzymywania infrastruktury związanej z tworzeniem i uruchamianiem aplikacji.
- SaaS: Dostęp do niego uzyskują użytkownicy przez Internet za pomocą klienta (przeglądarki). Nie wymaga żadnej instalacji po stronie klienta.
Jeśli mówimy o PostgreSQL, istnieją dostawcy chmury, którzy oferują PostgreSQL w chmurze; w różnych smakach i przy użyciu różnych metod. Jak wspomnieliśmy powyżej, skupimy się na Amazon RDS.
Co to jest Amazon RDS (usługa relacyjnej bazy danych)?
Według strony internetowej Amazon, oferują ponad 165 w pełni funkcjonalnych usług, w tym ponad 40 usług niedostępnych nigdzie indziej. Tak więc AWS jest prawdopodobnie najbardziej zaawansowanym na świecie dostawcą usług w chmurze pod względem funkcji i usług z milionami klientów.
Amazon RDS umożliwia nam tworzenie, zarządzanie i skalowanie relacyjnej bazy danych w chmurze w łatwy i szybki sposób. Jest ona dostępna w różnych typach baz danych, takich jak Amazon Aurora, PostgreSQL, MySQL i innych. AWS zapewnia narzędzie o nazwie AWS Database Migration Service do migracji istniejącej bazy danych do Amazon RDS.
Zalety Amazon RDS
- Łatwy w użyciu: Aby uzyskać dostęp do relacyjnej bazy danych, możemy użyć konsoli zarządzania Amazon RDS, interfejsu wiersza poleceń AWS RDS lub wywołań API. Nie potrzebujemy udostępniania infrastruktury ani instalowania i utrzymywania oprogramowania bazodanowego.
- Skalowalne: Za pomocą kilku kliknięć możemy skalować zasoby obliczeniowe i magazynowe naszej bazy danych. Wiele typów silników Amazon RDS pozwala nam uruchomić jedną lub więcej replik odczytu, aby odciążyć ruch odczytu z naszej podstawowej instancji bazy danych.
- Dostępność: Gdy udostępniamy instancję bazy danych Multi-AZ, usługa Amazon RDS synchronicznie replikuje dane do instancji rezerwowej w innej strefie dostępności (AZ). Amazon RDS ma wiele innych funkcji, które zwiększają niezawodność krytycznych produkcyjnych baz danych, w tym automatyczne kopie zapasowe, migawki bazy danych i automatyczną wymianę hostów.
- Wydajność: Do wyboru mamy dwie opcje pamięci masowej oparte na dyskach SSD:jedną zoptymalizowaną pod kątem wysokowydajnych aplikacji OLTP, a drugą pod kątem ekonomicznego użytku ogólnego.
- Bezpieczne: Amazon RDS pozwala nam uruchamiać instancje baz danych w Amazon VPC (Virtual Private Cloud), co pozwala nam izolować instancje baz danych i łączyć się z istniejącą infrastrukturą IT za pośrednictwem VPN. Ponadto wiele typów silników Amazon RDS oferuje szyfrowanie w spoczynku i szyfrowanie podczas przesyłania.
Chociaż nie jest to oficjalnie wspomniane na stronie internetowej AWS, ale jeśli weźmiemy pod uwagę DBaaS (Database as a Service) jako usługę bazy danych, która jest zarządzana i wdrażana w infrastrukturze zewnętrznego dostawcy (zgodnie z naszą listą w sekcji powyżej) możemy powiedzieć, że Amazon RDS to „rodzaj” DBaaS, gdzieś pomiędzy usługą PaaS i SaaS.
Przewodnik po PostgreSQL na Amazon RDS
Najpierw musimy zalogować się do konsoli AWS. (Jeśli nie masz konta AWS, możesz utworzyć bezpłatne tutaj.)
Następnie przejdź do sekcji Usługi -> Baza danych -> RDS i Utwórz bazę danych.
Teraz musimy wybrać, czy chcemy kontynuować normalne, czy łatwe tworzenie , silnik i wersję, którą wdrożymy.
Jeśli wybierzemy łatwe tworzenie, wystarczy dodać instancję bazy danych nazwa, użytkownik i hasło.
W tym przypadku wybierzemy PostgreSQL 10 i normalną kreację, aby móc zobaczyć szczegóły tworzenia, więc będzie to wymagało nieco więcej pracy niż to proste.W tym przypadku wybierzemy PostgreSQL 10 i zwykłe tworzenie, aby móc zobaczyć szczegóły tworzenia, więc będzie to wymagało trochę więcej pracy niż to łatwe.
W normalnym tworzeniu najpierw wybierzemy szablon, może to być opcja warstwy produkcyjnej, programistycznej/testowej lub bezpłatnej.
W następnym kroku dodamy nazwę instancji bazy danych, użytkownik i hasło.
Następnym krokiem jest rozmiar instancji bazy danych, w którym mamy kilka opcji w trzech różnych kategoriach:klasy standardowe, klasy zoptymalizowane pod kątem pamięci i klasy Burstable.
W sekcji przechowywania możemy wybrać typ, rozmiar i zachowanie pamięci.
Jedną z najważniejszych funkcji AWS jest wdrożenie Multi-AZ, w którym możemy utworzyć instancję rezerwową w innej strefie dostępności, aby zapewnić nadmiarowość.
O łączności możemy wybrać wirtualną chmurę prywatną (VPC) do podłącz nową bazę danych. Tutaj możemy wybrać dodatkowe opcje, takie jak dostęp publiczny, strefa dostępności i port bazy danych.
Potem mamy dodatkową konfigurację gdzie możemy określić nazwę bazy danych, bazę danych uwierzytelnianie, szczegóły kopii zapasowych, szyfrowanie, monitorowanie, logowanie i konserwacja (automatyczne drobne aktualizacje).
Nareszcie będziemy mieli możliwość sprawdzenia szacunkowych kosztów miesięcznych.
Możemy zobaczyć więcej szczegółów na temat kosztów tutaj, a nawet skorzystać z AWS Kalkulator miesięczny.
Po dodaniu wszystkich tych informacji musimy poczekać do zakończenia procesu tworzenia.
Gdy stan zmieni się na „Dostępny”, nasza instancja bazy danych jest gotowa do używać.
Jeśli naciśniemy identyfikator bazy danych (w naszym przykładzie „pg1”), uzyskamy dostęp do naszej sekcji bazy danych, w której możemy zobaczyć podsumowanie z informacjami, takimi jak wykorzystanie procesora, połączenia, stan i typ . Tutaj możemy również modyfikować konfigurację naszej instancji lub wykonywać różne czynności, takie jak ponowne uruchamianie, usuwanie, tworzenie repliki do odczytu, robienie migawek, a nawet więcej.
W tym samym miejscu możemy również zobaczyć bardziej szczegółowe informacje w różnych sekcjach .
Łączność i bezpieczeństwo
Możemy skonfigurować reguły bezpieczeństwa i sprawdzić informacje o sieci.
Monitorowanie
Mamy kilka wskaźników do sprawdzenia stanu naszej bazy danych.
Dzienniki i wydarzenia
Mamy alarmy, zdarzenia i logi z naszej bazy danych.
Konfiguracja
Możemy zobaczyć naszą konfigurację instancji, ale także listę zaleceń, które można ulepszyć, na przykład włączyć rozszerzone monitorowanie.
Konserwacja i kopie zapasowe
Możemy zobaczyć informacje o zadaniach konserwacyjnych, kopiach zapasowych i procesie tworzenia migawek.
Teraz powinniśmy mieć dostęp do naszej bazy danych przy użyciu nazwy punktu końcowego przydzielony przez AWS („pg1.cibqq2gl0qof.us-east-1.rds.amazonaws.com ” w naszym przykładzie). W tym celu upewnij się, że zezwolono na dostęp z sekcji grupy bezpieczeństwa i włączono dostęp publiczny z konfiguracji instancji (Dostępność publiczna:Tak). W naszym przykładzie zezwalamy na cały ruch ze wszystkich źródeł, ale ze względów bezpieczeństwa prawdopodobnie będziesz chciał ograniczyć dostęp z jednego lub kilku źródeł.
Teraz spróbujmy połączyć się z naszą instancją Amazon RDS z wiersza poleceń :
[[email protected] ~]# psql -U postgres -h pg1.cibqq2gl0qof.us-east-1.rds.amazonaws.com
Password for user postgres:
psql (11.5, server 10.6)
SSL connection (protocol: TLSv1.2, cipher: ECDHE-RSA-AES256-GCM-SHA384, bits: 256, compression: off)
Type "help" for help.
postgres=> \l
List of databases
Name | Owner | Encoding | Collate | Ctype | Access privileges
-----------+----------+----------+-------------+-------------+-----------------------
postgres | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 |
rdsadmin | rdsadmin | UTF8 | en_US.UTF-8 | en_US.UTF-8 | rdsadmin=CTc/rdsadmin
template0 | rdsadmin | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/rdsadmin +
| | | | | rdsadmin=CTc/rdsadmin
template1 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/postgres +
| | | | | postgres=CTc/postgres
(4 rows)
postgres=> select version();
version
--------------------------------------------------------------------------------------------------------
PostgreSQL 10.6 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.8.3 20140911 (Red Hat 4.8.3-9), 64-bit
(1 row)
W ten sam sposób możemy połączyć się z nim z naszego preferowanego GUI (jeśli taki mamy).
Uwaga na temat Amazon Aurora
Amazon Aurora to relacyjna baza danych kompatybilna z MySQL i PostgreSQL, stworzona dla chmury. Według strony internetowej AWS, Amazon Aurora jest trzy razy szybsza niż standardowe bazy danych PostgreSQL i zapewnia bezpieczeństwo, dostępność i niezawodność komercyjnych baz danych za 1/10 kosztów. Niezależnie od twierdzenia, nie jest to prawdziwa instancja PostgreSQL, tylko kompatybilny silnik. Ale jeśli rozważasz uruchomienie PostgreSQL na Amazon, zdecydowanie powinieneś rozważyć to jako możliwą alternatywę. Możesz dowiedzieć się więcej o Aurorze i jej związku z PostgreSQL tutaj.
Wnioski
Chmura jest wszędzie. Możemy go używać zarówno do małych, jak i dużych projektów. W tym blogu przyjrzeliśmy się różnym rodzajom chmur i podzieliliśmy się sposobem uruchamiania PostgreSQL na Amazon RDS. Daj nam znać w komentarzach poniżej swoich przemyśleń.