Hvordan konfigurere DynamoDB Auto -skaleringen og bruk den til automatisk å administrere gjennomstrømningskapasiteten

Hvordan konfigurere DynamoDB Auto -skaleringen og bruk den til automatisk å administrere gjennomstrømningskapasiteten
Å administrere uforutsigbare databaser kan være en oppoverbakke oppgave hvis du stoler på manuelle operasjoner for å håndtere de uventede databasejusteringene. Interessant nok justerer dynamoDB-automatisk skaleringsfunksjon dynamisk den leverte gjennomstrømningskapasiteten til tabeller eller globale sekundære indekser uten ditt inngrep.

Dermed svarer databaser med en aktivert automatisk skaleringsfunksjon pålitelig og reagerer automatisk på faktiske trafikkmønstre. Dette gjør at DynamoDB -tabellene eller globale sekundære indekser kan øke eller redusere deres leverte gjennomstrømning (lese og skrive) kapasitet til å håndtere de plutselige trafikkstrikkene uten å struppe.

Denne oppskrivningen er din ultimate guide for alt relatert til DynamoDB Auto Scaling Service. Den diskuterer hvordan funksjonen administrerer lese- og skrivekapasiteten i DynamoDB -tabellen din. Dessuten lærer du hvordan du aktiverer autoskalering i DynamoDB -tabellen.

Hvordan dynamodb auto skalering fungerer for å dynamisk administrere gjennomstrømningskapasiteten

Spesielt er DynamoDB Auto Scaling -funksjonen avhengig av AWS Application Auto Scaling Service. Det fungerer ved kontinuerlig å overvåke de faktiske trafikkmønstrene i tabellen eller indeksen og justere den leverte gjennomstrømningskapasiteten etter behov for å opprettholde målutnyttelsesnivåene du angir.

Funksjonsprosessen for denne funksjonen i DynamoDB involverer følgende:

Du må begynne med å sette opp automatisk skalering og definere målutnyttelsesnivåene for tabellen eller indeksen. Utnyttelsesnivået er prosentandelen av lese- og skrivekapasitetsenheter du vil bruke for en bestemt tabell eller indeks. Avhengig av trafikkmønstrene og ytelsesbehovene dine, kan du angi de forskjellige målutnyttelsesnivåene for lesings- og skrivekapasitetsenheter.

DynamoDB overvåker kontinuerlig de faktiske trafikkmønstrene i tabellen eller indeksen. Det vil på sin side samle inn dataene om antall lese- og skriveforespørsler som er laget til tabellen eller indeksen. Dessuten samler den inn dataene relatert til størrelsen på disse forespørslene når det gjelder lesings- og skrivekapasitetsenheter.

Automaleringsfunksjonen bruker de innsamlede dataene om trafikkmønstrene og målutnyttelsesnivåene du angir for å beregne den nødvendige leverte gjennomstrømningskapasiteten for tabellen eller indeksen.

Hvis den faktiske trafikken overstiger målutnyttelsesnivået, øker DynamoDB den leverte gjennomstrømningskapasiteten for å håndtere den økte trafikken. På den annen side, hvis den faktiske trafikken faller under målutnyttelsesnivået, reduserer DynamoDB den leverte gjennomstrømningskapasiteten for å matche den faktiske trafikken og redusere kostnadene.

DynamoDB justerer pålitelig den leverte gjennomstrømningskapasiteten til tabellen eller indeksen ved å bruke trinnskaleringspolitikken. Politikken definerer reglene for dynamisk å øke eller redusere den leverte gjennomstrømningskapasiteten som svar på endringer i trafikkmønster.

Du kan tilpasse trinnskaleringspolitikken til dine faktiske behov. For eksempel kan du spesifisere minimum og maksimum kapasitetsgrenser, trinnene som systemet kan legge til eller fjerne kapasitetsenhetene, og forholdene under hvilken dynamoDB kan utløse skaleringsaksjonen.

Spesielt er DynamoDB Auto-skalering bare tilgjengelig for "On-Demand" kapasitetsmodus i DynamoDB. I denne modusen betaler du for de faktiske lesene og skriver at du utfører på bordet eller indeksen, og det er ingen reserverte kapasitetsenheter. Med bilskalering kan du optimalisere kostnadene dine ved å betale bare for kapasiteten der du trenger å håndtere trafikken din.

Hvordan sette opp dynamoDB Auto -skaleringen

For det første er det viktig å merke seg at DynamoDB Auto -skalering automatisk er aktivert på bordet eller indeksen hvis du bruker AWS Management Console for å lage tabellene dine. Det er en standardinnstilling som krever det.

Imidlertid kan du fremdeles bruke AWS -styringskonsollen for å aktivere DynamoDB Auto Scaling for eksisterende tabeller, deaktivere autoskalering eller endre auto -skaleringsfunksjonene dine. Du kan også oppnå alle disse med AWS CLI eller noen av AWS 'SDK -er.

Denne artikkelen bruker AWS CLI for å illustrere hvordan du kan konfigurere og aktivere DynamoDB Auto -skalering og bruke den til å automatisk administrere gjennomstrømningskapasiteten for en tabell eller indeks. Disse følgende trinnene er viktige:

Trinn 1: Opprett en dynamodb -tabell eller indeks

La oss lage et bord for denne demonstrasjonen ved å bruke AWS DynamoDB Create-Table nytte. Se vår eksempler på kommandoen:

aws dynamodb create-table \
--Bordnavn MytableName \
--attributtdefinisjoner AttributeName = ID, AttributeType = S \
--Key-Schema AttributeName = ID, KeyType = Hash \
--Provisioned-throughput ReadCapacityUnits = 10, WriteCapacityUnits = 10

Fortsett med å sjekke statusen til tabellen din ved å bruke AWS DynamoDB beskriver-bord Kommando, som vist i det følgende. Dette trinnet tar sikte på å bekrefte om tabellen din er opprettet og lister opp de forskjellige spesifikasjonene. Tabellen skal være i aktiv status.

AWS DynamoDB beskriver-bord-bord-navn mytablename

Trinn 2: Lag en Amazon CloudWatch -alarm

Lag en Amazon Cloudwatch -alarm for en kapasitetsmetrik. Du kan bruke AWS CloudWatch Put-Metric-Alarm-kommandoen. Denne kommandoen lar deg spesifisere metrikken, terskelen som alarmen utløses, og handlingen du kan ta når alarmen utløses.

Denne koden vil hjelpe:

aws cloudwatch put-metrisk-alarm \
--alarmnavn dynamodb-highrcualarm \
--metrisk navn ConsumeredReadCapacityUnits \
--namespace aws/dynamodb \
--Statistikk gjennomsnitt \
--periode 240 \
--Terskel 80 \
--Sammenligningsoperatør størrehanthold \
--Evalueringsperioder 2 \
--ALARM-Actions ARN: AWS: Automatiserer: US-East-1: EC2: Gjenoppretting

Trinn 3: Lag en AWS Identity and Access Management (IAM) rolle

Lag en AWS Identity and Access Management (IAM) -rolle som lar DynamoDB kalle PutScalingPolicy og ExecutlePolicy Actions på dine vegne. Du kan bruke aws iam create-role Kommando for å opprette rollen og AWS IAM vedleggs-rolle-policy-kommandoen for å legge ved de nødvendige tillatelsespolitikken.

Du kan bruke følgende kommando:

AWS iam vedlegg-role-policy--role-name dynamodbscalingRole-Policy-Arn Arn: AWS: IAM :: AWS: Policy/AmazondynamodBfullAccess

Trinn 4: Registrer gjennomstrømningstabellene som et skalerbart mål

Neste trinn registrerer tabellens skrivekapasitet som et skalerbart mål ved hjelp av AWS -applikasjons automatisk skalering. Denne prosedyren tillater automatisk AWS -applikasjonen Auto -skalering for å justere tabellens leverte gjennomstrømningskapasitet. Igjen, dette kan bare skje innen 5-10 kapasitetsenheter.

Følgende kommando skal hjelpe:

AWS Application-Autoscaling Register-skalerbar-mål \
--Service-namespace dynamodb \
--ressurs-id-tabell/mytablename \
--Skalable-dimensjon DynamoDB: Tabell: ReadCapacityUnits \
--Min-kapasitet 5 \
--Max-kapasitet 500

Det forrige verktøyet spesifiserer både ressurstypen og ressursens identifikator som du har tenkt å skalere. Den spesifiserer også minimum og maksimum kapasitetsgrenser for ressursen du vil skalere.

Kommandoen ser slik ut hvis du ønsker å skalere en global sekundærindeks og ikke en tabell:

AWS Application-Autoscaling Register-skalerbar-mål \
--Service-namespace dynamodb \
--ressurs-id-tabell/mytablename/index/myindexname \
--SKALbar-dimensjon Dynamodb: Indeks: ReadCapacityUnits \
--Min-kapasitet 5 \
--Max-kapasitet 500

Trinn 5: Lag en skaleringsplan

For å lage en skaleringsplan for en dynamodb -tabell eller indeks, kan du bruke AWS Application-Autoscaling Create-Scaling-Plan kommando. Denne kommandoen lar deg spesifisere ressursen du vil skalere (for eksempel en tabell eller indeks), skaleringspolitikken som systemet ditt bruker for å utføre skaleringsaksjonen, og CloudWatch -alarmen som utløser skaleringsaksjonen.

Trinn 6: Aktiver automatisk skalering

For å aktivere bilskalering for en dynamoDB -tabell eller indeks, kan du bruke AWS Application-Autoscaling Register-skalerbart mål kommando. Denne kommandoen registrerer ressursen (for eksempel en tabell eller indeks) med applikasjons automatisk skalering, slik at den skal skaleres automatisk basert på den opprettede skaleringsplanen.

Du kan bruke følgende kommando:

AWS Application-Autoscaling Register-skalerbar-mål \
--Service-namespace dynamodb \
--Ressurs-id-tabell/Mytable \
--Skalable-dimensjon DynamoDB: Tabell: ReadCapacityUnits \
--Min-kapasitet 5 \
--Max-kapasitet 50

Konklusjon

Automalering hjelper deg med å optimalisere ytelsen og kostnadene for DynamoDB -tabellen eller den globale sekundære indeksen ved automatisk å justere den leverte gjennomstrømningskapasiteten som svar på endringer i trafikkmønstre. Du kan aktivere bilskalering for DynamoDB -tabellen eller indeksen ved å bruke AWS CLI -prosedyren. Igjen kan AWS Management Console eller DynamoDB API hjelpe deg med å oppnå denne prosessen.