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à.
Azioni per AWS FIS
Per creare un modello di esperimento, è necessario definire una o più azioni. Per un elenco di azioni predefinite fornito da AWS FIS, vediRiferimento alle azioni.
È possibile eseguire un'azione solo una volta durante un esperimento. Per eseguire lo stesso AWS FISazione più di una volta nello stesso esperimento, aggiungila al modello più volte usando 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": {
"resource_type
": "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
Ciascuno AWS FISl'azione 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
Medio AWS FISle azioni hanno parametri aggiuntivi specifici dell'azione. Questi parametri vengono utilizzati per passare informazioni a AWS FISquando l'azione viene eseguita.
AWS FISsupporta tipi di errore personalizzati utilizzando l'aws:ssm:send-command
azione, che utilizza l'SSMagente e un documento di SSM comando 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 SSM documento. 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, consultateUtilizzate 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'EC2istanza 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": {
"resource_type
": "resource_name
"
}
AWS FISle azioni supportano i seguenti tipi di risorse per gli obiettivi d'azione:
-
Gruppi Auto Scaling — Gruppi Amazon Auto EC2 Scaling
-
Bucket: bucket Amazon S3
-
Cluster: EKS cluster Amazon
-
Cluster: cluster Amazon o ECS cluster Amazon Aurora DB
-
DBInstances— istanze Amazon RDS DB
-
Tabelle globali crittografate: Amazon DynamoDB; tabelle globali crittografate con una chiave gestita dal cliente
-
Tabelle globali: Amazon DynamoDB; tabelle globali
-
Istanze: istanze Amazon EC2
-
Nodegroups — Gruppi di nodi Amazon EKS
-
Pods: pod Kubernetes su Amazon EKS
-
ReplicationGroups ElastiCache — Gruppi di replica Redis
-
Ruoli: ruoli IAM
-
SpotInstances— Istanze Amazon EC2 Spot
-
Sottoreti: sottoreti VPC
-
Attività — ECS Attività Amazon
-
TransitGateways— Gateway di transito
-
Volumi: EBS volumi Amazon
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 specifichi una durata di 5 minuti, AWS FISconsidera 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
La seguente azione 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
" } } }
EKSEsempio: licenziare i lavoratori
La seguente azione interrompe il 50% delle EC2 istanze nel EKS cluster identificate utilizzando la destinazione denominata targetNodeGroups
.
"actions": { "
terminateWorkers
": { "actionId": "aws:eks:terminate-nodegroup-instances", "parameters": { "instanceTerminationPercentage": "50
" }, "targets": { "Nodegroups": "targetNodeGroups
" } } }