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à.
Per creare un modello di esperimento, è necessario definire una o più azioni. Per un elenco delle azioni predefinite fornite da AWS FIS, vedere. Riferimento alle 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.
Indice
Sintassi dell'azione
Di seguito è riportata la sintassi di un'azione.
{
"actions": {
"action_name
": {
"actionId": "aws:service
:action-type
",
"description": "string
",
"parameters": {
"name
": "value
"
},
"startAfter": ["action_name
", ...],
"targets": {
"ResourceType
": "target_name
"
}
}
}
}
Quando si definisce un'azione, si fornisce quanto segue:
action_name
-
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.
Identificatori di azione
Ogni azione AWS FIS ha un identificatore con il seguente formato:
aws:service-name
:action-type
Ad esempio, la seguente azione arresta le EC2 istanze Amazon di destinazione:
aws:ec2:stop-instances
Per un elenco completo delle azioni, consulta laAWS FIS Riferimento alle azioni.
Parametri dell'operazione
Alcune azioni AWS FIS hanno parametri aggiuntivi specifici dell'azione. Questi parametri vengono utilizzati per passare informazioni al AWS FIS quando l'azione viene eseguita.
AWS FIS supporta tipi di errore personalizzati utilizzando l'aws:ssm:send-command
azione, che utilizza l'agente SSM e un documento di comando SSM per creare la condizione di errore sulle istanze di destinazione. L'aws:ssm:send-command
azione include un documentArn
parametro che prende come valore l'Amazon Resource Name (ARN) di un documento SSM. Specifichi i valori per i parametri quando aggiungi l'azione al modello di esperimento.
Per ulteriori informazioni sulla specificazione dei parametri per l'aws:ssm:send-command
azione, consultateUsa il aws:ssm:send-command action.
Ove possibile, è possibile inserire una configurazione di rollback (nota anche come azione successiva) all'interno dei parametri dell'azione. Una post-operazione ripristina una destinazione allo stato in cui si trovava prima dell'esecuzione dell'operazione stessa. L'azione di post viene eseguita dopo il tempo specificato nella durata dell'azione. Non tutte le azioni possono supportare le azioni di pubblicazione. Ad esempio, se l'azione interrompe un' EC2 istanza Amazon, non è possibile ripristinare l'istanza dopo che è stata interrotta.
Obiettivi d'azione
Un'azione viene eseguita sulle risorse di destinazione specificate. Dopo aver definito un obiettivo, è possibile specificarne il nome quando si definisce un'azione.
"targets": {
"ResourceType
": "resource_name
"
}
AWS Le azioni FIS supportano i seguenti tipi di risorse per gli obiettivi d'azione:
-
AutoScalingGroups— Gruppi Amazon EC2 Auto Scaling
-
Bucket: bucket Amazon S3
-
Cluster: cluster Amazon EKS
-
Cluster: cluster Amazon ECS o cluster Amazon Aurora DB
-
DBInstances— Istanze database Amazon RDS
-
Tabelle: tabelle globali Amazon DynamoDB
-
Istanze: istanze Amazon EC2
-
Nodegroups — gruppi di nodi Amazon EKS
-
Pods: pod Kubernetes su Amazon EKS
-
ReplicationGroups ElastiCache — Gruppi di replica
-
Ruoli: ruoli IAM
-
SpotInstances— Istanze Amazon EC2 Spot
-
Sottoreti: sottoreti VPC
-
Attività: attività di Amazon ECS
-
TransitGateways— Gateway di transito
-
Volumi: volumi Amazon EBS
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 all'interno dei 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: Stop Instances EC2
La seguente azione arresta le EC2 istanze 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 termina il 50% delle EC2 istanze nel cluster EKS identificate utilizzando il target denominato. targetNodeGroups
"actions": {
"terminateWorkers
": {
"actionId": "aws:eks:terminate-nodegroup-instances",
"parameters": {
"instanceTerminationPercentage": "50
"
},
"targets": {
"Nodegroups": "targetNodeGroups
"
}
}
}