Aggiungere una policy di scalabilità automatica a un cluster Amazon Aurora DB - Amazon Aurora

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à.

Aggiungere una policy di scalabilità automatica a un cluster Amazon Aurora DB

È possibile aggiungere una politica di scalabilità utilizzando Application Auto Scaling AWS CLI, o Application Auto API Scaling. AWS Management Console

Nota

Per un esempio che aggiunge una politica di scalabilità utilizzando AWS CloudFormation, consulta Dichiarazione di una politica di scalabilità per un cluster Aurora DB nella Guida per l'utente.AWS CloudFormation

È possibile aggiungere una politica di scalabilità a un cluster Aurora DB utilizzando. AWS Management Console

Per aggiungere una policy di Auto Scaling a un cluster di database Aurora
  1. Accedi a AWS Management Console e apri la RDS console Amazon all'indirizzo https://console.aws.amazon.com/rds/.

  2. Nel riquadro di navigazione, scegli Databases (Database).

  3. Scegliere il cluster di database Aurora a cui si desidera aggiungere una policy.

  4. Scegliere la scheda Logs & events (Log ed eventi).

  5. Nella sezione Auto scaling policies (Policy di Auto Scaling), scegliere Add (Aggiungi).

    Appare la finestra di dialogo Add Auto Scaling policy (Aggiungi policy di Auto Scaling).

  6. Per Policy name (Nome policy), digitare il nome della policy.

  7. Per il parametro di destinazione, scegliere in uno dei seguenti modi:

    • CPUUtilizzo medio di Aurora Replicas per creare una policy basata sull'utilizzo medio. CPU

    • Average connections of Aurora Replicas (Connessioni medie delle repliche Aurora) per creare una policy basata sul numero medio di connessioni alle repliche Aurora.

  8. Per il valore di destinazione, digitare uno dei seguenti modi:

    • Se hai scelto CPUUtilizzo medio delle repliche Aurora nel passaggio precedente, digita la percentuale CPU di utilizzo che desideri mantenere sulle repliche Aurora.

    • Se si sceglie Average connections of Aurora Replicas (Connessioni medie delle repliche Aurora), digitare il numero di connessioni da mantenere.

    Le repliche Aurora vengono aggiunte o rimosse per tenere il parametro vicino al valore specificato.

  9. (Facoltativo) Espandere Configurazione aggiuntiva per creare un tempo di raffreddamento di riduzione orizzontale o aumento orizzontale.

  10. Per Minimum capacity (Capacità minima), digitare il numero minimo di repliche Aurora che la policy di Aurora Auto Scaling deve mantenere.

  11. Per Maximum capacity (Capacità massima), digitare il numero massimo di repliche Aurora che la policy di Aurora Auto Scaling deve mantenere.

  12. Scegliere Add policy (Aggiungi policy).

La seguente finestra di dialogo crea una politica di Auto Scaling basata su un CPU utilizzo medio del 40 percento. La policy specifica un minimo di 5 repliche Aurora e un massimo di 15 repliche Aurora.

Creazione di una politica di scalabilità automatica basata sull'utilizzo medio CPU

La seguente finestra di dialogo crea una policy di Auto Scaling basata su un numero di connessioni pari a 100. La policy specifica un minimo di due repliche Aurora e un massimo di otto repliche Aurora.

Creazione di una policy di Auto Scaling basata su connessioni medie

Puoi applicare una policy di dimensionamento basata un parametro di default o personalizzato. A tale scopo, è possibile utilizzare AWS CLI o l'Application Auto ScalingAPI. La prima fase consiste nel registrare il cluster di database Aurora con Application Auto Scaling.

Registrazione di un cluster di database Aurora

Prima di poter utilizzare Aurora Auto Scaling con un cluster di database Aurora, registrare il cluster di database Aurora con Application Auto Scaling. Questa operazione consente di definire la dimensione e i limiti di dimensionamento da applicare al cluster. Application Auto Scaling ridimensiona dinamicamente il cluster di database Aurora lungo la dimensione scalabile rds:cluster:ReadReplicaCount, che rappresenta il numero di repliche Aurora.

Per registrare il cluster Aurora DB, è possibile utilizzare AWS CLI o l'Application Auto Scaling. API

AWS CLI

Per registrare il tuo cluster Aurora DB, usa il register-scalable-target AWS CLI comando con i seguenti parametri:

  • --service-namespace – Impostare questo valore su rds.

  • --resource-id – L'identificatore della risorsa per il cluster di database Aurora. Per questo parametro, il tipo di risorsa è cluster e l'identificatore univoco è il nome del cluster di database Aurora, ad esempio cluster:myscalablecluster.

  • --scalable-dimension – Impostare questo valore su rds:cluster:ReadReplicaCount.

  • --min-capacity – Il numero minimo di istanze database del lettore da gestire con Application Auto Scaling. Per informazioni sulla relazione tra --min-capacity, --max-capacity e il numero di istanze database nel cluster, consulta Capacità minima e massima.

  • --max-capacity – Il numero massimo di istanze database del lettore da gestire con Application Auto Scaling. Per informazioni sulla relazione tra --min-capacity, --max-capacity e il numero di istanze database nel cluster, consulta Capacità minima e massima.

Nell'esempio seguente viene registrato un cluster di database Aurora denominato myscalablecluster. La registrazione indica che il cluster di database deve essere dimensionato dinamicamente per avere da uno a otto repliche Aurora.

Per LinuxmacOS, oUnix:

aws application-autoscaling register-scalable-target \ --service-namespace rds \ --resource-id cluster:myscalablecluster \ --scalable-dimension rds:cluster:ReadReplicaCount \ --min-capacity 1 \ --max-capacity 8 \

Per Windows:

aws application-autoscaling register-scalable-target ^ --service-namespace rds ^ --resource-id cluster:myscalablecluster ^ --scalable-dimension rds:cluster:ReadReplicaCount ^ --min-capacity 1 ^ --max-capacity 8 ^

Application Auto Scaling API

Per registrare il cluster Aurora DB con Application Auto Scaling, utilizzate l'operazione Application Auto RegisterScalableTargetScaling con i seguenti API parametri:

  • ServiceNamespace – Impostare questo valore su rds.

  • ResourceID – L'identificatore della risorsa per il cluster di database Aurora. Per questo parametro, il tipo di risorsa è cluster e l'identificatore univoco è il nome del cluster di database Aurora, ad esempio cluster:myscalablecluster.

  • ScalableDimension – Impostare questo valore su rds:cluster:ReadReplicaCount.

  • MinCapacity – Il numero minimo di istanze database del lettore da gestire con Application Auto Scaling. Per informazioni sulla relazione tra MinCapacity, MaxCapacity e il numero di istanze database nel cluster, consulta Capacità minima e massima.

  • MaxCapacity – Il numero massimo di istanze database del lettore da gestire con Application Auto Scaling. Per informazioni sulla relazione tra MinCapacity, MaxCapacity e il numero di istanze database nel cluster, consulta Capacità minima e massima.

Nell'esempio seguente, si registra un cluster Aurora DB denominato myscalablecluster Application Auto Scaling. API Questa registrazione indica che il cluster di database deve essere dimensionato dinamicamente per avere da uno a otto repliche Aurora.

POST / HTTP/1.1 Host: autoscaling.us-east-2.amazonaws.com Accept-Encoding: identity Content-Length: 219 X-Amz-Target: AnyScaleFrontendService.RegisterScalableTarget X-Amz-Date: 20160506T182145Z User-Agent: aws-cli/1.10.23 Python/2.7.11 Darwin/15.4.0 botocore/1.4.8 Content-Type: application/x-amz-json-1.1 Authorization: AUTHPARAMS { "ServiceNamespace": "rds", "ResourceId": "cluster:myscalablecluster", "ScalableDimension": "rds:cluster:ReadReplicaCount", "MinCapacity": 1, "MaxCapacity": 8 }

Definizione di una politica di dimensionamento per un cluster di database Aurora

Una configurazione di policy di scaling target-tracking è rappresentata da un JSON blocco in cui sono definite le metriche e i valori di destinazione. È possibile salvare una configurazione della politica di scalabilità come JSON blocco in un file di testo. Si utilizza quel file di testo quando si richiama il AWS CLI o l'Application Auto API Scaling. Per ulteriori informazioni sulla sintassi di configurazione delle policy, vedere TargetTrackingScalingPolicyConfigurationApplication Auto API Scaling Reference.

Le seguenti opzioni sono disponibili per definire una configurazione di una policy di dimensionamento di monitoraggio dei target.

Utilizzo di un parametro predefinito

Utilizzando dei parametri predefiniti, si può definire rapidamente una policy di dimensionamento per il monitoraggio della destinazione per un cluster di database Aurora che funziona bene sia con il monitoraggio della destinazione sia con il dimensionamento dinamico in Aurora Auto Scaling.

Attualmente, Aurora supporta i seguenti parametri predefiniti in Aurora Auto Scaling:

  • RDSReaderAverageCPUUtilization— Il valore medio della CPUUtilization metrica in CloudWatch tutte le repliche Aurora nel cluster Aurora DB.

  • RDSReaderAverageDatabaseConnections— Il valore medio della DatabaseConnections metrica in CloudWatch tutte le repliche Aurora nel cluster Aurora DB.

Per ulteriori informazioni sui parametri CPUUtilization e DatabaseConnections, consultare CloudWatch Parametri Amazon per Amazon Aurora.

Per utilizzare un parametro di default nella policy di dimensionamento, crea una configurazione di monitoraggio degli obiettivi per la policy di dimensionamento. La configurazione deve includere un PredefinedMetricSpecification per il parametro predefinito e un TargetValue per il valore di destinazione del parametro.

Esempio

L'esempio seguente descrive una tipica configurazione di policy per il dimensionamento di monitoraggio della destinazione per un cluster di database Aurora. In questa configurazione, la metrica RDSReaderAverageCPUUtilization predefinita viene utilizzata per regolare il cluster Aurora DB in base a un CPU utilizzo medio del 40 percento su tutte le repliche Aurora.

{ "TargetValue": 40.0, "PredefinedMetricSpecification": { "PredefinedMetricType": "RDSReaderAverageCPUUtilization" } }

Utilizzo di un parametro personalizzato

Utilizzando dei parametri personalizzati, è possibile definire una policy di dimensionamento di monitoraggio della destinazione che soddisfi i requisiti personalizzati. È possibile definire un parametro personalizzato in base a qualsiasi parametro Aurora che si modifichi in proporzione al dimensionamento.

Non tutti i parametri Aurora funzionano per il monitoraggio della destinazione. Il parametro deve essere un parametro di utilizzo valido e deve descrivere quanto è impegnata un'istanza. Il valore del parametro deve aumentare o diminuire in proporzione al numero di repliche Aurora nel cluster di database Aurora. Questo aumento o riduzione proporzionale è necessario per utilizzare i dati del parametro per aumentare o diminuire in modo proporzionale il numero di repliche Aurora.

Esempio

Il seguente esempio descrive una configurazione di monitoraggio della destinazione per una policy di dimensionamento. In questa configurazione, una metrica personalizzata regola un cluster Aurora DB in base a un CPU utilizzo medio del 50 percento su tutte le repliche Aurora in un cluster Aurora DB denominato. my-db-cluster

{ "TargetValue": 50, "CustomizedMetricSpecification": { "MetricName": "CPUUtilization", "Namespace": "AWS/RDS", "Dimensions": [ {"Name": "DBClusterIdentifier","Value": "my-db-cluster"}, {"Name": "Role","Value": "READER"} ], "Statistic": "Average", "Unit": "Percent" } }

Utilizzo di periodi di attesa

È possibile specificare un valore, in secondi, per ScaleOutCooldown per aggiungere un periodo di attesa per l'aumento del cluster di database Aurora. Allo stesso modo, è possibile aggiungere un valore, in secondi, per ScaleInCooldown per aggiungere un periodo di attesa per la riduzione del cluster di database Aurora. Per ulteriori informazioni su ScaleInCooldown eScaleOutCooldown, vedere TargetTrackingScalingPolicyConfigurationApplication Auto Scaling API Reference.

Il seguente esempio descrive una configurazione di monitoraggio degli obiettivi per una policy di dimensionamento. In questa configurazione, la metrica RDSReaderAverageCPUUtilization predefinita viene utilizzata per regolare un cluster Aurora DB in base a un CPU utilizzo medio del 40 percento su tutte le repliche Aurora in quel cluster Aurora DB. La configurazione fornisce un tempo di raffreddamento di riduzione orizzontale di 10 minuti e un tempo di raffreddamento di aumento di 5 minuti.

{ "TargetValue": 40.0, "PredefinedMetricSpecification": { "PredefinedMetricType": "RDSReaderAverageCPUUtilization" }, "ScaleInCooldown": 600, "ScaleOutCooldown": 300 }

Disabilitazione dell'attività di riduzione

Puoi prevenire la configurazione della policy di dimensionamento di monitoraggio della destinazione riducendo il cluster di database Aurora disabilitando l'attività di riduzione. La disabilitazione delle attività di riduzione impedisce alla policy di dimensionamento di eliminare le repliche Aurora, consentendo tuttavia alla policy di dimensionamento di crearle in base alle esigenze.

È possibile specificare un valore booleano per DisableScaleIn per abilitare o disabilitare l'attività di riduzione per il cluster di database Aurora. Per ulteriori informazioni TargetTrackingScalingPolicyConfigurationin meritoDisableScaleIn, vedere Application Auto Scaling API Reference.

Il seguente esempio descrive una configurazione di monitoraggio degli obiettivi per una policy di dimensionamento. In questa configurazione, la metrica RDSReaderAverageCPUUtilization predefinita regola un cluster Aurora DB in base a un CPU utilizzo medio del 40 percento su tutte le repliche Aurora in quel cluster Aurora DB. La configurazione disabilita l'attività di riduzione per la policy di dimensionamento.

{ "TargetValue": 40.0, "PredefinedMetricSpecification": { "PredefinedMetricType": "RDSReaderAverageCPUUtilization" }, "DisableScaleIn": true }

Applicazione di una policy di dimensionamento a un cluster di database Aurora

Dopo la registrazione del cluster di database Aurora con Application Auto Scaling e la definizione di una policy di dimensionamento, applicare la policy di dimensionamento al cluster di database Aurora registrato. Per applicare una politica di scalabilità a un cluster Aurora DB, puoi utilizzare o Application AWS CLI Auto Scaling. API

Per applicare una politica di scalabilità al cluster Aurora DB, usa put-scaling-policy AWS CLI il comando con i seguenti parametri:

  • --policy-name – Il nome della policy di dimensionamento.

  • --policy-type – Impostare questo valore su TargetTrackingScaling.

  • --resource-id – L'identificatore della risorsa per il cluster di database Aurora. Per questo parametro, il tipo di risorsa è cluster e l'identificatore univoco è il nome del cluster di database Aurora, ad esempio cluster:myscalablecluster.

  • --service-namespace – Impostare questo valore su rds.

  • --scalable-dimension – Impostare questo valore su rds:cluster:ReadReplicaCount.

  • --target-tracking-scaling-policy-configuration – La configurazione di una policy di dimensionamento per il monitoraggio della destinazione da utilizzare per il cluster di database Aurora.

Nell'esempio seguente si applica una policy di dimensionamento per il monitoraggio della destinazione denominata myscalablepolicy a un cluster di database Aurora denominato myscalablecluster con Application Auto Scaling. Per fare ciò, usa la configurazione della policy salvata in un file denominato config.json.

PerLinux, omacOS: Unix

aws application-autoscaling put-scaling-policy \ --policy-name myscalablepolicy \ --policy-type TargetTrackingScaling \ --resource-id cluster:myscalablecluster \ --service-namespace rds \ --scalable-dimension rds:cluster:ReadReplicaCount \ --target-tracking-scaling-policy-configuration file://config.json

Per Windows:

aws application-autoscaling put-scaling-policy ^ --policy-name myscalablepolicy ^ --policy-type TargetTrackingScaling ^ --resource-id cluster:myscalablecluster ^ --service-namespace rds ^ --scalable-dimension rds:cluster:ReadReplicaCount ^ --target-tracking-scaling-policy-configuration file://config.json

Per applicare una policy di scalabilità al cluster Aurora DB con Application Auto Scaling, utilizza l'APIoperazione Application PutScalingPolicyAuto Scaling con i seguenti API parametri:

  • PolicyName – Il nome della policy di dimensionamento.

  • ServiceNamespace – Impostare questo valore su rds.

  • ResourceID – L'identificatore della risorsa per il cluster di database Aurora. Per questo parametro, il tipo di risorsa è cluster e l'identificatore univoco è il nome del cluster di database Aurora, ad esempio cluster:myscalablecluster.

  • ScalableDimension – Impostare questo valore su rds:cluster:ReadReplicaCount.

  • PolicyType – Impostare questo valore su TargetTrackingScaling.

  • TargetTrackingScalingPolicyConfiguration – La configurazione di una policy di dimensionamento per il monitoraggio della destinazione da utilizzare per il cluster di database Aurora.

Nell'esempio seguente si applica una policy di dimensionamento per il monitoraggio della destinazione denominata myscalablepolicy a un cluster di database Aurora denominato myscalablecluster con Application Auto Scaling. Si utilizza una policy di configurazione in base al parametro predefinito RDSReaderAverageCPUUtilization.

POST / HTTP/1.1 Host: autoscaling.us-east-2.amazonaws.com Accept-Encoding: identity Content-Length: 219 X-Amz-Target: AnyScaleFrontendService.PutScalingPolicy X-Amz-Date: 20160506T182145Z User-Agent: aws-cli/1.10.23 Python/2.7.11 Darwin/15.4.0 botocore/1.4.8 Content-Type: application/x-amz-json-1.1 Authorization: AUTHPARAMS { "PolicyName": "myscalablepolicy", "ServiceNamespace": "rds", "ResourceId": "cluster:myscalablecluster", "ScalableDimension": "rds:cluster:ReadReplicaCount", "PolicyType": "TargetTrackingScaling", "TargetTrackingScalingPolicyConfiguration": { "TargetValue": 40.0, "PredefinedMetricSpecification": { "PredefinedMetricType": "RDSReaderAverageCPUUtilization" } } }