Usa i SSM documenti di Systems Manager con AWS FIS - AWS Servizio di iniezione dei guasti

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à.

Usa i SSM documenti di Systems Manager con AWS FIS

AWS FISsupporta tipi di errore personalizzati tramite l' AWS Systems Manager SSMagente e l' AWS FISazioneaws:ssm:send-command. SSMI documenti preconfigurati di Systems Manager (SSMdocumenti) che possono essere utilizzati per creare azioni di errore comuni sono disponibili come AWS documenti pubblici che iniziano con il prefisso AWSFIS -.

SSMAgent è un software Amazon che può essere installato e configurato su EC2 istanze Amazon, server locali o macchine virtuali ()VMs. Ciò consente a Systems Manager di gestire queste risorse. L'agente elabora le richieste provenienti da Systems Manager e quindi le esegue come specificato nella richiesta. Puoi includere il tuo SSM documento per inserire errori personalizzati o fare riferimento a uno dei documenti pubblici di proprietà di Amazon.

Requisiti

Per le azioni che richiedono all'SSMagente di eseguire l'azione sulla destinazione, devi assicurarti quanto segue:

Utilizzate il aws:ssm:send-command action

Un SSM documento definisce le azioni che Systems Manager esegue sulle istanze gestite. Systems Manager include una serie di documenti preconfigurati oppure è possibile crearne di personalizzati. Per ulteriori informazioni sulla creazione di un SSM documento personalizzato, vedere Creazione di documenti Systems Manager nella Guida per l'AWS Systems Manager utente. Per ulteriori informazioni sui SSM documenti in generale, consultate AWS Systems Manager i documenti nella Guida AWS Systems Manager per l'utente.

AWS FISfornisce SSM documenti preconfigurati. È possibile visualizzare i SSM documenti preconfigurati in Documenti nella AWS Systems Manager console: https://console.aws.amazon.com/systems-manager/ documenti. Puoi anche scegliere tra una selezione di documenti preconfigurati nella AWS FIS console. Per ulteriori informazioni, consulta Documenti preconfigurati AWS FIS SSM.

Per usare un SSM documento nei tuoi AWS FIS esperimenti, puoi usare l'aws:ssm:send-commandazione. Questa azione recupera ed esegue il SSM documento specificato sulle istanze di destinazione.

Quando si utilizza l'aws:ssm:send-commandazione nel modello di esperimento, è necessario specificare parametri aggiuntivi per l'azione, inclusi i seguenti:

  • documentArn: obbligatorio L'Amazon Resource Name (ARN) del SSM documento.

  • documentParameters— Condizionale. I parametri obbligatori e facoltativi accettati dal SSM documento. Il formato è un JSON oggetto con chiavi che sono stringhe e valori che sono stringhe o matrici di stringhe.

  • documentVersion Facoltativo. La versione del documento da eseguire. SSM

È possibile visualizzare le informazioni relative a un SSM documento (compresi i parametri del documento) utilizzando la console Systems Manager o la riga di comando.

Per visualizzare informazioni su un SSM documento utilizzando la console
  1. Apri la AWS Systems Manager console all'indirizzo https://console.aws.amazon.com/systems-manager/.

  2. Nel riquadro di navigazione, scegli Documenti.

  3. Seleziona il documento e scegli la scheda Dettagli.

Per visualizzare informazioni su un SSM documento utilizzando la riga di comando

Utilizzate il comando SSM describe-document.

Documenti preconfigurati AWS FIS SSM

Puoi utilizzare AWS FIS SSM documenti preconfigurati con l'aws:ssm:send-commandazione nei tuoi modelli di esperimento.

Requisiti
  • I SSM documenti preconfigurati forniti da AWS FIS sono supportati solo sui seguenti sistemi operativi:

    • Amazon Linux 2023, Amazon Linux 2, Amazon Linux

    • Ubuntu

    • RHEL7, 8, 9

    • CentOS 8, 9

  • I SSM documenti preconfigurati forniti da AWS FIS sono supportati solo su EC2 istanze. Non sono supportati su altri tipi di nodi gestiti, come i server locali.

Per utilizzare questi SSM documenti negli esperimenti sulle ECS attività, usa il corrispondenteECSAzioni Amazon. Ad esempio, l'aws:ecs:task-cpu-stressazione utilizza il AWSFIS-Run-CPU-Stress non valido.

Differenza tra la durata dell'azione e quella DurationSeconds nei AWS FIS SSM documenti

Alcuni SSM documenti limitano il proprio tempo di esecuzione, ad esempio il DurationSeconds parametro viene utilizzato da alcuni AWS FIS SSM documenti preconfigurati. Di conseguenza, è necessario specificare due durate indipendenti nella definizione dell' AWS FISazione:

  • Action duration: Per gli esperimenti con una singola azione, la durata dell'azione è equivalente alla durata dell'esperimento. Nel caso di azioni multiple, la durata dell'esperimento dipende dalla durata delle singole azioni e dall'ordine in cui vengono eseguite. AWS FISmonitora ogni azione fino al termine della sua durata.

  • Parametro del documentoDurationSeconds: la durata, specificata in secondi, per la quale il SSM documento verrà eseguito.

Puoi scegliere valori diversi per i due tipi di durata:

  • Action duration exceeds DurationSeconds: l'esecuzione del SSM documento termina prima del completamento dell'azione. AWS FISattende che sia trascorsa la durata dell'azione prima di iniziare le azioni successive.

  • Action duration is shorter than DurationSeconds: il SSM documento continua l'esecuzione dopo il completamento dell'azione. Se l'esecuzione del SSM documento è ancora in corso e la durata dell'azione è scaduta, lo stato dell'azione viene impostato su Completato. AWS FISmonitora l'esecuzione solo fino al termine della durata dell'azione.

Nota che alcuni SSM documenti hanno durate variabili. Ad esempio, AWS FIS SSM i documenti hanno la possibilità di installare i prerequisiti, che possono estendere la durata complessiva dell'esecuzione oltre il parametro specificato DurationSeconds . Pertanto, se si imposta la durata dell'azione e DurationSeconds lo stesso valore, è possibile che lo SSM script venga eseguito più a lungo della durata dell'azione.

AWSFIS-Run-CPU-Stress

Esegue CPU lo stress su un'istanza utilizzando lo stress-ng strumento. Utilizza il documento AWSFIS-Run- CPU -StressSSM.

Tipo di azione (solo console)

aws:ssm:send-command/AWSFIS-Run-CPU-Stress

ARN

arn:aws:ssm:Regione::document/AWSFIS-Run-CPU-Stress

Parametri del documento
  • DurationSeconds: obbligatorio La durata dello CPU stress test, in secondi.

  • CPU Facoltativo. Il numero di CPU fattori di stress da utilizzare. L'impostazione predefinita è 0, che utilizza tutti i CPU fattori di stress.

  • LoadPercent Facoltativo. La percentuale di CPU carico target, da 0 (senza carico) a 100 (a pieno carico). Il valore di default è 100.

  • InstallDependencies Facoltativo. Se il valore èTrue, Systems Manager installa le dipendenze richieste sulle istanze di destinazione se non sono già installate. Il valore predefinito è True. La dipendenza è. stress-ng

Di seguito è riportato un esempio della stringa che è possibile immettere nella console.

{"DurationSeconds":"60", "InstallDependencies":"True"}

AWSFIS-Run-Disk-Fill

Alloca lo spazio su disco sul volume principale di un'istanza per simulare un guasto completo del disco. Utilizza il documento AWSFIS-Run-Disk-FillSSM.

Se l'esperimento che inietta questo errore viene interrotto, manualmente o mediante una condizione di interruzione, AWS FIS tenta di ripristinare il documento in esecuzione annullando il documento in esecuzione. SSM Tuttavia, se il disco è pieno al 100%, a causa dell'errore o dell'attività dell'applicazione, Systems Manager potrebbe non essere in grado di completare l'operazione di annullamento. Pertanto, se è necessario interrompere l'esperimento, assicuratevi che il disco non si riempia al 100%.

Tipo di azione (solo console)

aws:ssm:send-command/AWSFIS-Run-Disk-Fill

ARN

arn:aws:ssm:Regione::document/AWSFIS-Run-Disk-Fill

Parametri del documento
  • DurationSeconds: obbligatorio La durata del test di riempimento del disco, in secondi.

  • Percent Facoltativo. La percentuale del disco da allocare durante il test di riempimento del disco. L'impostazione predefinita è 95%.

  • InstallDependencies Facoltativo. Se il valore èTrue, Systems Manager installa le dipendenze richieste sulle istanze di destinazione se non sono già installate. Il valore predefinito è True. Le dipendenze sono e. atd fallocate

Di seguito è riportato un esempio della stringa che è possibile immettere nella console.

{"DurationSeconds":"60", "InstallDependencies":"True"}

AWSFIS-Run-IO-Stress

Esegue lo stress IO su un'istanza utilizzando lo stress-ng strumento. Utilizza il documento AWSFIS-Run-IO-StressSSM.

Tipo di azione (solo console)

aws:ssm:send-command/AWSFIS-Run-IO-Stress

ARN

arn:aws:ssm:Regione::document/AWSFIS-Run-IO-Stress

Parametri del documento
  • DurationSeconds: obbligatorio La durata dello stress test IO, in secondi.

  • Workers Facoltativo. Il numero di lavoratori che eseguono una combinazione di operazioni di lettura/scrittura sequenziali, casuali e mappate in memoria, sincronizzazione forzata e eliminazione della cache. Più processi secondari eseguono diverse operazioni di I/O sullo stesso file. Il valore di default è 1.

  • Percent Facoltativo. La percentuale di spazio libero sul file system da utilizzare durante lo stress test IO. L'impostazione predefinita è 80%.

  • InstallDependencies Facoltativo. Se il valore èTrue, Systems Manager installa le dipendenze richieste sulle istanze di destinazione se non sono già installate. Il valore predefinito è True. La dipendenza è. stress-ng

Di seguito è riportato un esempio della stringa che è possibile immettere nella console.

{"Workers":"1", "Percent":"80", "DurationSeconds":"60", "InstallDependencies":"True"}

AWSFIS-Run-Kill-Process

Arresta il processo specificato nell'istanza, utilizzando il killall comando. Utilizza il documento AWSFIS-Run-Kill-ProcessSSM.

Tipo di azione (solo console)

aws:ssm:send-command/AWSFIS-Run-Kill-Process

ARN

arn:aws:ssm:Regione::document/AWSFIS-Run-Kill-Process

Parametri del documento
  • ProcessName: obbligatorio Il nome del processo da interrompere.

  • Signal Facoltativo. Il segnale da inviare insieme al comando. I valori possibili sono SIGTERM (che il ricevitore può scegliere di ignorare) e SIGKILL (che non possono essere ignorati). Il valore predefinito è SIGTERM.

  • InstallDependencies Facoltativo. Se il valore èTrue, Systems Manager installa le dipendenze richieste sulle istanze di destinazione se non sono già installate. Il valore predefinito è True. La dipendenza è. killall

Di seguito è riportato un esempio della stringa che è possibile immettere nella console.

{"ProcessName":"myapplication", "Signal":"SIGTERM"}

AWSFIS-Run-Memory-Stress

Esegue lo stress della memoria su un'istanza utilizzando lo stress-ng strumento. Utilizza il documento AWSFIS-Run-Memory-StressSSM.

Tipo di azione (solo console)

aws:ssm:send-command/AWSFIS-Run-Memory-Stress

ARN

arn:aws:ssm:Regione::document/AWSFIS-Run-Memory-Stress

Parametri del documento
  • DurationSeconds: obbligatorio La durata del test di stress della memoria, in secondi.

  • Workers Facoltativo. Il numero di fattori di stress della memoria virtuale. Il valore di default è 1.

  • Percent: obbligatorio La percentuale di memoria virtuale da utilizzare durante il test di stress della memoria.

  • InstallDependencies Facoltativo. Se il valore èTrue, Systems Manager installa le dipendenze richieste sulle istanze di destinazione se non sono già installate. Il valore predefinito è True. La dipendenza è. stress-ng

Di seguito è riportato un esempio della stringa che è possibile immettere nella console.

{"Percent":"80", "DurationSeconds":"60", "InstallDependencies":"True"}

AWSFIS-Run-Network-Blackhole-Port

Elimina il traffico in entrata o in uscita per il protocollo e la porta utilizzando lo iptables strumento. Utilizza il documento AWSFIS-Run-Network-Blackhole-PortSSM.

Tipo di azione (solo console)

aws:ssm:send-command/AWSFIS-Run-Network-Blackhole-Port

ARN

arn:aws:ssm:Regione::document/AWSFIS-Run-Network-Blackhole-Port

Parametri del documento
  • Protocol: obbligatorio Il protocollo. I valori possibili sono tcp e udp.

  • Port: obbligatorio Il numero di porta.

  • TrafficType Facoltativo. Il tipo di traffico. I valori possibili sono ingress e egress. Il valore di default è ingress.

  • DurationSeconds: obbligatorio Durata del test del buco nero della rete, in secondi.

  • InstallDependencies Facoltativo. Se il valore èTrue, Systems Manager installa le dipendenze richieste sulle istanze di destinazione se non sono già installate. Il valore predefinito è True. Le dipendenze sonoatd, e. dig iptables

Di seguito è riportato un esempio della stringa che è possibile immettere nella console.

{"Protocol":"tcp", "Port":"8080", "TrafficType":"egress", "DurationSeconds":"60", "InstallDependencies":"True"}

AWSFIS-Run-Network-Latency

Aggiunge latenza all'interfaccia di rete utilizzando lo tc strumento. Utilizza il documento AWSFIS-Run-Network-LatencySSM.

Tipo di azione (solo console)

aws:ssm:send-command/AWSFIS-Run-Network-Latency

ARN

arn:aws:ssm:Regione::document/AWSFIS-Run-Network-Latency

Parametri del documento
  • Interface Facoltativo. L'interfaccia di rete. Il valore predefinito è eth0.

  • DelayMilliseconds Facoltativo. Il ritardo, in millisecondi. L'impostazione predefinita è 200.

  • DurationSeconds: obbligatorio La durata del test di latenza della rete, in secondi.

  • InstallDependencies Facoltativo. Se il valore èTrue, Systems Manager installa le dipendenze richieste sulle istanze di destinazione se non sono già installate. Il valore predefinito è True. Le dipendenze sonoatd, e. dig tc

Di seguito è riportato un esempio della stringa che è possibile immettere nella console.

{"DelayMilliseconds":"200", "Interface":"eth0", "DurationSeconds":"60", "InstallDependencies":"True"}

AWSFIS-Run-Network-Latency-Sources

Aggiunge latenza e jitter all'interfaccia di rete utilizzando tc lo strumento per il traffico da o verso fonti specifiche. Utilizza il documento AWSFIS-Run-Network-Latency-SourcesSSM.

Tipo di azione (solo console)

aws:ssm:send-command/AWSFIS-Run-Network-Latency-Sources

ARN

arn:aws:ssm:Regione::document/AWSFIS-Run-Network-Latency-Sources

Parametri del documento
  • Interface Facoltativo. L'interfaccia di rete. Il valore predefinito è eth0.

  • DelayMilliseconds Facoltativo. Il ritardo, in millisecondi. L'impostazione predefinita è 200.

  • JitterMilliseconds Facoltativo. Il jitter, in millisecondi. Il valore predefinito è 10.

  • Sources: obbligatorio Le fonti, separate da virgole. I valori possibili sono: un IPv4 indirizzo, un IPv4 CIDR blocco, un nome di dominio eS3. DYNAMODB Se si specifica DYNAMODB oS3, ciò si applica solo all'endpoint regionale nella regione corrente.

  • TrafficType Facoltativo. Il tipo di traffico. I valori possibili sono ingress e egress. Il valore di default è ingress.

  • DurationSeconds: obbligatorio La durata del test di latenza della rete, in secondi.

  • InstallDependencies Facoltativo. Se il valore èTrue, Systems Manager installa le dipendenze richieste sulle istanze di destinazione se non sono già installate. Il valore predefinito è True. Le dipendenze sonoatd,, edig. jq tc

Di seguito è riportato un esempio della stringa che è possibile immettere nella console.

{"DelayMilliseconds":"200", "JitterMilliseconds":"15", "Sources":"S3,www.example.com,72.21.198.67", "Interface":"eth0", "TrafficType":"egress", "DurationSeconds":"60", "InstallDependencies":"True"}

AWSFIS-Run-Network-Packet-Loss

Aggiunge la perdita di pacchetti all'interfaccia di rete utilizzando lo tc strumento. Utilizza il documento AWSFIS-Run-Network-Packet-LossSSM.

Tipo di azione (solo console)

aws:ssm:send-command/AWSFIS-Run-Network-Packet-Loss

ARN

arn:aws:ssm:Regione::document/AWSFIS-Run-Network-Packet-Loss

Parametri del documento
  • Interface Facoltativo. L'interfaccia di rete. Il valore predefinito è eth0.

  • LossPercent Facoltativo. La percentuale di perdita di pacchetti. L'impostazione predefinita è 7%.

  • DurationSeconds: obbligatorio La durata del test di perdita di pacchetti di rete, in secondi.

  • InstallDependencies Facoltativo. Se il valore èTrue, Systems Manager installa le dipendenze richieste sulle istanze di destinazione. Il valore predefinito è True. Le dipendenze sonoatd, e. dig tc

Di seguito è riportato un esempio della stringa che è possibile immettere nella console.

{"LossPercent":"15", "Interface":"eth0", "DurationSeconds":"60", "InstallDependencies":"True"}

AWSFIS-Run-Network-Packet-Loss-Sources

Aggiunge la perdita di pacchetti all'interfaccia di rete utilizzando lo tc strumento per il traffico da o verso fonti specifiche. Utilizza il documento AWSFIS-Run-Network-Packet-Loss-SourcesSSM.

Tipo di azione (solo console)

aws:ssm:send-command/AWSFIS-Run-Network-Packet-Loss-Sources

ARN

arn:aws:ssm:Regione::document/AWSFIS-Run-Network-Packet-Loss-Sources

Parametri del documento
  • Interface Facoltativo. L'interfaccia di rete. Il valore predefinito è eth0.

  • LossPercent Facoltativo. La percentuale di perdita di pacchetti. L'impostazione predefinita è 7%.

  • Sources: obbligatorio Le fonti, separate da virgole. I valori possibili sono: un IPv4 indirizzo, un IPv4 CIDR blocco, un nome di dominio eS3. DYNAMODB Se si specifica DYNAMODB oS3, ciò si applica solo all'endpoint regionale nella regione corrente.

  • TrafficType Facoltativo. Il tipo di traffico. I valori possibili sono ingress e egress. Il valore di default è ingress.

  • DurationSeconds: obbligatorio La durata del test di perdita di pacchetti di rete, in secondi.

  • InstallDependencies Facoltativo. Se il valore èTrue, Systems Manager installa le dipendenze richieste sulle istanze di destinazione. Il valore predefinito è True. Le dipendenze sonoatd,, edig. jq tc

Di seguito è riportato un esempio della stringa che è possibile immettere nella console.

{"LossPercent":"15", "Sources":"S3,www.example.com,72.21.198.67", "Interface":"eth0", "TrafficType":"egress", "DurationSeconds":"60", "InstallDependencies":"True"}

Esempi

Per un esempio di modello di esperimento, vediEsegui un file preconfigurato AWS FISSSMdocumento.

Per un esempio di tutorial, consultare Esercita CPU lo stress su un'istanza.

Risoluzione dei problemi

Per risolvere i problemi, utilizzare la procedura seguente.

Per risolvere i problemi relativi ai documenti SSM
  1. Apri la AWS Systems Manager console all'indirizzo. https://console.aws.amazon.com/systems-manager/

  2. Nel riquadro di navigazione, scegli Gestione dei nodi, Esegui comando.

  3. Nella scheda Cronologia dei comandi, utilizza i filtri per individuare l'esecuzione del documento.

  4. Scegli l'ID del comando per aprirne la pagina dei dettagli.

  5. Scegli l'ID dell'istanza. Controlla l'output e gli errori per ogni passaggio.