Creazione di una policy di dimensionamento predittivo per il servizio Dimensionamento ECS automatico del servizio Amazon - Amazon Elastic Container Service

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

Creazione di una policy di dimensionamento predittivo per il servizio Dimensionamento ECS automatico del servizio Amazon

Crea una policy di dimensionamento per fasi per far sì che Amazon ECS aumenti o diminuisca il numero di attività eseguite dal servizio in base ai dati storici.

Nota

Un nuovo servizio deve fornire almeno 24 ore di dati prima di poter generare una previsione.

  1. Oltre alle IAM autorizzazioni standard per la creazione e l'aggiornamento dei servizi, sono necessarie autorizzazioni aggiuntive. Per ulteriori informazioni, consulta IAMautorizzazioni richieste per la scalabilità automatica ECS dei servizi Amazon.

  2. Determina le metriche da utilizzare per la politica. Sono disponibili i seguenti parametri:

    • ECSServiceAverageCPUUtilization— L'CPUutilizzo medio che il servizio dovrebbe utilizzare.

    • ECSServiceAverageMemoryUtilization— Utilizzo medio della memoria che il servizio dovrebbe utilizzare.

    • ALBRequestCountPerTarget: il numero medio di richieste al minuto che l'attività dovrebbe idealmente ricevere.

    In alternativa, puoi utilizzare una metrica personalizzata. È necessario definire i seguenti valori:

    • Caricamento: una metrica che rappresenta con precisione il carico completo dell'applicazione ed è l'aspetto dell'applicazione su cui è più importante basare la scalabilità.

    • Metrica di scalabilità: il miglior indicatore del grado di utilizzo è ideale per la tua applicazione.

  3. Apri la console nella versione 2. https://console.aws.amazon.com/ecs/

  4. Nella pagina Clusters (Cluster), scegli il cluster.

  5. Nella pagina dei dettagli del cluster, nella sezione Servizi, quindi scegli il servizio.

    Viene visualizzata la pagina dei dettagli del servizio.

  6. Scegli Imposta il numero di attività.

  7. In Amazon ECS Service Task Count, scegli Use auto Scaling.

    Viene visualizzata la sezione Conteggio delle attività.

    1. In Numero minimo di processi, specifica il limite inferiore del numero di processi che devono essere utilizzati da Service Auto Scaling. Il numero desiderato non scenderà al di sotto di questo conteggio.

    2. In Massimo, specifica il limite superiore del numero di processi che devono essere utilizzati da Service Auto Scaling. Il numero desiderato non sarà superiore a questo conteggio.

    3. Seleziona Salva.

      Viene visualizzata la pagina Policy (Policy).

  8. Scegli Crea politica di scalabilità.

    Viene visualizzata la pagina Crea policy.

  9. Per il tipo di policy Scaling, scegli Predictive Scaling.

  10. In Policy name (Nome policy), immetti il nome della policy.

  11. In Metric pair (Parametro), scegli i parametri nell'elenco di opzioni.

    Se hai scelto Application Load Balancer request count per target (Conteggio delle richieste Application Load Balancer per destinazione), scegli un gruppo di destinazione in Target group (Gruppo di destinazione). Application Load Balancer request count per target (Conteggio di richieste Application Load Balancer per destinazione) è supportato solo avrai allegato un gruppo di destinazione Application Load Balancer per il servizio.

    Se hai scelto Coppia di metriche personalizzata, scegli le singole metriche dagli elenchi per Load metric e Scaling metric.

  12. Per l'utilizzo di Target, inserisci il valore target per la percentuale di attività che Amazon ECS deve gestire. La scalabilità automatica del servizio aumenta la capacità finché l'utilizzo medio arriva a quello di destinazione o finché non raggiunge il numero massimo di processi specificato.

  13. Scegli Crea politica di scalabilità.

Utilizza la AWS CLI come indicato di seguito per configurare policy di dimensionamento predittivo per il servizio AmazonECS. Sostituisci ciascuno user input placeholder con le tue informazioni.

Per ulteriori informazioni sui CloudWatch parametri che puoi specificare, consulta PredictiveScalingMetricSpecificationAmazon EC2 Auto API Scaling Reference.

Esempio 1: policy di dimensionamento predittivo con memoria predefinita.

Di seguito è riportata una policy di esempio con una configurazione di memoria predefinita.

cat policy.json { "MetricSpecifications": [ { "TargetValue": 40, "PredefinedMetricPairSpecification": { "PredefinedMetricType": "ECSServiceMemoryUtilization" } } ], "SchedulingBufferTime": 3600, "MaxCapacityBreachBehavior": "HonorMaxCapacity", "Mode": "ForecastOnly" }

L'esempio seguente illustra la creazione della politica eseguendo il put-scaling-policycomando con il file di configurazione specificato.

aws aas put-scaling-policy \ --service-namespace ecs \ --region us-east-1 \ --policy-name predictive-scaling-policy-example \ --resource-id service/MyCluster/test \ --policy-type PredictiveScaling \ --scalable-dimension ecs:service:DesiredCount \ --predictive-scaling-policy-configuration file://policy.json

In caso di esito positivo, questo comando restituisce la policyARN.

{ "PolicyARN": "arn:aws:autoscaling:us-east-1:012345678912:scalingPolicy:d1d72dfe-5fd3-464f-83cf-824f16cb88b7:resource/ecs/service/MyCluster/test:policyName/predictive-scaling-policy-example", "Alarms": [] }

Esempio 2: policy di dimensionamento predittivo con impostazioni predefinite. CPU

Di seguito è illustrato un esempio di policy con una CPU configurazione predefinita.

cat policy.json { "MetricSpecifications": [ { "TargetValue": 0.00000004, "PredefinedMetricPairSpecification": { "PredefinedMetricType": "ECSServiceCPUUtilization" } } ], "SchedulingBufferTime": 3600, "MaxCapacityBreachBehavior": "HonorMaxCapacity", "Mode": "ForecastOnly" }

L'esempio seguente illustra la creazione della politica eseguendo il put-scaling-policycomando con il file di configurazione specificato.

aws aas put-scaling-policy \ --service-namespace ecs \ --region us-east-1 \ --policy-name predictive-scaling-policy-example \ --resource-id service/MyCluster/test \ --policy-type PredictiveScaling \ --scalable-dimension ecs:service:DesiredCount \ --predictive-scaling-policy-configuration file://policy.json

In caso di esito positivo, questo comando restituisce la policyARN.

{ "PolicyARN": "arn:aws:autoscaling:us-east-1:012345678912:scalingPolicy:d1d72dfe-5fd3-464f-83cf-824f16cb88b7:resource/ecs/service/MyCluster/test:policyName/predictive-scaling-policy-example", "Alarms": [] }