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à.
Definizione di una policy di dimensionamento
Una configurazione della policy di dimensionamento di monitoraggio degli obiettivi è rappresentata da un blocco JSON in cui sono definiti i valori dei parametri e della destinazione. Puoi salvare una configurazione della policy di dimensionamento come un blocco JSON in un file di testo. Si utilizza quel file di testo quando si richiama l'API AWS CLI Application Auto Scaling. Per ulteriori informazioni sulla sintassi della configurazione della policy, consulta TargetTrackingScalingPolicyConfiguration in Application Auto Scaling API Reference.
Le seguenti opzioni sono disponibili per definire una configurazione di una policy di dimensionamento con monitoraggio degli obiettivi.
Argomenti
Utilizzo di un parametro di default
Una configurazione della policy di dimensionamento di monitoraggio degli obiettivi è rappresentata da un blocco JSON in cui sono definiti i valori dei parametri e della destinazione. Puoi salvare una configurazione della policy di dimensionamento come un blocco JSON in un file di testo. Si utilizza quel file di testo quando si richiama l'API AWS CLI Application Auto Scaling. Per ulteriori informazioni sulla sintassi della configurazione della policy, consulta TargetTrackingScalingPolicyConfiguration in Application Auto Scaling API Reference.
Le seguenti opzioni sono disponibili per definire una configurazione di una policy di dimensionamento con monitoraggio degli obiettivi.
Argomenti
Utilizzo di un parametro di default
Utilizzando metriche predefinite, puoi definire rapidamente una politica di scalabilità del tracciamento del target per un cluster ElastiCache for Valkey e Redis OSS che funziona con il tracciamento del target in Auto Scaling. ElastiCache Attualmente, ElastiCache supporta la seguente metrica predefinita in ElastiCache Replicas Auto Scaling:
ElastiCacheReplicaEngineCPUUtilization
— Il valore medio della CPUUtilization metrica Engine in tutte le repliche del CloudWatch cluster. Puoi trovare il valore aggregato della metrica CloudWatch in basso ElastiCache ReplicationGroupId, Role
per Required e Role Replica. ReplicationGroupId
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 di default e un TargetValue
per il valore di destinazione del parametro.
Utilizzo di un parametro personalizzato
Utilizzando dei parametri personalizzati, è possibile definire una policy di dimensionamento di monitoraggio degli obiettivi che soddisfi i requisiti personalizzati. È possibile definire una metrica personalizzata basata su qualsiasi ElastiCache metrica di Valkey e Redis OSS che cambia in proporzione alla scalabilità. Non tutte le ElastiCache metriche funzionano per il tracciamento degli obiettivi. 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 nel cluster . Questo aumento o riduzione proporzionale è necessario per utilizzare i dati del parametro per aumentare o diminuire in modo proporzionale il numero di repliche .
Il seguente esempio descrive una configurazione di monitoraggio degli obiettivi per una policy di dimensionamento. In questa configurazione, una metrica personalizzata regola un cluster in base a un utilizzo medio della CPU del 50% su tutte le repliche di un cluster denominato. my-db-cluster
{"TargetValue": 50, "CustomizedMetricSpecification": {"MetricName": "EngineCPUUtilization", "Namespace": "AWS/ElastiCache", "Dimensions": [ {"Name": "ReplicationGroup","Value": "my-db-cluster"}, {"Name": "Role","Value": "REPLICA"} ], "Statistic": "Average", "Unit": "Percent" } }
Utilizzo di periodi di attesa
È possibile specificare un valore, in secondi, per ScaleOutCooldown
per aggiungere un periodo di attesa per il dimensionamento orizzontale del cluster. Allo stesso modo, è possibile aggiungere un valore, in secondi, per ScaleInCooldown
per aggiungere un periodo di attesa per la riduzione del cluster. Per ulteriori informazioni su ScaleInCooldown
e ScaleOutCooldown
, consulta TargetTrackingScalingPolicyConfiguration in Riferimento API Auto Scaling dell'applicazione. Il seguente esempio descrive una configurazione di monitoraggio degli obiettivi per una policy di dimensionamento. In questa configurazione, la metrica ElastiCacheReplicaEngineCPUUtilization
predefinita viene utilizzata per regolare un cluster in base a un utilizzo medio della CPU del 40% su tutte le repliche di quel cluster. 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": "ElastiCacheReplicaEngineCPUUtilization" }, "ScaleInCooldown": 600, "ScaleOutCooldown": 300 }
Disabilitazione dell'attività di riduzione orizzontale
È possibile impedire che la configurazione della policy di scalabilità target-tracking venga scalata nel cluster ElastiCache for Valkey e Redis OSS disabilitando l'attività di scalabilità in. La disabilitazione delle attività di riduzione impedisce alla policy di dimensionamento di eliminare le repliche , consentendo tuttavia alla policy di dimensionamento di aggiungerle in base alle esigenze.
È possibile specificare un valore booleano per DisableScaleIn
per abilitare o disabilitare l'attività di riduzione per il cluster database . Per ulteriori informazioni su DisableScaleIn
, consulta TargetTrackingScalingPolicyConfiguration in Riferimento API Auto Scaling dell'applicazione.
Il seguente esempio descrive una configurazione di monitoraggio degli obiettivi per una policy di dimensionamento. In questa configurazione, la metrica ElastiCacheReplicaEngineCPUUtilization
predefinita regola un cluster in base a un utilizzo medio della CPU del 40% su tutte le repliche di quel cluster. La configurazione disabilita l'attività di riduzione per la policy di dimensionamento.
{"TargetValue": 40.0, "PredefinedMetricSpecification": {"PredefinedMetricType": "ElastiCacheReplicaEngineCPUUtilization" }, "DisableScaleIn": true }
Applicazione di una politica di scalabilità a un cluster for Valkey e Redis ElastiCache OSS
Dopo aver registrato il cluster con la scalabilità automatica ElastiCache di Valkey e Redis OSS e aver definito una politica di scalabilità, applichi la politica di scalabilità al cluster registrato. Per applicare una politica di scalabilità a un cluster ElastiCache for Valkey e Redis OSS, puoi utilizzare AWS CLI o l'API Application Auto Scaling.
Utilizzando il AWS CLI
Per applicare una politica di scalabilità al cluster ElastiCache for Valkey e Redis OSS, utilizza il put-scaling-policycomando con i seguenti parametri:
-
—policy-name– Il nome della policy di dimensionamento.
-
—policy-type — Impostare questo valore su
TargetTrackingScaling
. -
--resource-id — L'identificatore di risorsa per il cluster. Per questo parametro, il tipo di risorsa è ReplicationGroup e l'identificatore univoco è il nome del cluster, ad esempio.
replication-group/myscalablecluster
-
—service-namespace — Impostare questo valore su elasticache.
-
—scalable-dimension — Imposta questo valore su
elasticache:replication-group:Replicas
. -
-- target-tracking-scaling-policy -configuration — La configurazione della policy di scalabilità target-tracking da utilizzare per il cluster.
Nell'esempio seguente, si applica una politica di scalabilità di tracciamento della destinazione denominata myscalablepolicy
a un cluster denominato myscalablecluster
auto ElastiCache scaling. Per fare ciò, usa la configurazione della policy salvata in un file denominato config.json
.
Per Linux, macOS o Unix:
aws application-autoscaling put-scaling-policy \ --policy-name myscalablepolicy \ --policy-type TargetTrackingScaling \ --resource-id replication-group/myscalablecluster \ --service-namespace elasticache \ --scalable-dimension elasticache:replication-group:Replicas \ --target-tracking-scaling-policy-configuration file://config.json
{"TargetValue": 40.0, "PredefinedMetricSpecification": {"PredefinedMetricType": "ElastiCacheReplicaEngineCPUUtilization" }, "DisableScaleIn": true }
Per Windows:
aws application-autoscaling put-scaling-policy ^ --policy-name myscalablepolicy ^ --policy-type TargetTrackingScaling ^ --resource-id replication-group/myscalablecluster ^ --service-namespace elasticache ^ --scalable-dimension elasticache:replication-group:Replicas ^ --target-tracking-scaling-policy-configuration file://config.json
Utilizzo dell'API
Per applicare una policy di scaling al ElastiCache cluster con l'API Application Auto Scaling, utilizza PutScalingPolicyl'operazione Application Auto Scaling API con i seguenti parametri:
-
PolicyName — Il nome della politica di scalabilità.
-
PolicyType — Imposta questo valore su.
TargetTrackingScaling
-
resourceID: l'identificatore della risorsa per il cluster. Per questo parametro, il tipo di risorsa è ReplicationGroup e l'identificatore univoco è il nome del cluster ElastiCache for Redis OSS, ad esempio.
replication-group/myscalablecluster
-
ServiceNamespace — Imposta questo valore su elasticache.
-
ScalableDimension — Imposta questo valore su.
elasticache:replication-group:Replicas
-
TargetTrackingScalingPolicyConfiguration — La configurazione della politica di scalabilità del target-tracking da utilizzare per il cluster.
Nell'esempio seguente, si applica una politica di scalabilità di tracciamento della destinazione denominata scalablepolicy
a un cluster denominato myscalablecluster
auto ElastiCache scaling. Si utilizza una policy di configurazione in base al parametro di default ElastiCacheReplicaEngineCPUUtilization
.
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": "elasticache", "ResourceId": "replication-group/myscalablecluster", "ScalableDimension": "elasticache:replication-group:Replicas", "PolicyType": "TargetTrackingScaling", "TargetTrackingScalingPolicyConfiguration": { "TargetValue": 40.0, "PredefinedMetricSpecification": { "PredefinedMetricType": "ElastiCacheReplicaEngineCPUUtilization" } } }