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à.
Informazioni sui controlli dell'integrità del gruppo con dimensionamento automatico
Questo argomento fornisce una panoramica dei tipi di controlli dello stato disponibili e descrive le considerazioni chiave per l'integrazione dei controlli di integrità di Amazon EC2 Auto Scaling con le tue applicazioni.
Indice
- Tipi di controllo dell'integrità
- Controlli dell'integrità Amazon EC2
- Controlli dello stato di Elastic Load Balancing
- Controlli dell'integrità VPC Lattice
- Come Amazon EC2 Auto Scaling riduce al minimo i tempi di inattività
- Controlli sanitari per casi in una piscina calda
- Considerazioni sul controllo dell’integrità
- Controlli dell'integrità personalizzati
Tipi di controllo dell'integrità
Amazon EC2 Auto Scaling può determinare lo stato di integrità di InService
un'istanza utilizzando uno o più dei seguenti controlli:
Tipo di controllo dello stato | Che cosa controlla |
---|---|
Controlli dello stato Amazon EC2 ed eventi pianificati |
Questo è il tipo di controllo dell'integrità predefinito per un gruppo con scalabilità automatica. |
Controlli dello stato di Elastic Load Balancing |
Per eseguire questo tipo di controllo dello stato, è necessario attivarlo per il gruppo Auto Scaling. |
Controlli dell'integrità VPC Lattice |
Per eseguire questo tipo di controllo dello stato, è necessario attivarlo per il gruppo Auto Scaling. |
Controlli dell'integrità personalizzati |
|
Controlli dell'integrità Amazon EC2
Dopo l'avvio di un'istanza, viene allegato al gruppo con dimensionamento automatico ed entra nello stato InService
. Per ulteriori informazioni sul ciclo di vita completo delle istanze in un gruppo con scalabilità automatica, consulta Ciclo di vita delle istanze di Amazon EC2 Auto Scaling.
Il Dimensionamento automatico Amazon EC2 verifica che tutte le istanze all'interno del gruppo con scalabilità automatica siano in esecuzione e in buone condizioni controllando periodicamente lo stato di integrità delle istanze.
Verifiche di stato
I controlli dell'integrità di Amazon EC2 Auto Scaling utilizzano i risultati delle verifiche dello stato di Amazon EC2 per determinare l'integrità di un'istanza. Se lo stato dell'istanza Amazon EC2 è diverso da running
oppure se lo stato del sistema è impaired
, il Dimensionamento automatico Amazon EC2 considera l'istanza non integra e la sostituisce. Ciò si applica quando l'istanza è in uno dei seguenti stati:
-
stopping
-
stopped
-
shutting-down
-
terminated
I controlli dello stato Amazon EC2 non richiedono alcuna configurazione speciale e sono sempre abilitati. Per ulteriori informazioni, consulta Tipi di controlli di stato nella Guida per l'utente di Amazon EC2.
Importante
Il Dimensionamento automatico Amazon EC2 consente a questi controlli dell'integrità di fallire occasionalmente senza intraprendere alcuna azione. Quando un controllo dello stato non riesce, Amazon EC2 Auto Scaling attende alcuni minuti AWS per risolvere il problema. Non contrassegna immediatamente un'istanza come Unhealthy
quando lo stato dei controlli dello stato diventa impaired
.
Se il Dimensionamento automatico Amazon EC2 rileva che lo stato di un'istanza non è più running
, tuttavia, questa situazione è trattata come un fallimento immediato. In questo caso, contrassegna immediatamente l'istanza come Unhealthy
e la sostituisce.
Eventi pianificati
Amazon EC2 può occasionalmente pianificare eventi sulle istanze da eseguire dopo un determinato timestamp. Per ulteriori informazioni, consulta Eventi pianificati per le tue istanze nella Guida per l'utente di Amazon EC2.
Se una delle istanze è interessata da un evento pianificato, Amazon EC2 Auto Scaling la considera non integra e la sostituisce. L'istanza non inizia a spegnersi finché non vengono raggiunte la data e l'ora specificate nel timestamp.
Controlli dello stato di Elastic Load Balancing
Quando attivi i controlli di integrità di Elastic Load Balancing per il tuo gruppo Auto Scaling, Amazon EC2 Auto Scaling può utilizzare i risultati di tali controlli per determinare lo stato di integrità di un'istanza.
Prima di poter attivare i controlli di integrità di Elastic Load Balancing per il tuo gruppo Auto Scaling, devi configurare un sistema di bilanciamento del carico Elastic Load Balancing e configurarne un controllo dello stato per determinare se le istanze sono integre. Per ulteriori informazioni, consulta Preparati a collegare un sistema di bilanciamento del carico Elastic Load Balancing.
Dopo aver collegato il sistema di bilanciamento del carico al gruppo Auto Scaling, si verifica quanto segue:
-
Il Dimensionamento automatico Amazon EC2 registra le istanze nel gruppo con scalabilità automatica con il load balancer.
-
Dopo che un'istanza ha terminato la registrazione, passa allo stato
InService
e diventa disponibile per l'uso con il load balancer.
Per impostazione predefinita, Amazon EC2 Auto Scaling ignora i risultati dei controlli dell'integrità di Elastic Load Balancing. Dopo aver attivato questi controlli di integrità per il gruppo Auto Scaling, quando Elastic Load Balancing riporta un'istanza registrata come, Unhealthy
Amazon EC2 Auto Scaling contrassegna l'istanza al successivo controllo periodico dello stato e la Unhealthy
sostituisce.
Se per il load balancer è abilitato lo svuotamento della connessione (ritardo di cancellazione), il Dimensionamento automatico Amazon EC2 attende il completamento delle richieste in transito o che il timeout massimo scada, prima di terminare le istanze non integre.
Nota
Per istruzioni su come collegare il load balancer e attivare i controlli di integrità di Elastic Load Balancing per il gruppo Auto Scaling, consulta. Collega un sistema di bilanciamento del carico Elastic Load Balancing al tuo gruppo Auto Scaling
Quando attivi i controlli dello stato di Elastic Load Balancing per un gruppo, Amazon EC2 Auto Scaling può sostituire le istanze che Elastic Load Balancing segnala come non integre, ma solo dopo che il sistema di bilanciamento del carico è attivo. InService
Per ulteriori informazioni, consulta Verifica lo stato di collegamento del sistema di bilanciamento del carico.
Controlli dell'integrità VPC Lattice
Per impostazione predefinita, Dimensionamento automatico Amazon EC2 ignora i risultati dei controlli dell'integrità di VPC Lattice. Facoltativamente, puoi attivare questi controlli di integrità per il tuo gruppo Auto Scaling. Dopo aver eseguito questa operazione, quando VPC Lattice segnala un'istanza registrata come Unhealthy
, il Dimensionamento automatico Amazon EC2 contrassegna l'istanza come Unhealthy
nel successivo controllo periodico dell'integrità e la sostituisce. Il processo di registrazione delle istanze e quindi del relativo controllo dello stato è lo stesso utilizzato per i controlli dell'integrità di Elastic Load Balancing.
Nota
Per istruzioni su come collegare il gruppo target VPC Lattice e attivare i controlli dello stato di VPC Lattice per il gruppo Auto Scaling, consulta. Allegare un gruppo di destinazione VPC Lattice al gruppo con dimensionamento automatico
Quando attivi i controlli dello stato di VPC Lattice per un gruppo, Amazon EC2 Auto Scaling può sostituire le istanze che VPC Lattice segnala come non integre, ma solo dopo che il gruppo target è nello stato. InService
Per ulteriori informazioni, consulta Informazioni sullo stato di collegamento del gruppo di destinazione VPC Lattice.
Come Amazon EC2 Auto Scaling riduce al minimo i tempi di inattività
Per impostazione predefinita, le nuove istanze vengono fornite contemporaneamente alla chiusura delle istanze esistenti, il che potrebbe impedire l'accettazione di nuove richieste fino a quando le nuove istanze non saranno completamente operative.
Se Amazon EC2 Auto Scaling determina che alcune istanze non sono più in esecuzione (o sono state Unhealthy
contrassegnate con il comando set-instance-health), le sostituisce immediatamente. Tuttavia, se altre istanze risultino non integre, il Dimensionamento automatico Amazon EC2 utilizza l'approccio riportato di seguito per riparare gli errori. Questo approccio riduce al minimo i tempi di inattività che potrebbero verificarsi a causa di problemi temporanei o controlli di integrità configurati in modo errato.
-
Se è in corso un'attività di scaling e il gruppo Auto Scaling è inferiore alla capacità desiderata del 10% o più, Amazon EC2 Auto Scaling attende l'attività di scaling in corso prima di sostituire le istanze non integre.
-
Durante l'aumento orizzontale, il Dimensionamento automatico Amazon EC2 attende che le istanze superino un controllo dell'integrità iniziale. Attende inoltre il completamento del warmup dell'istanza predefinito per assicurarsi che le nuove istanze siano pronte.
-
Dopo che le istanze hanno terminato il riscaldamento e il gruppo ha raggiunto oltre il 90% della capacità desiderata, Amazon EC2 Auto Scaling sostituisce le istanze non integre come segue:
-
Il Dimensionamento automatico Amazon EC2 sostituisce solo fino al 10% della capacità desiderata del gruppo alla volta. Lo fa fino a quando tutte le istanze non integre saranno state sostituite.
-
Quando si sostituiscono le istanze, attende che le istanze superino un controllo dell'integrità iniziale. Prima di continuare, attende anche che il warmup predefinito dell'istanza sia finito.
-
Nota
Se la dimensione di un gruppo di Auto Scaling è sufficientemente piccola da far sì che il valore risultante del 10% sia inferiore a uno, Amazon EC2 Auto Scaling sostituisce invece le istanze non integre una alla volta. Questo potrebbe comportare tempi di inattività del gruppo.
Inoltre, se tutte le istanze di un gruppo con dimensionamento automatico sono segnalate come non integre dai controlli dell'integrità di Elastic Load Balancing e il sistema di bilanciamento del carico è nello stato InService
, il Dimensionamento automatico Amazon EC2 potrebbe contrassegnare un numero inferiore di istanze non integre alla volta. Ciò può comportare una sostituzione molto inferiore di istanze alla volta rispetto al 10% applicato in altri scenari. In questo modo avrai tempo per risolvere il problema senza che Amazon EC2 Auto Scaling chiuda automaticamente l'intero gruppo.
Controlli sanitari per casi in una piscina calda
Amazon EC2 Auto Scaling esegue anche controlli di integrità sulle istanze in un pool caldo. Per ulteriori informazioni, consulta Visualizzare lo stato del controllo dell'integrità e il motivo degli errori relativi ad esso..
Considerazioni sul controllo dell’integrità
Di seguito sono riportate le considerazioni relative all'utilizzo dei controlli di integrità di Amazon EC2 Auto Scaling.
-
In alternativa, se è necessario che qualcosa accada sull'istanza che sta terminando o sull'istanza che si sta avviando, puoi utilizzare gli hook del ciclo di vita. Questi hook ti consentono di eseguire un'operazione personalizzata quando Amazon EC2 Auto Scaling avvia o termina le istanze. Per ulteriori informazioni, consulta Hook del ciclo di vita di Amazon EC2 Auto Scaling.
-
Amazon EC2 Auto Scaling non offre un modo per rimuovere i controlli dello stato di Amazon EC2 e degli eventi programmati dai controlli dell'integrità. Se non vuoi sostituire le istanze, ti consigliamo di sospendere il processo
ReplaceUnhealthy
eHealthCheck
per ogni singolo gruppo con scalabilità automatica. Per ulteriori informazioni, consulta Sospendi e riprendi i processi di Amazon Auto EC2 Scaling. -
Per impostare manualmente lo stato dell'integrità di un'istanza non integra su
Healthy
, puoi provare a utilizzare il comando set-instance-health. Se si riceverà un errore, ciò sarà probabilmente dovuto al fatto che istanza è già in corso di terminazione. In generale, impostare lo stato di integrità di un'istanza suHealthy
con il comando set-instance-health è utile solo nei casi in cui il processoReplaceUnhealthy
o il processoTerminate
è sospeso. -
Se devi risolvere i problemi di un'istanza senza interferenze dovute ai controlli di integrità, puoi mettere l'istanza in stato.
Standby
Amazon EC2 Auto Scaling non esegue controlli di integrità sulle istanze che si trovano nello stato fino a quando le istanze non vengono rimesse inStandby
servizio. Per ulteriori informazioni, consulta Rimuovere temporaneamente le istanze dal gruppo con scalabilità automatica. -
Quando l'istanza è terminata, i relativi indirizzi IP elastici sono disassociati e non vengono automaticamente associati alla nuova istanza. È necessario associare manualmente i indirizzi IP elastici alla nuova istanza o farlo automaticamente, con una soluzione basata su hook del ciclo di vita. Per ulteriori informazioni, consulta Indirizzi IP elastici nella Guida per l'utente di Amazon EC2.
-
Analogamente, quando l'istanza viene terminata, i relativi volumi EBS collegati vengono scollegati (o eliminati a seconda dell'attributo
DeleteOnTermination
del volume). È necessario collegare manualmente questi volumi EBS alla nuova istanza o farlo automaticamente con una soluzione basata su un hook del ciclo di vita. Per ulteriori informazioni, consulta Collegare un volume Amazon EBS a un'istanza nella Amazon EBS User Guide.
Controlli dell'integrità personalizzati
In alternativa, puoi eseguire attività di rilevamento dell'integrità personalizzate sulle istanze del gruppo con dimensionamento automatico e impostare lo stato di integrità di un'istanza come Unhealthy
se l’operazione ha esito negativo. In questo modo, i controlli dell'integrità vengono estesi utilizzando una combinazione di controlli dell'integrità personalizzati, controlli di stato Amazon EC2 e controlli dell'integrità Elastic Load Balancing, se abilitati.
Puoi inviare le informazioni sull'integrità delle istanze direttamente dal tuo sistema al Dimensionamento automatico Amazon EC2 utilizzando la AWS CLI o l'SDK. Gli esempi seguenti mostrano come utilizzare AWS CLI per configurare lo stato di integrità di un'istanza e quindi verificare lo stato di integrità dell'istanza.
Utilizzare il seguente comando, set-instance-health, per impostare lo stato d'integrità dell'istanza specificata su
.Unhealthy
aws autoscaling set-instance-health --instance-id
i-1234567890abcdef0
--health-statusUnhealthy
Per impostazione predefinita, questo comando rispetta il periodo di tolleranza del controllo dell'integrità. Tuttavia, è possibile sovrascrivere questo comportamento e non rispettare il periodo di tolleranza includendo l'opzione --no-should-respect-grace-period
.
Per verificare lo stato dell'istanza sia Unhealthy
, utilizza il seguente comando: describe-auto-scaling-groups.
aws autoscaling describe-auto-scaling-groups --auto-scaling-group-names
my-asg
Di seguito è riportato un esempio di risposta che mostra che lo stato dell'istanza è Unhealthy
e che questa sta per essere terminata.
{
"AutoScalingGroups": [
{
....
"Instances": [
{
"ProtectedFromScaleIn": false,
"AvailabilityZone": "us-west-2a",
"LaunchTemplate": {
"LaunchTemplateName": "my-launch-template",
"Version": "1",
"LaunchTemplateId": "lt-1234567890abcdef0"
},
"InstanceId": "i-1234567890abcdef0",
"InstanceType": "t2.micro",
"HealthStatus": "Unhealthy",
"LifecycleState": "Terminating"
},
...
]
}
]
}