Endpoint Amazon ECS Fault Injection - Amazon Elastic Container Service

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

Endpoint Amazon ECS Fault Injection

L'agente ECS container Amazon inietta automaticamente la variabile di ECS_AGENT_URI ambiente nei contenitori delle ECS attività di Amazon per fornire un metodo per interagire con l'APIendpoint dell'agente contenitore. Ogni endpoint include un /start/stop, e endpoint. /status Gli endpoint accettano solo richieste da attività che hanno abilitato l'iniezione di errori e ogni endpoint ha un limite di frequenza di 1 richiesta ogni 5 secondi per contenitore. Il superamento di questo limite genera un errore.

I tre endpoint da utilizzare con l'iniezione dei guasti sono:

Una richiesta riuscita genera un codice di risposta 200 contenente un messaggio che indica running quando si chiama l'/startendpoint, stopped per l'/stopendpoint running e/o not-running per l'endpoint. /status

{ "Status": <string> }

Una richiesta non riuscita restituisce uno dei seguenti codici di errore:

  • 400‐ Richiesta errata

  • 409‐ La richiesta di inserimento dei guasti è in conflitto con un altro errore in esecuzione

  • 429‐ La richiesta è stata limitata

  • 500‐ Il server ha avuto un errore imprevisto

{ "Error": <string message> }
Nota

È possibile iniettare un errore di latenza di rete o un errore di perdita di pacchetti di rete alla volta. Il tentativo di iniettarne più di uno comporta il rifiuto della richiesta.

Endpoint della porta blackhole di rete

L'{ECS_AGENT_URI}/fault/v1/network-blackhole-portendpoint elimina il traffico in entrata o in uscita per una porta e un protocollo specifici nello spazio dei nomi di rete di un'attività ed è compatibile con due modalità:

  • awsvpc ‐ le modifiche vengono applicate allo spazio dei nomi della rete delle attività

  • host ‐ le modifiche vengono applicate all'istanza predefinita del contenitore dei namespace di rete

{ECS_AGENT_URI}/fault/v1/network-blackhole-port/start

Questo endpoint avvia le iniezioni di errori nelle porte blackhole di rete e presenta i seguenti parametri:

Porta

La porta specificata da utilizzare per l'iniezione dei guasti nelle porte blackhole.

Tipo: integer

Campo obbligatorio: sì

Protocollo

Il protocollo da utilizzare per l'iniezione di errori nella porta blackhole.

Tipo: stringa

Valori validi: tcp | udp

Campo obbligatorio: sì

TrafficType

Il tipo di traffico utilizzato dall'iniezione dei guasti.

Tipo: stringa

Valori validi: ingress | egress

Campo obbligatorio: sì

SourcesToFilter

Una JSON serie di IPv4 indirizzi o CIDR blocchi protetti dall'errore.

Tipo: matrice di stringhe

Campo obbligatorio: no

Di seguito è riportato un esempio di richiesta per l'utilizzo dell'startendpoint (sostituisci i red valori con i tuoi):

Endpoint: ${ECS_AGENT_URI}/fault/v1/network-blackhole-port/start Http method:POST Request payload: { "Port": 1234, "Protocol": "tcp|udp", "TrafficType": "ingress|egress" "SourcesToFilter": ["${IP1}", "${IP2}", ...], }

{ECS_AGENT_URI}/fault/v1/network-blackhole-port/stop

Questo endpoint blocca l'errore specificato nella richiesta. Questo endpoint ha i seguenti parametri:

Porta

La porta interessata dall'errore che deve essere interrotta.

Tipo: integer

Campo obbligatorio: sì

Protocollo

Il protocollo da usare per fermare l'errore.

Tipo: stringa

Valori validi: tcp | udp

Campo obbligatorio: sì

TrafficType

Il tipo di traffico utilizzato dall'iniezione del guasto.

Tipo: stringa

Valori validi: ingress | egress

Campo obbligatorio: sì

Di seguito è riportato un esempio di richiesta per l'utilizzo dell'stopendpoint (sostituisci i red valori con i tuoi):

Endpoint: ${ECS_AGENT_URI}/fault/v1/network-blackhole-port/stop Http method: POST Request payload: { "Port": 1234, "Protocol": "tcp|udp", "TrafficType": "ingress|egress", }

{ECS_AGENT_URI}/fault/v1/network-blackhole-port/status

Questo endpoint viene utilizzato per verificare lo stato dell'iniezione del guasto. Questo endpoint ha i seguenti parametri:

Porta

La porta interessata per verificare lo stato del guasto.

Tipo: integer

Campo obbligatorio: sì

Protocollo

Il protocollo da utilizzare per verificare lo stato dell'errore.

Tipo: stringa

Valori validi: tcp | udp

Campo obbligatorio: sì

TrafficType

Il tipo di traffico utilizzato dall'iniezione del guasto.

Tipo: stringa

Valori validi: ingress | egress

Campo obbligatorio: sì

Di seguito è riportato un esempio di richiesta per l'utilizzo dell'statusendpoint (sostituisci i red valori con i tuoi):

Endpoint: ${ECS_AGENT_URI}/fault/v1/network-blackhole-port/status Http method: POST Request payload: { "Port": 1234, "Protocol": "tcp|udp", "TrafficType": "ingress|egress", }

Endpoint di latenza di rete

L'{ECS_AGENT_URI}/fault/v1/network-latencyendpoint aggiunge ritardo e jitter all'interfaccia di rete dell'attività per il traffico verso fonti specifiche. L'endpoint è compatibile con due modalità:

  • awsvpc ‐ le modifiche vengono applicate all'interfaccia di rete delle attività

  • host ‐ le modifiche vengono applicate all'interfaccia di rete predefinita

{ECS_AGENT_URI}/fault/v1/network-latency/start

Questo /start endpoint avvia l'iniezione dei guasti di latenza di rete e presenta i seguenti parametri:

DelayMilliseconds

Il numero di millisecondi di ritardo da aggiungere all'interfaccia di rete da utilizzare per l'iniezione dei guasti.

Tipo: integer

Campo obbligatorio: sì

JitterMilliseconds

Il numero di millisecondi di jitter da aggiungere all'interfaccia di rete da utilizzare per l'iniezione dei guasti.

Tipo: integer

Campo obbligatorio: sì

Origini

Una JSON serie di IPv4 indirizzi o CIDR blocchi destinati all'uso con l'iniezione di errori.

Tipo: matrice di stringhe

Campo obbligatorio: sì

SourcesToFilter

Una JSON serie di IPv4 indirizzi o CIDR blocchi protetti dall'errore. SourcesToFilterha la priorità suSources.

Tipo: matrice di stringhe

Campo obbligatorio: no

Di seguito è riportato un esempio di richiesta per l'utilizzo dell'/startendpoint (sostituisci i red valori con i tuoi):

Endpoint: ${ECS_AGENT_URI}/fault/v1/network-latency/start Http method: POST Request payload: { "DelayMilliseconds": 123, "JitterMilliseconds": 123, "Sources": ["${IP1}", "${IP2}", ...], "SourcesToFilter": ["${IP1}", "${IP2}", ...], }

{ECS_AGENT_URI}/fault/v1/network-latency/stop and /status

L'{ECS_AGENT_URI}/fault/v1/network-latency/stopendpoint arresta l'errore e ne {ECS_AGENT_URI}/fault/v1/network-latency/status verifica lo stato.

Di seguito sono riportati due esempi di richieste per l'utilizzo degli endpoint /stop e degli /status endpoint. Entrambi utilizzano il POST HTTP metodo.

Endpoint: ${ECS_AGENT_URI}/fault/v1/network-latency/stop
Endpoint: ${ECS_AGENT_URI}/fault/v1/network-latency/status

Endpoint di perdita di pacchetti di rete

L'{ECS_AGENT_URI}/fault/v1/network-packet-lossendpoint aggiunge la perdita di pacchetti all'interfaccia di rete specificata. Questo endpoint è compatibile con due modalità:

  • awsvpc ‐ le modifiche vengono applicate all'interfaccia di rete delle attività

  • host ‐ le modifiche vengono applicate all'interfaccia di rete predefinita

{ECS_AGENT_URI}/fault/v1/network-packet-loss/start

Questo /start endpoint avvia l'iniezione di errori di perdita dei pacchetti di rete e presenta i seguenti parametri:

LossPercent

La percentuale di perdita di pacchetti

Tipo: integer

Campo obbligatorio: sì

Origini

Una JSON serie di IPv4 indirizzi o CIDR blocchi da utilizzare per i test di iniezione dei guasti.

Tipo: matrice di stringhe

Campo obbligatorio: sì

SourcesToFilter

Una JSON serie di IPv4 indirizzi o CIDR blocchi protetti dall'errore. SourcesToFilterha la priorità suSources.

Tipo: matrice di stringhe

Campo obbligatorio: no

Di seguito è riportato un esempio di richiesta per l'utilizzo dell'startendpoint (sostituisci i red valori con i tuoi):

Endpoint: ${ECS_AGENT_URI}/fault/v1/network-packet-loss/start Http method: POST { "LossPercent": 6, "Sources": ["${IP1}", "${IP2}", ...], "SourcesToFilter": ["${IP1}", "${IP2}", ...], }

{ECS_AGENT_URI}/fault/v1/network-packet-loss/stop and /status

L'{ECS_AGENT_URI}/fault/v1/network-packet-loss/stopendpoint arresta l'errore e ne {ECS_AGENT_URI}/fault/v1/network-packet-loss/status verifica lo stato. È supportato solo un tipo di errore alla volta.

Di seguito sono riportati due esempi di richieste per l'utilizzo degli endpoint /stop e degli /status endpoint. Entrambi utilizzano il POST HTTP metodo.

Endpoint: ${ECS_AGENT_URI}/fault/v1/network-packet-loss/stop
Endpoint: ${{ECS_AGENT_URI}/fault/v1/network-packet-loss/status