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 /status. Les points de terminaison n’acceptent que les requêtes provenant de tâches qui ont activé l’injection de pannes, et chaque point de terminaison est limité à une requête toutes les cinq secondes par conteneur. Le dépassement de cette limite entraîne une erreur.

Note

La version 1.88.0+ de l’agent Amazon ECS est requise pour utiliser les points de terminaison d’injection de pannes.

Les trois points de terminaison à utiliser avec l’injection de pannes sont les suivants :

Une requête réussie génère un code de réponse 200 avec un message running lorsque vous appelez le point de terminaison /start, stopped pour le point de terminaison /stop et running ou not-running pour le point de terminaison /status.

{ "Status": <string> }

Une requête infructueuse renvoie l’un des codes d’erreur suivants :

  • 400 : requête erronée

  • 409 : la requête d’injection de pannes est en conflit avec une autre injection panne en cours

  • 429 : la requête a été limitée

  • 500 : une erreur inattendue s’est produite sur le serveur

{ "Error": <string message> }
Note

Une seule erreur de latence réseau ou une seule erreur de perte de paquets réseau peut être injectée à la fois. Toute tentative d’injection multiple entraîne le rejet de la requête.

Point de terminaison du port réseau blackhole

Le point de terminaison {ECS_AGENT_URI}/fault/v1/network-blackhole-port élimine 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

  • hôte : 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 démarre les injections de pannes du port réseau blackhole et possède les paramètres suivants :

Port

Le port spécifié à utiliser pour l’injection de pannes du port blackhole.

Type : Integer

Obligatoire : oui

Protocole

Le port à utiliser pour l’injection de pannes du port blackhole.

Type : Chaîne

Valeurs valides : tcp | udp

Obligatoire : oui

TrafficType

Le type de trafic utilisé par l’injection de pannes.

Type : Chaîne

Valeurs valides : ingress | egress

Obligatoire : oui

SourcesToFilter

Un tableau JSON contenant des IPv6 adresses IPv4 ou des 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 la panne spécifiée dans la requête. Ce point de terminaison a les paramètres suivants :

Port

Le port concerné par la panne qui doit être arrêtée.

Type : Integer

Obligatoire : oui

Protocole

Le protocole à utiliser pour arrêter la panne.

Type : Chaîne

Valeurs valides : tcp | udp

Obligatoire : oui

TrafficType

Le type de trafic utilisé par l’injection de pannes.

Type : Chaîne

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 pannes. Ce point de terminaison a les paramètres suivants :

Port

Le port concerné pour vérifier l’état de la panne.

Type : Integer

Obligatoire : oui

Protocole

Le protocole à utiliser pour vérifier l’état de la panne.

Type : Chaîne

Valeurs valides : tcp | udp

Obligatoire : oui

TrafficType

Le type de trafic utilisé par l’injection de pannes.

Type : Chaîne

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 terminaison de latence du réseau

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

  • awsvpc : les modifications sont appliquées à l’interface réseau de la tâche

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

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

Ce point de terminaison /start commence l’injection de pannes 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 pannes.

Type : Integer

Obligatoire : oui

JitterMilliseconds

Le nombre de millisecondes d’instabilité à ajouter à l’interface réseau à utiliser pour l’injection de pannes.

Type : Integer

Obligatoire : oui

Sources

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

Type : tableau de chaînes

Obligatoire : oui

SourcesToFilter

Un tableau JSON contenant des IPv6 adresses IPv4 ou des 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 point de terminaison {ECS_AGENT_URI}/fault/v1/network-latency/stop 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 requêtes d’utilisation des points de terminaison /stop et /status. Les deux utilisent la méthode POST HTTP.

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 point de terminaison {ECS_AGENT_URI}/fault/v1/network-packet-loss ajoute la perte de paquets à l’interface réseau donnée. Ce point de terminaison est compatible avec deux modes :

  • awsvpc : les modifications sont appliquées à l’interface réseau de la tâche

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

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

Ce point de terminaison /start démarre l’injection de pannes de perte de paquets réseau et possède les paramètres suivants :

LossPercent

Le pourcentage de perte de paquets

Type : Integer

Obligatoire : oui

Sources

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

Type : tableau de chaînes

Obligatoire : oui

SourcesToFilter

Un tableau JSON contenant des IPv6 adresses IPv4 ou des 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 point de terminaison {ECS_AGENT_URI}/fault/v1/network-packet-loss/stop arrête le défaut et {ECS_AGENT_URI}/fault/v1/network-packet-loss/status vérifie l’état du défaut. Un seul type de défaut est pris en charge à la fois.

Voici deux exemples de requêtes d’utilisation des points de terminaison /stop et /status. Les deux utilisent la méthode POST HTTP.

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