Gestione dei DAX cluster - Amazon DynamoDB

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Gestione dei DAX cluster

Questa sezione affronta alcune delle attività di gestione più comuni per i cluster Amazon DynamoDB DAX Accelerator ().

IAMautorizzazioni per la gestione di un cluster DAX

Quando si amministra un DAX cluster utilizzando il AWS Management Console o il AWS Command Line Interface (AWS CLI), si consiglia vivamente di restringere l'ambito delle azioni che gli utenti possono eseguire. Così facendo, puoi mitigare i rischi seguendo il principio del minimo privilegio.

La discussione che segue si concentra sul controllo degli accessi per la DAX gestioneAPIs. Per ulteriori informazioni, consulta Amazon DynamoDB Accelerator in Amazon DynamoDB Reference. API

Nota

Per informazioni più dettagliate sulla gestione delle autorizzazioni AWS Identity and Access Management (IAM), consulta quanto segue:

Per quanto riguarda la DAX gestioneAPIs, non è possibile definire l'ambito API delle azioni relative a una risorsa specifica. L'elemento Resource deve essere impostato su "*". Questo è diverso dalle API operazioni sul piano DAX dati, ad esempio GetItemQuery, eScan. Le operazioni del piano dati sono esposte tramite il DAX client e tali operazioni possono essere assegnate a risorse specifiche.

A titolo illustrativo, si consideri il seguente documento di IAM policy.

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "dax:*" ], "Effect": "Allow", "Resource": [ "arn:aws:dax:us-west-2:123456789012:cache/DAXCluster01" ] } ] }

Supponiamo che l'intento di questa politica sia consentire API le chiamate di DAX gestione per il cluster DAXCluster01 e solo per quel cluster.

Supponiamo ora che un utente emetta il seguente comando. AWS CLI

aws dax describe-clusters

Questo comando ha esito negativo con un'eccezione Not Authorized perché la DescribeClusters API chiamata sottostante non può essere estesa a un cluster specifico. Anche se la policy è sintatticamente valida, il comando non riesce perché l'elemento Resource deve essere impostato su "*". Tuttavia, se l'utente esegue un programma che invia chiamate sul piano DAX dati (come GetItem oQuery) aDAXCluster01, tali chiamate hanno esito positivo. Questo perché il piano DAX dati APIs può essere limitato a risorse specifiche (in questo caso,DAXCluster01).

Se desideri scrivere un'unica IAM politica completa che comprenda sia la DAX gestione APIs che il piano DAX datiAPIs, ti suggeriamo di includere due dichiarazioni distinte nel documento di policy. Una di queste istruzioni dovrebbe riguardare il piano DAX datiAPIs, mentre l'altra dovrebbe riguardare la DAX gestione. APIs

Di seguito viene illustrato un esempio di policy che mostra questo approccio. Nota come l'istruzione DAXDataAPIs è orientata alla risorsa DAXCluster01, ma la risorsa per DAXManagementAPIs deve essere "*". Le operazioni mostrate in ogni istruzione sono a solo scopo illustrativo. Puoi personalizzarle in base alle esigenze dell'applicazione.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "DAXDataAPIs", "Action": [ "dax:GetItem", "dax:BatchGetItem", "dax:Query", "dax:Scan", "dax:PutItem", "dax:UpdateItem", "dax:DeleteItem", "dax:BatchWriteItem" ], "Effect": "Allow", "Resource": [ "arn:aws:dax:us-west-2:123456789012:cache/DAXCluster01" ]}, { "Sid": "DAXManagementAPIs", "Action": [ "dax:CreateParameterGroup", "dax:CreateSubnetGroup", "dax:DecreaseReplicationFactor", "dax:DeleteCluster", "dax:DeleteParameterGroup", "dax:DeleteSubnetGroup", "dax:DescribeClusters", "dax:DescribeDefaultParameters", "dax:DescribeEvents", "dax:DescribeParameterGroups", "dax:DescribeParameters", "dax:DescribeSubnetGroups", "dax:IncreaseReplicationFactor", "dax:ListTags", "dax:RebootNode", "dax:TagResource", "dax:UntagResource", "dax:UpdateCluster", "dax:UpdateParameterGroup", "dax:UpdateSubnetGroup" ], "Effect": "Allow", "Resource": [ "*" ] } ] }

Ridimensionamento di un cluster DAX

Sono disponibili due opzioni per scalare un DAX cluster. La prima opzione è dimensionamento orizzontale, dove aggiungi le repliche di lettura al cluster. La seconda opzione è dimensionamento verticale, dove selezioni diversi tipi di nodo. Per informazioni su come approcciare la scelta della dimensione del cluster e del tipo di nodo appropriati per l'applicazione, consulta Guida alle dimensioni del cluster DAX.

Dimensionamento orizzontale

Con il dimensionamento orizzontale puoi migliorare il throughput delle operazioni di lettura aggiungendo più repliche di lettura al cluster. Un singolo DAX cluster supporta fino a 10 repliche di lettura ed è possibile aggiungere o rimuovere repliche mentre il cluster è in esecuzione.

Quando si aggiunge un nuovo nodo, è necessario sincronizzare i dati della cache da un nodo peer. Pertanto, il tempo di aggiunta varia in base alla dimensione della cache e al carico di lavoro dell'applicazione. Come best practice, consigliamo di pre-dimensionare il cluster per soddisfare i picchi di traffico previsti. Per informazioni sulle linee guida per il corretto dimensionamento e sui consigli di monitoraggio, consulta. Guida alle dimensioni del cluster DAX

AWS CLI Gli esempi seguenti mostrano come aumentare o diminuire il numero di nodi. L'argomento --new-replication-factor specifica il numero totale di nodi nel cluster. Uno è il nodo primario e gli altri nodi sono repliche di lettura.

aws dax increase-replication-factor \ --cluster-name MyNewCluster \ --new-replication-factor 5
aws dax decrease-replication-factor \ --cluster-name MyNewCluster \ --new-replication-factor 3
Nota

Lo stato del cluster cambia in modifying quando modifichi il fattore di replica. Lo stato cambia in available quando la modifica è completata.

Dimensionamento verticale

Se hai un ampio set di dati funzionanti, l'applicazione potrebbe trarre vantaggio dall'utilizzo dei tipi di nodi più grandi. I nodi più grandi possono consentire al cluster di memorizzare più dati in memoria, riducendo i mancati riscontri nella cache e migliorando le prestazioni complessive dell'applicazione. (Tutti i nodi di un DAX cluster devono essere dello stesso tipo).

Se il DAX cluster presenta un'elevata frequenza di operazioni di scrittura o errori nella cache, l'applicazione potrebbe trarre vantaggio anche dall'utilizzo di tipi di nodi più grandi. Le operazioni di scrittura e i mancati riscontri nella cache utilizzano le risorse sul nodo primario del cluster. Pertanto, l'utilizzo di tipi di nodi più grandi potrebbe aumentare le prestazioni del nodo primario e quindi consentire un throughput maggiore per questi tipi di operazioni.

Non è possibile modificare i tipi di nodi su un DAX cluster in esecuzione. Invece, devi creare un nuovo cluster con il tipo di nodo desiderato. Per un elenco dei tipi di nodo supportati, consulta Nodi.

È possibile creare un nuovo DAX cluster utilizzando il AWS Management ConsoleAWS CloudFormation, AWS CLI, o il AWS SDK. (Per AWS CLI, utilizzare il --node-type parametro per specificare il tipo di nodo.)

Personalizzazione delle impostazioni DAX del cluster

Quando si crea un DAX cluster, vengono utilizzate le seguenti impostazioni predefinite:

  • Eliminazione automatica della cache abilitata con Time to Live (TTL) di 5 minuti

  • Nessuna preferenza per le zone di disponibilità

  • Nessuna preferenza per le finestre di manutenzione

  • Notifiche disabilitate

Per i nuovi cluster, puoi personalizzare le impostazioni al momento della creazione. Per eseguire questa operazione in AWS Management Console, deseleziona Use default settings (Usa impostazioni predefinite) per modificare le impostazioni seguenti:

  • Rete e sicurezza: consente di eseguire singoli nodi del DAX cluster in diverse zone di disponibilità all'interno della regione corrente. AWS Se scegli No Preference (Nessuna preferenza), i nodi vengono distribuiti automaticamente tra le zone di disponibilità.

  • Gruppo di parametri: un set denominato di parametri che vengono applicati a ogni nodo nel cluster. È possibile utilizzare un gruppo di parametri per specificare il TTL comportamento della cache. Puoi modificare il valore di un determinato parametro all'interno di un gruppo di parametri (ad eccezione del gruppo di parametri predefinito default.dax.1.0) in qualsiasi momento.

  • Finestra di manutenzione: un periodo di tempo settimanale durante il quale vengono applicati aggiornamenti software e patch ai nodi del cluster. Puoi scegliere il giorno di inizio, l'ora di inizio e la durata della finestra di manutenzione. Se scegli No Preference (Nessuna preferenza), la finestra di manutenzione viene selezionata a caso da un blocco di tempo di 8 ore per regione. Per ulteriori informazioni, consulta Maintenance window (Finestra di manutenzione).

Nota

Il gruppo di parametri e la finestra di manutenzione possono essere modificati in qualsiasi momento in un cluster in esecuzione.

Quando si verifica un evento di manutenzione, DAX puoi inviarti una notifica utilizzando Amazon Simple Notification Service (AmazonSNS). Per configurare le notifiche, scegli un'opzione dal selettore Argomento per le SNS notifiche. Puoi creare un nuovo SNS argomento Amazon o utilizzare un argomento esistente.

Per ulteriori informazioni sulla configurazione e l'iscrizione a un SNS argomento di Amazon, consulta la sezione Guida introduttiva ad Amazon SNS nella Amazon Simple Notification Service Developer Guide.

Configurazione delle impostazioni TTL

DAXmantiene due cache per i dati che legge da DynamoDB:

  • Cache di elementi: per gli elementi recuperati tramite GetItem o BatchGetItem.

  • Cache di query: per i set di risultati recuperati tramite Query o Scan.

Per ulteriori informazioni, consulta Cache degli elementi e Cache delle query.

L'impostazione predefinita TTL per ognuna di queste cache è di 5 minuti. Se desideri utilizzare TTL impostazioni diverse, puoi avviare un DAX cluster utilizzando un gruppo di parametri personalizzato. Per eseguire questa operazione sulla console, scegliete DAX| Gruppi di parametri nel riquadro di navigazione.

Puoi eseguire queste attività anche utilizzando l' AWS CLI. L'esempio seguente mostra come avviare un nuovo DAX cluster utilizzando un gruppo di parametri personalizzato. In questo esempio, la cache degli elementi TTL è impostata su 10 minuti e la cache delle query TTL è impostata su 3 minuti.

  1. Crea un nuovo set di parametri.

    aws dax create-parameter-group \ --parameter-group-name custom-ttl
  2. Imposta la cache TTL degli elementi su 10 minuti (600000 millisecondi).

    aws dax update-parameter-group \ --parameter-group-name custom-ttl \ --parameter-name-values "ParameterName=record-ttl-millis,ParameterValue=600000"
  3. Imposta la cache delle query su 3 minuti (TTL180000 millisecondi).

    aws dax update-parameter-group \ --parameter-group-name custom-ttl \ --parameter-name-values "ParameterName=query-ttl-millis,ParameterValue=180000"
  4. Verifica che il parametri siano impostati correttamente.

    aws dax describe-parameters --parameter-group-name custom-ttl \ --query "Parameters[*].[ParameterName,Description,ParameterValue]"

È ora possibile avviare un nuovo DAX cluster con questo gruppo di parametri.

aws dax create-cluster \ --cluster-name MyNewCluster \ --node-type dax.r3.large \ --replication-factor 3 \ --iam-role-arn arn:aws:iam::123456789012:role/DAXServiceRole \ --parameter-group custom-ttl
Nota

Non è possibile modificare un gruppo di parametri utilizzato da un'DAXistanza in esecuzione.

Supporto per l'etichettatura per DAX

Molti AWS servizi, incluso DynamoDB, supportano il tagging, la capacità di etichettare le risorse con nomi definiti dall'utente. È possibile assegnare tag ai DAX cluster, in modo da identificare rapidamente tutte le AWS risorse che hanno lo stesso tag, o per classificare le fatture in base ai tag assegnati. AWS

Per ulteriori informazioni, consulta Aggiungere tag ed etichette alle risorse in DynamoDB.

Usando il AWS Management Console

Per gestire i tag del cluster DAX
  1. Apri la console DynamoDB all'indirizzo. https://console.aws.amazon.com/dynamodb/

  2. Nel pannello di navigazione, sotto DAX, scegli Clusters.

  3. Scegli il cluster che desideri utilizzare.

  4. Seleziona la scheda Tags (Tag). In questa scheda puoi aggiungere, elencare, modificare o eliminare i tag.

    Dopo aver selezionato le impostazioni desiderate, scegli Applica modifiche.

Usando il AWS CLI

Quando utilizzi AWS CLI per gestire i tag del DAX cluster, devi prima determinare l'Amazon Resource Name (ARN) per il cluster. L'esempio seguente mostra come determinare il valore ARN di un cluster denominatoMyDAXCluster.

aws dax describe-clusters \ --cluster-name MyDAXCluster \ --query "Clusters[*].ClusterArn"

Nell'output, ARN sarà simile a questo: arn:aws:dax:us-west-2:123456789012:cache/MyDAXCluster

L'esempio seguente mostra come aggiungere i tag al cluster.

aws dax tag-resource \ --resource-name arn:aws:dax:us-west-2:123456789012:cache/MyDAXCluster \ --tags="Key=ClusterUsage,Value=prod"

Elenca tutti i tag per un cluster.

aws dax list-tags \ --resource-name arn:aws:dax:us-west-2:123456789012:cache/MyDAXCluster

Per rimuovere un tag, specifica la chiave.

aws dax untag-resource \ --resource-name arn:aws:dax:us-west-2:123456789012:cache/MyDAXCluster \ --tag-keys ClusterUsage

AWS CloudTrail integrazione

DAXè integrato con AWS CloudTrail, che consente di controllare le attività DAX del cluster. È possibile utilizzare CloudTrail i log per visualizzare tutte le modifiche apportate a livello di cluster. Puoi anche visualizzare le modifiche ai componenti del cluster come nodi, gruppi di sottoreti e gruppi di parametri. Per ulteriori informazioni, consulta Registrazione delle operazioni di DynamoDB con AWS CloudTrail.

Eliminazione di un cluster DAX

Se non utilizzi più un DAX cluster, dovresti eliminarlo per evitare che ti vengano addebitate le risorse non utilizzate.

È possibile eliminare un DAX cluster utilizzando la console o il AWS CLI. Di seguito è riportato un esempio.

aws dax delete-cluster --cluster-name mydaxcluster