Points de terminaison d'injection de pannes Amazon ECS - Amazon Elastic Container Service

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Points de terminaison d'injection de pannes Amazon ECS

L'agent de conteneur Amazon ECS injecte automatiquement la variable d'environnement ECS_AGENT_URI dans les conteneurs des tâches Amazon ECS afin de fournir une méthode permettant d'interagir avec le point de terminaison de l'API de l'agent de conteneur. Chaque point de terminaison inclut un point de terminaison /start/stop, et un point de /status terminaison. Les points de terminaison n'acceptent que les demandes provenant de tâches qui ont activé l'injection d'erreurs, et chaque point de terminaison est limité à une demande toutes les 5 secondes par conteneur. Le dépassement de cette limite entraîne une erreur.

Note

L'agent Amazon ECS version 1.88.0+ est requis pour utiliser les points de terminaison d'injection d'erreurs.

Les trois points de terminaison à utiliser avec l'injection de défauts sont les suivants :

Une demande réussie génère un code de réponse 200 contenant un message indiquant running quand vous appelez le /start point de terminaison, stopped pour le point de /stop terminaison running et/ou not-running pour le /status point de terminaison.

{ "Status": <string> }

Une demande infructueuse renvoie l'un des codes d'erreur suivants :

  • 400‐ Mauvaise demande

  • 409‐ La demande d'injection de défauts est en conflit avec une autre erreur en cours

  • 429‐ La demande a été limitée

  • 500‐ Une erreur inattendue s'est produite sur le serveur

{ "Error": <string message> }
Note

Un défaut de latence réseau ou un défaut de perte de paquets réseau peuvent être injectés à la fois. Si vous essayez d'en injecter plusieurs, la demande est rejetée.

Point de terminaison du port Blackhole du réseau

Le {ECS_AGENT_URI}/fault/v1/network-blackhole-port point de terminaison supprime le trafic entrant ou sortant pour un port et un protocole spécifiques dans l'espace de noms réseau d'une tâche et est compatible avec deux modes :

  • awsvpc ‐ les modifications sont appliquées à l'espace de noms du réseau de tâches

  • host ‐ les modifications sont appliquées à l'instance de conteneur d'espace de noms réseau par défaut

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

Ce point de terminaison lance les injections de défauts du port Blackhole du réseau et possède les paramètres suivants :

Port

Port spécifié à utiliser pour l'injection des défauts du port Blackhole.

Type : entier

Obligatoire : oui

Protocole

Protocole à utiliser pour l'injection de défauts dans le port Blackhole.

Type : String

Valeurs valides : tcp | udp

Obligatoire : oui

TrafficType

Type de trafic utilisé par l'injection de défauts.

Type : String

Valeurs valides : ingress | egress

Obligatoire : oui

SourcesToFilter

Tableau JSON d' IPv4 adresses ou de blocs CIDR protégés contre le défaut.

Type : tableau de chaînes

Obligatoire : non

Voici un exemple de demande d'utilisation du start point de terminaison (remplacez les red valeurs par les vôtres) :

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

Ce point de terminaison arrête le défaut spécifié dans la demande. Ce point de terminaison possède les paramètres suivants :

Port

Port concerné par le défaut qui doit être arrêté.

Type : entier

Obligatoire : oui

Protocole

Protocole à utiliser pour arrêter le défaut.

Type : String

Valeurs valides : tcp | udp

Obligatoire : oui

TrafficType

Type de trafic utilisé par l'injection de défauts.

Type : String

Valeurs valides : ingress | egress

Obligatoire : oui

Voici un exemple de demande d'utilisation du stop point de terminaison (remplacez les red valeurs par les vôtres) :

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

Ce point de terminaison est utilisé pour vérifier l'état de l'injection de défauts. Ce point de terminaison possède les paramètres suivants :

Port

Le port concerné pour vérifier l'état du défaut.

Type : entier

Obligatoire : oui

Protocole

Protocole à utiliser lors de la vérification de l'état du défaut.

Type : String

Valeurs valides : tcp | udp

Obligatoire : oui

TrafficType

Type de trafic utilisé par l'injection de défauts.

Type : String

Valeurs valides : ingress | egress

Obligatoire : oui

Voici un exemple de demande d'utilisation du status point de terminaison (remplacez les red valeurs par les vôtres) :

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

Point de latence du réseau

Le {ECS_AGENT_URI}/fault/v1/network-latency point de terminaison ajoute du retard et de la gigue à l'interface réseau de la tâche pour le trafic vers une source spécifique. Le terminal est compatible avec deux modes :

  • awsvpc ‐ les modifications sont appliquées à l'interface réseau des tâches

  • hôte ‐ les modifications sont appliquées à l'interface réseau par défaut

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

Ce /start point de terminaison commence l'injection des défauts de latence du réseau et possède les paramètres suivants :

DelayMilliseconds

Le nombre de millisecondes de délai à ajouter à l'interface réseau à utiliser pour l'injection de défauts.

Type : entier

Obligatoire : oui

JitterMilliseconds

Le nombre de millisecondes de gigue à ajouter à l'interface réseau à utiliser pour l'injection de défauts.

Type : entier

Obligatoire : oui

Sources

Tableau JSON d' IPv4 adresses ou de blocs CIDR destinés à être utilisés pour l'injection d'erreurs.

Type : tableau de chaînes

Obligatoire : oui

SourcesToFilter

Tableau JSON d' IPv4 adresses ou de blocs CIDR protégés contre le défaut. SourcesToFiltera la priorité surSources.

Type : tableau de chaînes

Obligatoire : non

Voici un exemple de demande d'utilisation du /start point de terminaison (remplacez les red valeurs par les vôtres) :

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

Le {ECS_AGENT_URI}/fault/v1/network-latency/stop point de terminaison arrête le défaut et {ECS_AGENT_URI}/fault/v1/network-latency/status vérifie l'état du défaut.

Voici deux exemples de demandes d'utilisation des /status points de terminaison /stop et. Les deux utilisent la POST HTTP méthode.

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

Point de terminaison de perte de paquets réseau

Le {ECS_AGENT_URI}/fault/v1/network-packet-loss point de terminaison ajoute la perte de paquets à l'interface réseau donnée. Ce terminal est compatible avec deux modes :

  • awsvpc ‐ les modifications sont appliquées à l'interface réseau des tâches

  • hôte ‐ les modifications sont appliquées à l'interface réseau par défaut

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

Ce /start point de terminaison lance l'injection d'erreur de perte de paquets réseau et possède les paramètres suivants :

LossPercent

Le pourcentage de perte de paquets

Type : entier

Obligatoire : oui

Sources

Un tableau JSON d' IPv4 adresses ou de blocs CIDR à utiliser pour les tests d'injection d'erreurs.

Type : tableau de chaînes

Obligatoire : oui

SourcesToFilter

Tableau JSON d' IPv4 adresses ou de blocs CIDR protégés contre le défaut. SourcesToFiltera la priorité surSources.

Type : tableau de chaînes

Obligatoire : non

Voici un exemple de demande d'utilisation du start point de terminaison (remplacez les red valeurs par les vôtres) :

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

Le {ECS_AGENT_URI}/fault/v1/network-packet-loss/stop point de terminaison arrête le défaut et {ECS_AGENT_URI}/fault/v1/network-packet-loss/status vérifie l'état du défaut. Un seul de chaque type de défaut est pris en charge à la fois.

Voici deux exemples de demandes d'utilisation des /status points de terminaison /stop et. Les deux utilisent la POST HTTP méthode.

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