Amazon ECS-Endpunkte zur Fehlerinjektion - Amazon Elastic Container Service

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Amazon ECS-Endpunkte zur Fehlerinjektion

Der Amazon-ECS-Container-Agent fügt die ECS_AGENT_URI-Umgebungsvariable automatisch in die Amazon-ECS-Aufgabencontainer ein, um eine Methode für die Interaktion mit dem Container-Agent-API-Endpunkt bereitzustellen. Jeder Endpunkt umfasst einen /start/stop, und /status Endpunkt. Die Endpunkte akzeptieren nur Anfragen von Aufgaben, für die die Fehlerinjektion aktiviert wurde, und für jeden Endpunkt gilt ein Ratenlimit von 1 Anfrage pro 5 Sekunden pro Container. Eine Überschreitung dieses Limits führt zu einem Fehler.

Anmerkung

Amazon ECS Agent version 1.88.0+ ist erforderlich, um die Fault Injection-Endpunkte zu verwenden.

Die drei Endpunkte für die Verwendung mit Fault Injection sind:

Eine erfolgreiche Anfrage führt zu einem Antwortcode von 200 mit der Meldung, running wann Sie den /start Endpunkt aufrufen, stopped für den /stop Endpunkt und/oder running oder not-running für den /status Endpunkt.

{ "Status": <string> }

Eine erfolglose Anfrage gibt einen der folgenden Fehlercodes zurück:

  • 400‐ Schlechte Anfrage

  • 409‐ Die Anfrage zur Fehlerinjektion steht im Konflikt mit einem anderen laufenden Fehler

  • 429‐ Die Anfrage wurde gedrosselt

  • 500‐ Auf dem Server ist ein unerwarteter Fehler aufgetreten

{ "Error": <string message> }
Anmerkung

Es kann entweder ein Netzwerklatenzfehler oder ein Netzwerkpaketverlust gleichzeitig auftreten. Der Versuch, mehr als eine zu injizieren, führt dazu, dass die Anfrage abgelehnt wird.

Netzwerk-Blackhole-Port-Endpunkt

Der {ECS_AGENT_URI}/fault/v1/network-blackhole-port Endpunkt leitet eingehenden oder ausgehenden Datenverkehr für einen bestimmten Port und ein bestimmtes Protokoll im Netzwerk-Namespace einer Aufgabe ab und ist mit zwei Modi kompatibel:

  • awsvpc — Die Änderungen werden auf den Netzwerk-Namespace der Aufgabe angewendet

  • host ‐ Die Änderungen werden auf die standardmäßige Netzwerk-Namespace-Container-Instance angewendet

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

Dieser Endpunkt startet die Netzwerk-Blackhole-Port-Fehlerinjektionen und hat die folgenden Parameter:

Port

Der angegebene Port, der für die Blackhole-Port-Fehlerinjektion verwendet werden soll.

Typ: Ganzzahl

Erforderlich: Ja

Protokoll

Das Protokoll, das für die Blackhole-Port-Fehlerinjektion verwendet werden soll.

Typ: Zeichenfolge

Zulässige Werte: tcp | udp

Erforderlich: Ja

TrafficType

Der von der Fault Injection verwendete Verkehrstyp.

Typ: Zeichenfolge

Zulässige Werte: ingress | egress

Erforderlich: Ja

SourcesToFilter

Ein JSON-Array von IPv4 Adressen oder CIDR-Blöcken, die vor dem Fehler geschützt sind.

Typ: Zeichenfolgen-Array

Erforderlich: Nein

Im Folgenden finden Sie eine Beispielanforderung für die Verwendung des start Endpunkts (ersetzen Sie die red Werte durch Ihre eigenen):

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

Dieser Endpunkt stoppt den in der Anfrage angegebenen Fehler. Dieser Endpunkt hat die folgenden Parameter:

Port

Der von dem Fehler betroffene Port, der gestoppt werden sollte.

Typ: Ganzzahl

Erforderlich: Ja

Protokoll

Das Protokoll, das verwendet werden soll, um den Fehler zu beenden.

Typ: Zeichenfolge

Zulässige Werte: tcp | udp

Erforderlich: Ja

TrafficType

Der von der Fehlerinjektion verwendete Verkehrstyp.

Typ: Zeichenfolge

Zulässige Werte: ingress | egress

Erforderlich: Ja

Im Folgenden finden Sie ein Beispiel für eine Anfrage zur Verwendung des stop Endpunkts (ersetzen Sie die red Werte durch Ihre eigenen):

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

Dieser Endpunkt wird verwendet, um den Status der Fehlerinjektion zu überprüfen. Dieser Endpunkt hat die folgenden Parameter:

Port

Der betroffene Port, um den Status des Fehlers zu überprüfen.

Typ: Ganzzahl

Erforderlich: Ja

Protokoll

Das Protokoll, das bei der Überprüfung des Fehlerstatus verwendet werden soll.

Typ: Zeichenfolge

Zulässige Werte: tcp | udp

Erforderlich: Ja

TrafficType

Der von der Fehlerinjektion verwendete Verkehrstyp.

Typ: Zeichenfolge

Zulässige Werte: ingress | egress

Erforderlich: Ja

Im Folgenden finden Sie ein Beispiel für eine Anfrage zur Verwendung des status Endpunkts (ersetzen Sie die red Werte durch Ihre eigenen):

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

Endpunkt der Netzwerk-Latenz

Der {ECS_AGENT_URI}/fault/v1/network-latency Endpunkt fügt der Netzwerkschnittstelle der Aufgabe Verzögerung und Jitter für den Datenverkehr zu bestimmten Quellen hinzu. Der Endpunkt ist mit zwei Modi kompatibel:

  • awsvpc — Die Änderungen werden auf die Netzwerkschnittstelle der Aufgabe angewendet

  • host ‐ Die Änderungen werden auf die Standard-Netzwerkschnittstelle angewendet

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

Dieser /start Endpunkt beginnt mit der Netzwerklatenzfehlerinjektion und hat die folgenden Parameter:

DelayMilliseconds

Die Anzahl der Millisekunden Verzögerung, die der Netzwerkschnittstelle hinzugefügt werden muss, um sie für die Fehlerinjektion zu verwenden.

Typ: Ganzzahl

Erforderlich: Ja

JitterMilliseconds

Die Anzahl der Millisekunden an Jitter, die der Netzwerkschnittstelle hinzugefügt werden müssen, um sie für die Fehlerinjektion zu verwenden.

Typ: Ganzzahl

Erforderlich: Ja

Quellen

Ein JSON-Array von IPv4 Adressen oder CIDR-Blöcken, die als Ziel für die Verwendung bei der Fehlerinjektion dienen.

Typ: Zeichenfolgen-Array

Erforderlich: Ja

SourcesToFilter

Ein JSON-Array von IPv4 Adressen oder CIDR-Blöcken, die vor dem Fehler geschützt sind. SourcesToFilterhat Vorrang vor. Sources

Typ: Zeichenfolgen-Array

Erforderlich: Nein

Im Folgenden finden Sie eine Beispielanforderung für die Verwendung des /start Endpunkts (ersetzen Sie die red Werte durch Ihre eigenen):

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

Der {ECS_AGENT_URI}/fault/v1/network-latency/stop Endpunkt stoppt den Fehler und {ECS_AGENT_URI}/fault/v1/network-latency/status überprüft dann den Status des Fehlers.

Im Folgenden finden Sie zwei Beispielanfragen für die Verwendung der /status Endpunkte /stop und. Beide verwenden die POST HTTP Methode.

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

Endpunkt für den Verlust von Netzwerkpaketen

Der {ECS_AGENT_URI}/fault/v1/network-packet-loss Endpunkt fügt der angegebenen Netzwerkschnittstelle Paketverlust hinzu. Dieser Endpunkt ist mit zwei Modi kompatibel:

  • awsvpc — Die Änderungen werden auf die Netzwerkschnittstelle der Aufgabe angewendet

  • host ‐ Die Änderungen werden auf die Standard-Netzwerkschnittstelle angewendet

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

Dieser /start Endpunkt beginnt mit der Fehlerinjektion bei Netzwerkpaketverlust und hat die folgenden Parameter:

LossPercent

Der Prozentsatz des Paketverlusts

Typ: Ganzzahl

Erforderlich: Ja

Quellen

Ein JSON-Array von IPv4 Adressen oder CIDR-Blöcken, das für die Fehlerinjektionstests verwendet werden soll.

Typ: Zeichenfolgen-Array

Erforderlich: Ja

SourcesToFilter

Ein JSON-Array von IPv4 Adressen oder CIDR-Blöcken, die vor dem Fehler geschützt sind. SourcesToFilterhat Vorrang vor. Sources

Typ: Zeichenfolgen-Array

Erforderlich: Nein

Im Folgenden finden Sie eine Beispielanforderung für die Verwendung des start Endpunkts (ersetzen Sie die red Werte durch Ihre eigenen):

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

Der {ECS_AGENT_URI}/fault/v1/network-packet-loss/stop Endpunkt stoppt den Fehler und {ECS_AGENT_URI}/fault/v1/network-packet-loss/status überprüft dann den Status des Fehlers. Es wird jeweils nur einer von jedem Fehlertyp unterstützt.

Im Folgenden finden Sie zwei Beispielanfragen für die Verwendung der /status Endpunkte /stop und. Beide verwenden die POST HTTP Methode.

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