Jak skonfigurować automatyczne skalowanie DynamoDB i użyć go do automatycznego zarządzania pojemnością przepustowości

Jak skonfigurować automatyczne skalowanie DynamoDB i użyć go do automatycznego zarządzania pojemnością przepustowości
Zarządzanie nieprzewidywalnymi bazami danych może być zadaniem pod górę, jeśli polegasz na operacjach ręcznych w celu obsługi nieoczekiwanych korekt bazy danych. Co ciekawe, funkcja automatycznego skalowania DynamODB dynamicznie dostosowuje przepustową pojemność tabel lub globalnych indeksów wtórnych bez interwencji.

Zatem bazy danych z włączoną funkcją automatycznego skalowania niezawodnie i automatycznie reagują na rzeczywiste wzorce ruchu. Umożliwia to tabele DynamoDB lub globalne wskaźniki wtórne zwiększenie lub zmniejszenie ich przepustowości (odczytu i zapisu) do radzenia sobie z gwałtownymi ruchami bez dławiania.

Ten zapis jest twoim najlepszym przewodnikiem dla wszystkiego związanego z usługą Skalowania Auto DynamoDB. Omawia, w jaki sposób funkcja zarządza pojemnością odczytu i zapisu w tabeli DynamoDB. Poza tym dowiesz się, jak włączyć automatyczne skalowanie w tabeli DynamoDB.

Jak działa automatyczne skalowanie DynamODB w celu dynamicznego zarządzania pojemnością przepustowości

W szczególności funkcja Skalowania Auto DynamoDB opiera się na usłudze automatycznego skalowania aplikacji AWS. Działa poprzez ciągłe monitorowanie rzeczywistych wzorców ruchu tabeli lub indeksu oraz dostosowanie udostępnionej przepustowości w razie potrzeby w celu utrzymania ustawionych przez ciebie poziomów wykorzystania docelowego.

Proces funkcjonowania tej funkcji w DynamoDB obejmuje następujące czynności:

Musisz zacząć od skonfigurowania automatycznego skalowania i zdefiniowania poziomów wykorzystania docelowego dla swojej tabeli lub indeksu. Poziom wykorzystania to odsetek jednostek pojemności odczytu i zapisu, których chcesz użyć dla określonej tabeli lub indeksu. W zależności od wzorców ruchu i potrzeb wydajności możesz ustawić różne poziomy wykorzystania docelowego dla jednostek pojemności odczytu i zapisu.

DynamODB w sposób ciągły monitoruje rzeczywiste wzorce ruchu w tabeli lub indeksie. Z kolei zbierze dane dotyczące liczby żądań odczytu i zapisu, które są składane w tabeli lub indeksie. Poza tym gromadzi dane związane z rozmiarem tych żądań pod względem jednostek odczytu i zapisu.

Funkcja automatycznego skalowania wykorzystuje zebrane dane na temat wzorców ruchu i ustawionych poziomów wykorzystania docelowego do obliczenia wymaganej przepustowości dla tabeli lub indeksu.

Jeśli rzeczywisty ruch przekracza poziom wykorzystania docelowego, DynamODB zwiększa przepustową wydajność do obsługi zwiększonego ruchu. Z drugiej strony, jeśli rzeczywisty ruch spadnie poniżej poziomu wykorzystania docelowego, DynamODB zmniejsza przepustową wydajność w celu dopasowania do rzeczywistego ruchu i zmniejszenia kosztów.

DynamODB niezawodnie dostosowuje przepustową pojemność tabeli lub indeksu za pomocą zasady skalowania kroków. Polityka określa zasady dynamicznego zwiększania lub zmniejszania przepustowości w odpowiedzi na zmiany wzorców ruchu.

Możesz dostosować zasady skalowania kroków do swoich rzeczywistych potrzeb. Na przykład możesz określić minimalne i maksymalne limity pojemności, przyrosty, w których system może dodać lub usuwać jednostki pojemności, oraz warunki, w których dynamiDB może wyzwolić działanie skalowania.

W szczególności DynamoDB Auto Scaling jest dostępny tylko dla trybu pojemności „na żądanie” w DynamoDB. W tym trybie płacisz za rzeczywiste odczyty i piszesz, które wykonujesz na stole lub indeksie, i nie ma zarezerwowanych jednostek pojemności. Dzięki automatycznym skalowaniu możesz zoptymalizować swoje koszty, płacąc tylko za pojemność, w której musisz poradzić sobie z ruchem.

Jak skonfigurować automatyczne skalowanie DynamoDB

Po pierwsze, należy zauważyć, że automatyczne skalowanie DynamoDB jest automatycznie włączone w tabeli lub indeksie, jeśli używasz konsoli zarządzania AWS do tworzenia tabel. Istnieje ustawienie domyślne, które wymaga.

Jednak nadal możesz użyć konsoli zarządzania AWS, aby włączyć automatyczne skalowanie DynamoDB dla istniejących tabel, wyłączyć automatyczne skalowanie lub zmodyfikować funkcje automatycznego skalowania. Możesz także osiągnąć te wszystkie za pomocą AWS CLI lub dowolnym z SDK AWS.

W tym artykule wykorzystuje AWS CLI do zilustrowania, w jaki sposób możesz skonfigurować i włączyć automatyczne skalowanie DynamoDB i użyć go do automatycznego zarządzania przepustowością dla tabeli lub indeksu. Te następujące kroki są niezbędne:

Krok 1: Utwórz tabelę lub indeks DynamoDB

Utwórzmy tabelę tej demonstracji za pomocą AWS DynamoDB Treate-Table pożytek. Patrz nasze przykładowe polecenie:

AWS DynamoDB Treate-Table \
--nazwa tabeli MyTableName \
--atrybut-definitions atrybtuteName = id, atrybtuteType = s \
--Key-Schema atrybutename = ID, KeyType = Hash \
--Udostępniane przez readCapacicitunits = 10, WriteCapacicitunits = 10

Kontynuuj sprawdzenie statusu tabeli za pomocą AWS DynamoDB opisuje Table polecenie, jak pokazano następująco. Ten krok ma na celu potwierdzenie, czy twoja tabela jest utworzona i zawiera listę różnych specyfikacji. Tabela powinna być w stanie aktywnym.

AWS DynamoDB opisuj-table-name-nazwa myTableName

Krok 2: Utwórz alarm Amazon CloudWatch

Utwórz alarm Amazon CloudWatch dla metryki pojemności. Możesz użyć polecenia AWS CloudWatch Put-Metric-Alarm. To polecenie pozwala określić metrykę, próg, przy którym alarm jest uruchamiany.

Ten kod pomoże:

AWS CloudWatch Put-Metryczne-alarm \
--alarm-nazwa DynamOdb-highrCualarm \
--nazwa metryczna ConstedReadCapaciciteUnits \
--Przestrzeń nazw AWS/Dynamodb \
--Statystyka średnia \
--okres 240 \
--próg 80 \
--Operator porównawczy GreaterThanthreshold \
--Ocena-okres 2 \
--Aktywacje alarmowe ARN: AWS: Automatyzacja: US-WEAST-1: EC2: Odzyskaj

Krok 3: Utwórz rolę AWS Identity and Access Management (IAM)

Utwórz rolę AWS Identity i Access Management (IAM), która pozwala DynamODB wywołać działania putscalingpolicy i executepolicy w Twoim imieniu. Możesz użyć AWS IAM Create-Role polecenie tworzenia roli i polecenia AWS IAM Policy-Role-Policy, aby dołączyć politykę niezbędnych uprawnień.

Możesz użyć następującego polecenia:

AWS IAM COUNT-ROLE-Policy--Role-Nazwa DynamodbsCalingRole-Policy-Arn ARN: AWS: IAM :: AWS: Policy/AmazondynamodbfulLaccess

Krok 4: Zarejestruj tabele przepustowości jako skalowalny cel

Następny krok rejestruje pojemność zapisu tabeli jako skalowalnego celu za pomocą AWS Auto Scaling. Ta procedura automatycznie umożliwia automatyczne skalowanie aplikacji AWS w celu dostosowania pojemności przepustowości postanowionej tabeli. Ponownie może się to zdarzyć tylko w obrębie jednostek pojemności 5-10.

Następujące polecenie powinno pomóc:

AWS Application-Autoscaling Rejestr-Skalable-cel \
--Service-Namespace Dynamodb \
--Tabela ID zasobów/MyTableName \
--Skalowalne Dynamodb: Tabela: ReadCapacicitunits \
--Min-Capaity 5 \
--Max-Capaity 500

Poprzednie narzędzie określa zarówno typ zasobu, jak i identyfikator zasobu, który zamierzasz skalować. Określa również minimalne i maksymalne limity pojemności zasobu, które chcesz skalować.

Polecenie wygląda tak, jeśli chcesz skalować globalny indeks wtórny, a nie tabela:

AWS Application-Autoscaling Rejestr-Skalable-cel \
--Service-Namespace Dynamodb \
--Tabela ID zasobów/MyTableName/index/myIndexName \
--Skalowalne DynamoDB: indeks: ReadCapacicitunits \
--Min-Capaity 5 \
--Max-Capaity 500

Krok 5: Utwórz plan skalowania

Aby utworzyć plan skalowania tabeli lub indeksu DynamoDB, możesz użyć AWS Application-Autoscaling Create-Scaling-Plan Komenda. To polecenie pozwala określić zasób, który chcesz skalować (taki jak tabela lub indeks), zasady skalowania, których system używa do wykonywania działania skalowania, oraz alarmu CloudWatch, który wyzwala działanie skalowania.

Krok 6: Włącz automatyczne skalowanie

Aby włączyć automatyczne skalowanie dla tabeli lub indeksu DynamoDB, możesz użyć AWS Application-Autoscaling Rejestr-Skalable-cel Komenda. To polecenie rejestruje zasób (taki jak tabela lub indeks) z automatycznym skalowaniem aplikacji, umożliwiając jego skalowanie automatycznie na podstawie utworzonego planu skalowania.

Możesz użyć następującego polecenia:

AWS Application-Autoscaling Rejestr-Skalable-cel \
--Service-Namespace Dynamodb \
--Tabela ID zasobów/MyTable \
--Skalowalne Dynamodb: Tabela: ReadCapacicitunits \
--Min-Capaity 5 \
--Max-Capaity 50

Wniosek

Automatyczne skalowanie pomaga zoptymalizować wydajność i koszty tabeli DynamoDB lub globalny wskaźnik wtórny poprzez automatyczne dostosowanie udostępnionej przepustowości w odpowiedzi na zmiany wzorców ruchu. Możesz włączyć automatyczne skalowanie tabeli lub indeksu DynamoDB za pomocą procedury AWS CLI. Ponownie konsola zarządzania AWS lub API DynamoDB mogą pomóc w osiągnięciu tego procesu.