Come configurare il ridimensionamento automatico DynamoDB e utilizzarlo per gestire automaticamente la capacità di throughput

Come configurare il ridimensionamento automatico DynamoDB e utilizzarlo per gestire automaticamente la capacità di throughput
La gestione di database imprevedibili può essere un'attività in salita se si fa affidamento su operazioni manuali per gestire le regolazioni del database impreviste. È interessante notare che la funzionalità di scala automatica DynamoDB regola dinamicamente la capacità di throughput provviso di tabelle o indici secondari globali senza il tuo intervento.

Pertanto, i database con una funzione abilitata per la scala automatica rispondono in modo affidabile e automaticamente ai modelli di traffico effettivi. Ciò consente alle tabelle DynamoDB o agli indici secondari globali di aumentare o ridurre la capacità di throughput provviso (lettura e scrittura) di gestire l'improvviso traffico senza limitare.

Questo articolo è la tua guida finale per tutto ciò che riguarda il servizio di ridimensionamento automatico DynamoDB. Discute come la funzione gestisce la capacità di lettura e scrittura nella tabella DynamoDB. Inoltre, imparerai come abilitare il ridimensionamento automatico nella tabella DynamoDB.

Come il ridimensionamento automatico DynamoDB funziona per gestire dinamicamente la capacità di throughput

In particolare, la funzione di ridimensionamento automatico DynamoDB si basa sul servizio di ridimensionamento automatico dell'applicazione AWS. Funziona monitorando continuamente i modelli di traffico effettivi della tua tabella o indice e regolando la capacità di throughput fornita, se necessario per mantenere i livelli di utilizzo target impostato.

Il processo di funzionamento di questa funzione in DynamoDB prevede quanto segue:

È necessario iniziare impostando il ridimensionamento automatico e definendo i livelli di utilizzo target per la tabella o l'indice. Il livello di utilizzo è la percentuale di unità di capacità di lettura e scrittura che si desidera utilizzare per una tabella o un indice specifico. A seconda dei modelli di traffico e delle esigenze delle prestazioni, è possibile impostare i diversi livelli di utilizzo target per le unità di capacità di lettura e scrittura.

DynamoDB monitora continuamente i modelli di traffico effettivi della tabella o dell'indice. A sua volta, raccoglierà i dati sul numero di richieste di lettura e scrittura fatte alla tabella o all'indice. Inoltre, raccoglie i dati relativi alla dimensione di queste richieste in termini di unità di capacità di lettura e scrittura.

La funzione di ridimensionamento automatico utilizza i dati raccolti sui modelli di traffico e sui livelli di utilizzo target impostato per calcolare la capacità di throughput approvata richiesta per la tabella o l'indice.

Se il traffico effettivo supera il livello di utilizzo target, DynamoDB aumenta la capacità di trasput di provvista per gestire l'aumento del traffico. D'altra parte, se il traffico effettivo scende al di sotto del livello di utilizzo del target, DynamoDB riduce la capacità di trasporto provvisoria di abbinare il traffico effettivo e ridurre i costi.

DynamoDB regola in modo affidabile la capacità di throughput provviso della tabella o dell'indice utilizzando la politica di ridimensionamento del passaggio. La politica definisce le regole per aumentare in modo dinamico o ridurre la capacità di throughput in risposta alle variazioni dei modelli di traffico.

Puoi personalizzare la politica di ridimensionamento del passaggio per le tue esigenze effettive. Ad esempio, è possibile specificare i limiti di capacità minima e massima, gli incrementi in cui il sistema può aggiungere o rimuovere le unità di capacità e le condizioni in base alle quali il DynamODB può attivare l'azione di ridimensionamento.

In particolare, il ridimensionamento automatico DynamoDB è disponibile solo per la modalità di capacità "on-demand" in DynamoDB. In questa modalità, paghi per le letture effettive e scrive che esegui sulla tua tabella o indice e non ci sono unità di capacità riservata. Con il ridimensionamento automatico, puoi ottimizzare i costi pagando solo per la capacità in cui è necessario gestire il traffico.

Come impostare il ridimensionamento automatico DynamODB

Innanzitutto, è importante notare che il ridimensionamento automatico di DynamoDB è automaticamente abilitato sulla tabella o sull'indice se si utilizza la console di gestione AWS per creare le tabelle. C'è un'impostazione predefinita che ne richiede.

Tuttavia, è ancora possibile utilizzare la console di gestione AWS per abilitare il ridimensionamento automatico DynamoDB per le tabelle esistenti, disabilitare il ridimensionamento automatico o modificare le funzionalità di ridimensionamento automatico. Puoi anche ottenere tutti questi con AWS CLI o uno degli SDK di AWS.

Questo articolo utilizza AWS CLI per illustrare come è possibile impostare e abilitare il ridimensionamento automatico DynamODB e utilizzarlo per gestire automaticamente la capacità di throughput per una tabella o un indice. Questi seguenti passaggi sono essenziali:

Passaggio 1: creare una tabella o indice DynamODB

Creiamo una tabella per questa dimostrazione usando il AWS DynamoDB Crea-table utilità. Fare riferimento al nostro comando di esempio:

AWS DynamoDB Crea-table \
--table-name mytablename \
--Attributi Definizioni attributeName = id, attributeType = s \
--Key-schema attributeName = id, keyType = hash \
--provvisore-throughput readcapacityunits = 10, writecapacityunits = 10

Procedere a controllare lo stato della tabella utilizzando il AWS DynamoDB Descrivi il tavolo comando, come mostrato nel seguente. Questo passaggio mira a confermare se la tabella viene creata ed elenca le sue varie specifiche. La tabella dovrebbe essere in stato attivo.

AWS DynamoDB Descrive-Table-Table-nome MyTableName

Passaggio 2: crea un allarme Amazon Cloudwatch

Crea un allarme Amazon Cloudwatch per una metrica di capacità. È possibile utilizzare il comando AWS CloudWatch Put-Metric-Aarm. Questo comando consente di specificare la metrica, la soglia in cui viene attivata l'allarme e l'azione da intraprendere quando viene attivata l'allarme.

Questo codice ti aiuterà:

AWS CloudWatch Put-Metric-Arm \
--Name DynamoDB-Highrcualrm \ allarme allarme
--Metric-Name consumedReadCapacityUnits \
--spazio dei nomi AWS/DynamoDB \
--Media statistica \
--periodo 240 \
--soglia 80 \
--Confronto-operator GreaterThanthreshold \
--Valutazione-periodo 2 \
--Azioni di allarme ARN: AWS: Automate: US-East-1: EC2: Recupera

Passaggio 3: crea un ruolo di Identity and Access Management (IAM)

Crea un ruolo di Identity and Access Management (IAM) che consente a DynamoDB di chiamare le azioni PutScalingPolicy e ExecutePolicy per tuo conto. Puoi usare il AWS iam Crea-Role comanda di creare il ruolo e il comando AWS iam allegati-policy per allegare la politica di autorizzazioni necessarie.

È possibile utilizzare il seguente comando:

AWS iam Attach-Role-Policy--Role-Name DynamoDbscalingRole--Policy-Arn Arn: AWS: iam :: AWS: Politica/AmazondynamoDbulLaccess

Passaggio 4: registrare le tabelle di throughput come target scalabile

Il passaggio successivo registra la capacità di scrittura della tabella come target scalabile utilizzando il ridimensionamento automatico dell'applicazione AWS. Questa procedura consente automaticamente al ridimensionamento automatico dell'applicazione AWS di regolare la capacità di throughput della tabella. Ancora una volta, questo può accadere solo entro 5-10 unità di capacità.

Il seguente comando dovrebbe aiutare:

AWS Applicazione-Autoscaling Register Scalable-target \
--Service-Namespace DynamoDB \
--Tabella ID risorse/mytablename \
--DynamoDB di dimensione scalabile: Tabella: ReadCapacityUnits \
--min-capacità 5 \
--Max-Capacity 500

L'utilità precedente specifica sia il tipo di risorsa che l'identificatore della risorsa che intendi ridimensionare. Specifica inoltre i limiti di capacità minima e massima della risorsa che si desidera ridimensionare.

Il comando sembra così se stai cercando di ridimensionare un indice secondario globale e non una tabella:

AWS Applicazione-Autoscaling Register Scalable-target \
--Service-Namespace DynamoDB \
--Tabella ID risorse/MyTableName/Index/myIndexName \
--DynamoDB di dimensione scalabile: indice: readcapacityunits \
--min-capacità 5 \
--Max-Capacity 500

Passaggio 5: creare un piano di ridimensionamento

Per creare un piano di ridimensionamento per una tabella o un indice DynamoDB, è possibile utilizzare il AWS Applicazione-Autoscaling Crea-Scaleing-Plan comando. Questo comando consente di specificare la risorsa che si desidera ridimensionare (come una tabella o un indice), la politica di ridimensionamento utilizzata dal sistema per eseguire l'azione di ridimensionamento e l'allarme di cloudwatch che innesca l'azione di ridimensionamento.

Passaggio 6: abilita il ridimensionamento automatico

Per abilitare il ridimensionamento automatico per una tabella o un indice DynamoDB, è possibile utilizzare il AWS Application-Autoscaling Register Scalable-target comando. Questo comando registra la risorsa (come una tabella o un indice) con il ridimensionamento automatico dell'applicazione, consentendo di ridimensionare automaticamente in base al piano di ridimensionamento creato.

È possibile utilizzare il seguente comando:

AWS Applicazione-Autoscaling Register Scalable-target \
--Service-Namespace DynamoDB \
--Tabella ID risorse/mytable \
--DynamoDB di dimensione scalabile: Tabella: ReadCapacityUnits \
--min-capacità 5 \
--Max-Capacità 50

Conclusione

Il ridimensionamento automatico ti aiuta a ottimizzare le prestazioni e il costo della tabella DynamoDB o dell'indice secondario globale regolando automaticamente la capacità di throughput in risposta alle variazioni dei modelli di traffico. È possibile abilitare il ridimensionamento automatico per la tabella DynamODB o l'indice utilizzando la procedura CLI AWS. Ancora una volta, la console di gestione AWS o l'API DynamoDB possono aiutarti a raggiungere questo processo.