Gestione delle operazioni sui cluster
DAX si occupa della gestione della manutenzione e dell’integrità del cluster. Tuttavia, è necessario fornire un input operativo per dimensionare il cluster orizzontalmente o verticalmente in base ai modelli di utilizzo. Questa sezione descrive la procedura consigliata per scalare i cluster DAX.
Dimensionamento orizzontale di un cluster
Il dimensionamento di un cluster DAX implica la regolazione della sua capacità per soddisfare le esigenze di throughput. Questa regolazione viene effettuata aumentando o diminuendo il numero di nodi (repliche) nel cluster durante l’esecuzione. Questo processo, noto come dimensionamento orizzontale, aiuta a distribuire il carico di lavoro su più nodi o a combinarlo su un numero inferiore di nodi quando la domanda è bassa.
È possibile dimensionare orizzontalmente il cluster DAX, riducendolo o aumentandolo, attraverso i comandi decrease-replication-factor o increase-replication-factor nella AWS CLI.
Aumento del fattore di replica (aumento orizzontale)
L’aumento del fattore di replica di un cluster DAX aggiunge più nodi al cluster. L’esempio seguente mostra l’utilizzo del comando increase-replication-factor.
aws dax increase-replication-factor \ --cluster-nameyourClusterName\ --new-replication-factordesiredReplicationFactor
-
In questo comando, l’argomento
cluster-namespecifica il nome del cluster. Ad esempio,yourClusterName. -
L’argomento
new-replication-factorspecifica il numero totale di nodi da aggiungere nel cluster dopo il dimensionamento. Ciò include il nodo primario e i nodi di replica. Ad esempio, se il cluster ha attualmente 3 nodi e si desidera aggiungere altri 2 nodi, imposta il valore dinew-replication-factorsu 5.
Riduzione del fattore di replica (riduzione orizzontale)
La riduzione del fattore di replica di un cluster DAX rimuove i nodi dal cluster. La rimozione dei nodi può aiutare a ridurre i costi nei periodi di bassa domanda. L’esempio seguente mostra l’utilizzo del comando decrease-replication-factor.
aws dax decrease-replication-factor \ --cluster-nameyourClusterName\ --new-replication-factordesiredReplicationFactor
-
In questo comando, l’argomento
cluster-namespecifica il nome del cluster. Ad esempio,yourClusterName. -
L’argomento
new-replication-factorspecifica il numero ridotto di nodi del cluster dopo il dimensionamento. Questo numero deve essere inferiore al fattore di replica corrente e deve includere il nodo primario. Ad esempio, se il cluster ha 5 nodi e si desidera rimuovere 2 nodi, imposta il valore dinew-replication-factorsu 3.
Considerazioni sul dimensionamento orizzontale
Durante la pianificazione del dimensionamento orizzontale, prendi in considerazione quanto segue:
-
Nodo primario: il cluster DAX include un nodo primario. Il fattore di replica include questo nodo primario. Ad esempio, un fattore di replica pari a 3 indica un nodo primario e due nodi di replica.
-
Disponibilità: l’aggiunta o la rimozione di nodi DAX modifica la disponibilità e la tolleranza ai guasti del cluster. Un numero maggiore di nodi può migliorare la disponibilità, ma anche aumentare i costi.
-
Migrazione dei dati: quando si aumenta il fattore di replica, DAX gestisce automaticamente la distribuzione dei dati nel nuovo set di nodi. Quando un nuovo nodo inizia a servire il traffico, la sua cache è già riscaldata. Tuttavia, durante questo processo, potrebbe verificarsi un impatto temporaneo sulle prestazioni durante la migrazione dei dati.
Monitora attentamente i cluster DAX durante e dopo il processo di dimensionamento per assicurarti che funzionino come previsto e, se necessario, apporta ulteriori modifiche.
Dimensionamento verticale di un cluster
Per dimensionare verticalmente le dimensioni dei nodi di un cluster esistente, è necessario creare un nuovo cluster e migrare il traffico dell’applicazione verso il nuovo cluster. La migrazione a un nuovo cluster con nodi diversi prevede numerose fasi per garantire una transizione fluida con un impatto minimo sulle prestazioni e sulla disponibilità dell’applicazione.
Per creare un nuovo cluster per scalare verticalmente le dimensioni dei nodi, prendi in considerazione i seguenti punti:
-
Accedi alla configurazione attuale: esamina le metriche dell’attuale cluster DAX per determinare la dimensione e la quantità dei nuovi nodi necessari. Utilizza queste informazioni come input per definire le dimensioni del cluster. Per informazioni, consulta Dimensionamento del cluster DAX.
-
Configura un nuovo cluster DAX: crea un nuovo cluster DAX con il tipo di nodo e la quantità determinati. È possibile utilizzare le impostazioni di configurazione esistenti del gruppo di parametri, a meno che non sia necessario apportare modifiche.
-
Sincronizza i dati: poiché DAX è un livello di caching per DynamoDB, non è necessario migrare direttamente i dati. Tuttavia, il nuovo cluster DAX non avrà alcun set di dati di lavoro in memoria finché non gli verrà inviato traffico.
-
Aggiorna la configurazione dell’applicazione: aggiorna la configurazione dell’applicazione in modo che punti all’endpoint del nuovo cluster DAX. Potrebbe essere necessario modificare il codice o aggiornare le variabili dell’ambiente, a seconda della configurazione dell’applicazione.
Per ridurre l’impatto durante il passaggio a un nuovo cluster, invia traffico canary al nuovo cluster da una piccola parte del parco applicazioni. È possibile farlo implementando lentamente gli aggiornamenti delle applicazioni o utilizzando una voce DNS di instradamento basata sul peso davanti all’endpoint DAX.
-
Monitora e ottimizza: dopo il passaggio al nuovo cluster DAX, monitora attentamente le metriche e i log delle prestazioni per individuare eventuali problemi. Preparati a modificare il numero di nodi in base a modelli di carico di lavoro aggiornati.
Fino a quando il nuovo cluster non archivierà correttamente nella cache il set di dati di lavoro, vedrai mancati riscontri nella cache e latenze più elevati.
-
Disattiva il vecchio cluster: una volta che avrai la certezza che il nuovo cluster funziona come previsto, rimuovi in sicurezza il vecchio cluster DAX per evitare costi inutili.