Perché la mia politica di dimensionamento automatico Amazon EC2 non si attiva quando il mio allarme CloudWatch cambia stato?

7 minuti di lettura
0

Ho configurato un allarme di Amazon CloudWatch per attivare il mio criterio di dimensionamento automatico Amazon Elastic Compute Cloud (Amazon EC2). Perché la mia politica di dimensionamento automatico Amazon EC2 non si attiva quando il mio allarme CloudWatch cambia stato?

Breve descrizione

Se un allarme di CloudWatch passa a un nuovo stato di allarme (OK, ALARM o INSUFFICIENT_DATA), l'allarme richiama tutte le azioni configurate per quello stato. Il dimensionamento automatico Amazon EC2 utilizza solo il periodo configurato sull'allarme, per determinare se lo stato deve cambiare. Quindi, per le azioni di dimensionamento automatico, l'allarme continua a invocare l'azione configurata per ogni minuto in cui l'allarme rimane nel nuovo stato, indipendentemente dal periodo configurato.

I motivi più comuni per cui una modifica dello stato di allarme di CloudWatch non attiva un criterio di dimensionamento automatico di Amazon EC2 sono i seguenti:

  • L'azione di dimensionamento automatico non è abilitata per l'allarme CloudWatch, il che impedisce di invocare il criterio di ridimensionamento.
  • Il criterio di dimensionamento nel gruppo di dimensionamento automatico è disattivato. Una policy disattivata impedisce la valutazione del gruppo.
  • Il gruppo di dimensionamento automatico ha politiche di scalabilità semplici o politiche di scalabilità graduale in conflitto, che impediscono l'attivazione di alcune policy.
  • Il gruppo di dimensionamento automatico dispone di un aggancio del ciclo di vita incompleto, cosa che impedisce l'applicazione di tutte le semplici politiche di scalabilità. Un'istanza in sospeso causa anche ritardi nelle policy di scalabilità del tracciamento graduale e mirato. Questo perché il dimensionamento automatico non calcola l'istanza nella capacità del gruppo fino al termine del ciclo di vita e al completamento del tempo di riscaldamento (per la scalabilità esterna). L'istanza viene comunque conteggiata nella capacità del gruppo (per lo scale in) per evitare di scalare eccessivamente. L’hook del ciclo di vita si completa quando scade o quando viene effettuata una chiamata all'API CompleteLifecycleAction o all'AWS Command Line Interface (AWS CLI).

Risoluzione

Prima di iniziare, assicurati che l'allarme CloudWatch stia passando allo stato ALARM. Se la configurazione di un allarme non corrisponde alla soglia della metrica che sta monitorando, l'allarme potrebbe non passare allo stato ALARM. Se un allarme non cambia stato, non attiva le politiche di dimensionamento automatico Amazon EC2. Per ulteriori informazioni su come vengono valutati gli allarmi di CloudWatch, consulta Valutazione di un allarme.

Verifica che il tuo allarme CloudWatch passi allo statoALARM, quando previsto, controllando il valore di soglia dell'allarme. Aumenta o diminuisci la soglia, in modo che corrisponda al valore previsto. Inoltre, controlla il periodo e il periodo di valutazione dell'allarme. Potrebbe essere necessario modificare il Periodo di allarme e il Periodo di valutazione per attivare il criterio di dimensionamento automatico Amazon EC2 come previsto. Per ulteriori informazioni su come essere sicuri che l'allarme inneschi le azioni, vedere Come posso essere sicuro che gli allarmi di CloudWatch attivino le azioni?.

Importante: Quando crei o modifichi gli allarmi, tieni presente i seguenti punti:

  • Assicurati di non aver sospeso i processi di dimensionamento (AlarmNotification, Launch o Terminate) per il tuo gruppo di dimensionamento automatico Amazon EC2. Assicurati di riprendere questi processi di dimensionamento se sono sospesi.
  • Non modificare mai direttamente gli allarmi associati alle policy di tracciamento degli obiettivi. La modifica di questi allarmi potrebbe causare effetti indesiderati. La soglia di questi allarmi viene determinata automaticamente, in base al valore obiettivo impostato nella politica di scalabilità.

Verifica se le azioni di dimensionamento automatico Amazon EC2 sono abilitate per l'allarme CloudWatch

Affinché un allarme CloudWatch richiami una policy di dimensionamento automatico Amazon EC2, il parametro ActionsEnabled deve essere abilitato nella configurazione dell'allarme. Assicurati che il parametro ActionsEnabled sia impostato sutrue nella configurazione del tuo allarme.

Nota: Se crei o aggiorni l’allarme utilizzando la console CloudWatch, il parametro ActionsEnabled è impostato su true per l’impostazione predefinita.

Per verificare e abilitare le azioni di allarme utilizzando l'interfaccia a riga di comando di AWS:

Nota: Se ricevi errori durante l'esecuzione dei comandi dell'interfaccia a riga di comando di AWS,assicurati di utilizzare la versione più recente dell'interfaccia a riga di comando di AWS.

  1. Controlla la tua configurazione attuale utilizzando describe-alarms come segue. Assicurati di sostituire myalarm con l'ID del tuo allarme.
aws cloudwatch describe-alarms --alarm-names "myalarm" --query 'MetricAlarms[].ActionsEnabled'
  1. Rivedi l'output. Se il parametro ActionsEnabled non è impostato su true, abilita le azioni di allarme utilizzando enable-alarm-actions come segue. Assicurati di sostituire myalarm con l'ID del tuo allarme.
aws cloudwatch enable-alarm-actions --alarm-names myalarm

Per verificare e abilitare le azioni di allarme utilizzando l'API CloudWatch:

  1. Controlla la tua configurazione attuale usando DescribeAlarms.

  2. Se le azioni non sono abilitate per il tuo allarme, abilita le azioni utilizzando EnableAlarmActions.

Verifica le politiche di scalabilità semplici e graduali per il tuo gruppo di dimensionamento automatico Amazon EC2

Per verificare le politiche di scalabilità del tuo gruppo utilizzando la console Amazon EC2:

  1. Accedi alla console Amazon EC2.

  2. Nel riquadro di navigazione, in Dimensionamento automatico, scegli Gruppi di dimensionamento automatico.

  3. Nel riquadro dei contenuti, seleziona il tuo gruppo di dimensionamento automatico.

  4. Scegli la scheda Scalabilità automatica.

  5. Nota il Tipo di policy (Step scaling, Simple scaling o Target tracking).

Per verificare le policy di scalabilità utilizzando l'interfaccia a riga di comando di AWS, usa il comando describe-policies per l'ID del tuo gruppo dimensionamento automatico con il parametro --policy-types. L'output elenca le politiche di ogni tipo (SimpleScaling, StepScaling o Target tracking).

Per verificare le politiche di scalabilità utilizzando un'API, utilizza la chiamata DescribePolicies con il parametro PolicyTypes. L'output elenca le politiche di ogni tipo (SimpleScaling, StepScaling o Target tracking).

Se hai in vigore una semplice policy di scalabilità, qualsiasi altra policy di scalabilità semplice non viene attivata, finché non vengono soddisfatte le seguenti condizioni:

  • La semplice policy di scalabilità, attualmente in vigore, è stata completata.
  • Il periodo di raffreddamento del criterio di dimensionamento automatico di Amazon EC2 è scaduto. Una semplice policy di scalabilità rispetta il periodo di raffreddamento predefinito o specificato della politica di dimensionamento automatico di Amazon EC2.

**Nota:**L'esecuzione di una semplice policy di scalabilità non blocca completamente l'esecuzione delle policy di scalabilità dei passaggi o di monitoraggio degli obiettivi. Assicurati che policy contraddittorie non vengano applicate contemporaneamente.

Verifica la presenza di ganci relativi al ciclo di vita di dimensionamento automatico nella tua policy di dimensionamento automatico di Amazon EC2

Quando è attivo un hook del ciclo di vita di dimensionamento automatico, non vengono eseguite semplici politiche di scalabilità. Se utilizzi una semplice policy di scalabilità nel tuo gruppo di dimensionamento automatico, assicurati di interrompere qualsiasi problema del ciclo di vita.

Nota: Le policy di scalabilità graduale continuano a essere attivate, se è in corso un aggancio del ciclo di vita. Tuttavia, le policy vengono ridimensionate lentamente, perché le istanze avviano il timer di riscaldamento solo dopo la fine del ciclo di vita.

Controlla che tutti i ganci del ciclo di vita siano completati con un risultato di CONTINUE o ABANDON dopo la scadenza dei loro periodi di timeout globale o di heartbeat.

Per verificare le azioni di aggancio del ciclo di vita utilizzando la console Amazon EC2:

  1. Accedi alla console Amazon EC2.

  2. Nel riquadro di navigazione, in Dimensionamento automatico, scegli Gruppi di dimensionamento automatico.

  3. Nel riquadro dei contenuti, seleziona il tuo gruppo di dimensionamento automatico.

  4. Scegli la scheda Attività, quindi scorri fino alla sezione Cronologia.

  5. Esamina l'attività per verificare eventuali azioni di hook del ciclo di vita in corso.

  6. Per i passaggi che pongono fine a un aggancio del ciclo di vita, consulta Completa il Hook del ciclo di vita. Per completare le azioni dell’hook del ciclo di vita usando la CLI di AWS, usa il comando complete-lifecycle-action. Per completare le azioni di hook del ciclo di vita, utilizzando un'API, effettua una chiamata CompleteLifecycleAction.


Informazioni correlate

Come posso risolvere i problemi di scalabilità con il mio gruppo di dimensionamento automatico Amazon EC2?

Risoluzione dei problemi relativi al dimensionamento automatico Amazon EC2

AWS UFFICIALE
AWS UFFICIALEAggiornata 3 anni fa