Amazon Aurora Serverless v2 jest ogólnie dostępny: Instant Scaling for Demanding Workloads
Autorzy z radością ogłaszają, że Amazon Aurora Serverless v2 jest już ogólnie dostępny zarówno dla Aurora PostgreSQL, jak i MySQL. Aurora Serverless to dostępna na żądanie konfiguracja z automatycznym skalowaniem dla Amazon Aurora, która umożliwia skalowanie bazy danych w górę lub w dół w zależności od potrzeb aplikacji.
Amazon Aurora to pokrewna baza danych kompatybilna z MySQL i PostgreSQL, stworzona dla chmury. Jest w pełni zarządzana przez usługę Amazon Relational Database Service (RDS), która automatyzuje czasochłonne zadania administracyjne, takie jak dostarczanie sprzętu, konfiguracja bazy danych, poprawki i tworzenie kopii zapasowych.
Jedną z kluczowych cech Amazon Aurora jest oddzielenie przetwarzania i przechowywania. W rezultacie skalują się one niezależnie. Magazyn Amazon Aurora automatycznie skaluje się wraz ze wzrostem ilości danych w Twojej bazie danych. Na przykład możesz przechowywać wiele danych, a jeśli pewnego dnia zdecydujesz się usunąć większość z nich, udostępniony magazyn dostosuje się do tej zmiany.
Pomimo tego wielu klientów stwierdziło, że potrzebują takiej samej elastyczności w warstwie obliczeniowej Amazon Aurora, ponieważ większość obciążeń baz danych nie wymaga stałej ilości mocy obliczeniowej. Obciążenia mogą być gwałtowne, rzadkie lub mogą mieć przewidywalne skoki w określonym czasie.
Aby obsłużyć tego rodzaju obciążenia, należy zapewnić szczytową pojemność, której oczekuje się od bazy danych. Jednak takie podejście jest kosztowne, ponieważ obciążenia bazy danych rzadko działają z maksymalną wydajnością. Aby zapewnić odpowiednią ilość mocy obliczeniowej, należy stale monitorować wykorzystanie pojemności bazy danych i skalować zasoby, w przypadku gdy zużycie jest wysokie. Wymaga to jednak specjalistycznej wiedzy i często wiąże się z przestojami.
W celu rozwiązania tego problemu, w 2018 roku autorzy uruchomili pierwszą wersję Amazon Aurora Serverless. Od momentu wprowadzenia na rynek tysiące klientów korzystało z usługi Amazon Aurora Serverless jako opłacalnej opcji w przypadku nieczęstych, sporadycznych i nieprzewidywalnych obciążeń.
Dzisiaj udostępniają kolejną wersję rozwiązania Amazon Aurora Serverless, umożliwiającą klientom uruchamianie nawet najbardziej wymagających obciążeń bezserwerowych z natychmiastowym i nieprzerwanym skalowaniem, szczegółową regulacją pojemności i dodatkowymi funkcjami, w tym replikami do odczytu, wdrożeniami Multi-AZ i Amazon Aurora Global Database.
Aurora Serverless v2 jest uruchamiana z najnowszymi głównymi wersjami dostępnymi na Amazon Aurora. Obsługiwane wersje: edycja kompatybilna z Aurora PostgreSQL z PostgreSQL 13 i edycja kompatybilna z Aurora MySQL z MySQL 8.0.
Najważniejsze cechy Aurora Serverless v2
Aurora Serverless v2 umożliwia skalowanie bazy danych do setek tysięcy transakcji na sekundę i ekonomiczne zarządzanie najbardziej wymagającymi obciążeniami. Skaluje pojemność bazy danych w drobnoziarnistych przyrostach, aby ściśle odpowiadać potrzebom obciążenia bez zakłócania połączeń lub transakcji. Ponadto płacisz tylko za dokładnie wykorzystaną pojemność i możesz zaoszczędzić do 90 procent w porównaniu z zapewnieniem obciążenia szczytowego.
Jeśli masz istniejący klaster Amazon Aurora, możesz utworzyć instancję Aurora Serverless v2 w tym samym klastrze. W ten sposób uzyskasz klaster o mieszanej konfiguracji, w którym zarówno instancje aprowizowane, jak i instancje Aurora Serverless v2 mogą współistnieć w tym samym klastrze.
Obsługuje pełen zakres funkcji Amazon Aurora. Na przykład możesz utworzyć do 15 replik Amazon Aurora do odczytu wdrożonych w wielu strefach dostępności. Dowolna liczba tych replik do odczytu może być instancjami Aurora Serverless v2 i może być używana jako cele przełączania awaryjnego w celu zapewnienia wysokiej dostępności lub skalowania operacji odczytu.
Podobnie w przypadku Global Database, możesz przypisać dowolną instancję jako Aurora Serverless v2 i płacić tylko za minimalną pojemność podczas bezczynności. Te wystąpienia w regionach pomocniczych można również skalować niezależnie, aby obsługiwać różne obciążenia w różnych regionach. Zapoznaj się z instrukcją obsługi Amazon Aurora, aby uzyskać pełną listę funkcji.
W jaki sposob działa skalowanie Aurora Serverless v2
Aurora Serverless v2 skaluje się natychmiast i bez zakłóceń, zwiększając pojemność bazowej instancji poprzez dodanie większej liczby zasobów procesora i pamięci. Ta technika umożliwia bazowemu wystąpieniu zwiększenie i zmniejszenie pojemności w miejscu bez przełączania awaryjnego do nowego wystąpienia w celu skalowania.
W przypadku redukcji, Aurora Serverless v2 przyjmuje bardziej konserwatywne podejście. Skaluje się stopniowo, aż osiągnie wymaganą pojemność niezbedną do obciążenia pracą. Zbyt szybkie skalowanie może przedwcześnie wykluczyć strony z pamięci podręcznej i zmniejszyć pulę buforów, co może wpłynąć na wydajność.
Pojemność bezserwerowa Aurora jest mierzona w jednostkach pojemności Aurora (ACU). Każda jednostka ACU jest kombinacją około 2 gibibajtów (GiB) pamięci, odpowiedniego procesora i sieci. W przypadku Aurora Serverless v2 Twoja początkowa pojemność może wynosić zaledwie 0,5 ACU, a maksymalna obsługiwana pojemność to 128 ACU. Ponadto obsługuje drobnoziarniste przyrosty tak małe, jak 0,5 ACU, co pozwala na dokładne dopasowanie pojemności bazy danych do potrzeb obciążenia.
Skalowanie Aurora Serverless v2 w akcji
Aby pokazać Aurora Serverless v2 w akcji, autorzy zasymulują wyprzedaż błyskawiczną. Wyobraź sobie, że prowadzisz witrynę e-commerce. Rozpoczynasz kampanię marketingową, w ramach której klienci mogą kupować produkty 50 procent taniej przez ograniczony czas. Spodziewasz się wzrostu ruchu w Twojej witrynie w czasie trwania wyprzedaży.
Kiedy korzystasz z tradycyjnej bazy danych, w przypadku jeśli regularnie prowadzisz te kampanie marketingowe, musisz zapewnić maksymalne obciążenie, jakiego oczekujesz. Lub, jeśli uruchamiasz je od czasu do czasu, musisz przekonfigurować bazę danych pod kątem oczekiwanego szczytu ruchu podczas sprzedaży. W obu przypadkach jesteś ograniczony do założenia o wymaganej pojemności. Co się stanie, jeśli sprzedaż będzie większa niż oczekiwałeś? Jeśli Twoja baza danych nie nadąża za zapotrzebowaniem, może to spowodować pogorszenie usług. Co w sytuacji, gdy Twoja kampania marketingowa nie przynosi oczekiwanej sprzedaży? Niepotrzebnie płacisz za pojemność, której nie potrzebujesz.
W tej wersji demonstracyjnej autorzy używają Aurora Serverless v2 jako transakcyjnej bazy danych. Funkcja AWS Lambda służy do wywoływania bazy danych i przetwarzania zamówień podczas zdarzenia sprzedaży dla witryny e-commerce. Funkcja Lambda i baza danych znajdują się w tej samej wirtualnej chmurze prywatnej Amazon (VPC), a funkcja łączy się bezpośrednio z bazą danych, aby wykonać wszystkie operacje.
Aby zasymulować ruch związany z flash sale, autorzy użyją platformy testowania obciążenia typu open source o nazwie Artillery. Umożliwi to generowanie zmiennego obciążenia poprzez wywoływanie wielu funkcji Lambda. Na przykład możesz zacząć od małego obciążenia, a następnie szybko je zwiększyć, aby zaobserwować, jak pojemność bazy danych dostosowuje się do tego obciążenia. Ten test obciążenia Artillery działa na instancji Amazon Elastic Compute Cloud (Amazon EC2) w ramach tego samego VPC.
Poniższy pulpit nawigacyjny Amazon CloudWatch pokazuje, jak zachowuje się pojemność bazy danych, gdy liczba zamówień wzrasta. Na panelu wyświetlane są zamówienia złożone na niebiesko, a aktualna pojemność bazy danych na pomarańczowo.
Na początku sprzedaży baza danych Aurora Serverless v2 rozpoczyna się z pojemnością 5 jednostek ACU, co stanowiło minimalną skonfigurowaną pojemność bazy danych. Przez pierwsze kilka minut zamówienia rosną, ale pojemność bazy danych nie zwiększa się od razu. Baza danych może obsłużyć obciążenie z początkową alokowaną pojemnością.
Jednak około godziny 15:55 liczba zamówień wzrasta do 12 000. Dzięki temu baza danych zwiększa pojemność do 14 jednostek ACU. Pojemność bazy danych wzrasta w milisekundach, dostosowując się dokładnie do obciążenia.
Liczba złożonych zamówień utrzymuje się przez kilka sekund, po czym spada drastycznie o 15:58. Jednak pojemność bazy danych nie dostosowuje się dokładnie do spadku ruchu. Zamiast tego zmniejsza się stopniowo, aż osiągnie 5 ACU. Zmniejszanie jest wykonywane w sposób bardziej konserwatywny, aby uniknąć przedwczesnego usuwania stron z pamięci podręcznej i wpływania na wydajność. Ma to na celu zapobieganie zbędnym opóźnieniom w przypadku skokowych obciążeń, a także zapobiega agresywnemu usuwaniu pamięci podręcznych i pul buforów.
Rozpocznij pracę z Aurora Serverless v2 z istniejącym klastrem Amazon Aurora
Jeśli posiadasz już klaster Amazon Aurora i chcesz wypróbować Aurora Serverless v2, najszybszym sposobem na rozpoczęcie jest użycie klastrów o mieszanej konfiguracji, które zawierają zarówno instancje bezserwerowe, jak i instancje zapewnione. Zacznij od dodania nowego czytnika do istniejącego klastra. Skonfiguruj instancję czytnika tak, aby była typu Serverless v2.
Przetestuj nową instancję bezserwerową z obciążeniem. Po uzyskaniu potwierdzenia, że działa zgodnie z oczekiwaniami, możesz rozpocząć przełączanie awaryjne do instancji bezserwerowej, co zajmie mniej niż 30 sekund. Ta opcja zapewnia minimalny czas przestoju, aby rozpocząć pracę z Aurora Serverless v2.
Jak stworzyć nową bazę danych Aurora Serverless v2
Aby rozpocząć pracę z Aurora Serverless v2, utwórz nową bazę danych z konsoli RDS. Pierwszym krokiem jest wybór typu silnika: Amazon Aurora. Następnie wybierz silnik bazy danych, z którym chcesz, aby był kompatybilny: MySQL lub PostgreSQL. Otwórz filtry w sekcji Wersja silnika i wybierz filtr Pokaż wersje obsługujące bezserwerowe v2. Następnie zobaczysz, że rozwijana lista Dostępne wersje zawiera tylko opcje obsługiwane przez Aurora Serverless v2.
Następnie musisz skonfigurować bazę danych. Określ ustawienia poświadczeń z nazwą użytkownika i hasłem dla administratora bazy danych.
Następnie skonfiguruj instancję dla bazy danych. Musisz wybrać, jaki rodzaj klasy instancji Cię interesuje. Powoduje to przydzielenie pojemności obliczeniowej, sieciowej i pamięci dla instancji bazy danych. Wybierz Bezserwerowe.
Następnie należy zdefiniować zakres pojemności. Pojemność Aurora Serverless v2 skaluje się w górę i w dół w ramach minimalnej i maksymalnej konfiguracji. Tutaj możesz określić minimalną i maksymalną pojemność bazy danych dla swojego obciążenia. Minimalna pojemność, jaką można określić, to 0,5 ACU, a maksymalna to 128 ACU. Więcej informacji na temat jednostek pojemności Aurora Serverless v2 znajdziesz w dokumentacji błyskawicznego autoskalowania.
Następnie skonfiguruj łączność, tworząc nową VPC i grupę zabezpieczeń lub użyj domyślnej. Na koniec wybierz Utwórz bazę danych.
Tworzenie bazy danych zajmuje kilka minut. Wiesz, że Twoja baza danych jest gotowa, gdy status zmieni się na Dostępna.
Szczegóły połączenia z bazą danych znajdziesz na stronie bazy danych. Punkt końcowy i port w połączeniu z nazwą użytkownika i hasłem administratora to wszystko, czego potrzebujesz, aby połączyć się z nową bazą danych Aurora Serverless v2.
Dostępne już dziś!
Aurora Serverless v2 jest już dostępna dla wschodnich stanów USA (Ohio, Północna Wirginia), zachodnich stanów USA (Płn. Kalifornia, Oregon), Azji i Pacyfiku (Hongkong, Bombaj, Seul, Singapur, Sydney, Tokio), Kanady (Centrum), Europy (Frankfurt, Irlandia, Londyn, Paryż, Sztokholm) i Ameryce Południowej (São Paulo).
Odwiedź stronę Amazon Aurora Serverless v2, aby uzyskać więcej informacji na temat tej premiery.
źródło: AWS