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à.
Set di azioni per AWS FIS
Per creare un modello di esperimento, è necessario definire una o più azioni per comporre il set di azioni. Per un elenco delle azioni predefinite fornite da AWS FIS, vedere. Azioni
È possibile eseguire un'azione solo una volta durante un esperimento. Per eseguire la stessa azione AWS FIS più di una volta nello stesso esperimento, aggiungila al modello più volte utilizzando nomi diversi.
Sintassi dell'azione
Di seguito è riportata la sintassi per un set di azioni.
{
"actions": {
"action_name
": {
"actionId": "aws:service
:action-type
",
"description": "string
",
"parameters": {
"name
": "value
"
},
"startAfter": ["action_name
", ...],
"targets": {
"resource_type
": "target_name
"
}
}
}
}
Quando si definisce un'azione, si fornisce quanto segue:
nome_azione
-
Un nome per l'operazione.
- actionId
- description
-
Descrizione facoltativa
- parameters
-
Qualsiasi parametro di azione.
- startAfter
-
Qualsiasi azione che deve essere completata prima che questa azione possa iniziare. Altrimenti, l'azione viene eseguita all'inizio dell'esperimento.
- targets
-
Qualsiasi obiettivo d'azione.
Per alcuni esempi, consulta Esempio di azioni.
Durata operazione
Se un'azione include un parametro che è possibile utilizzare per specificare la durata dell'azione, per impostazione predefinita, l'azione viene considerata completa solo dopo la scadenza della durata specificata. Se hai impostato l'opzione dell'emptyTargetResolutionMode
esperimento suskip
, l'azione verrà completata immediatamente con lo stato «ignorato» quando nessun obiettivo è stato risolto. Ad esempio, se si specifica una durata di 5 minuti, AWS FIS considera l'azione completa dopo 5 minuti. Quindi avvia l'azione successiva, fino al completamento di tutte le azioni.
La durata può essere il periodo di tempo in cui viene mantenuta una condizione di azione o il periodo di tempo per il quale vengono monitorate le metriche. Ad esempio, la latenza viene iniettata per il periodo di tempo specificato. Per i tipi di azioni quasi istantanee, come l'interruzione di un'istanza, le condizioni di arresto vengono monitorate per la durata specificata.
Se un'azione include un'azione di post entro i parametri dell'azione, l'azione di post viene eseguita dopo il completamento dell'azione. Il tempo necessario per completare l'azione successiva potrebbe causare un ritardo tra la durata dell'azione specificata e l'inizio dell'azione successiva (o la fine dell'esperimento, se tutte le altre azioni sono state completate).
Esempio di azioni
Di seguito sono riportati alcuni esempi di azioni.
Esempi
Esempio: fermare le istanze EC2
La seguente azione arresta le istanze EC2 identificate utilizzando la destinazione denominata TargetInstances.
Dopo due minuti, riavvia le istanze di destinazione.
"actions": { "
stopInstances
": { "actionId": "aws:ec2:stop-instances", "parameters": { "startInstancesAfterDuration": "PT2M
" }, "targets": { "Instances": "targetInstances
" } } }
Esempio: istanze Interrupt Spot
L'azione seguente interrompe le istanze Spot identificate utilizzando la destinazione denominata. targetSpotInstances
Attende due minuti prima di interrompere l'istanza Spot.
"actions": { "
interruptSpotInstances
": { "actionId": "aws:ec2:send-spot-instance-interruptions", "parameters": { "durationBeforeInterruption": "PT2M
" }, "targets": { "SpotInstances": "targetSpotInstances
" } } }
Esempio: interrompere il traffico di rete
L'azione seguente nega il traffico tra le sottoreti di destinazione e le sottoreti in altre zone di disponibilità.
"actions": { "
disruptAZConnectivity
": { "actionId": "aws:network:disrupt-connectivity", "parameters": { "scope": "availability-zone", "duration": "PT5M
" }, "targets": { "Subnets": "targetSubnets
" } } }
Esempio: licenziare i lavoratori EKS
La seguente azione interrompe il 50% delle istanze EC2 nel cluster EKS identificate utilizzando il target denominato. targetNodeGroups
"actions": { "
terminateWorkers
": { "actionId": "aws:eks:terminate-nodegroup-instances", "parameters": { "instanceTerminationPercentage": "50
" }, "targets": { "Nodegroups": "targetNodeGroups
" } } }