Wählen Sie Ihre Cookie-Einstellungen aus

Wir verwenden essentielle Cookies und ähnliche Tools, die für die Bereitstellung unserer Website und Services erforderlich sind. Wir verwenden Performance-Cookies, um anonyme Statistiken zu sammeln, damit wir verstehen können, wie Kunden unsere Website nutzen, und Verbesserungen vornehmen können. Essentielle Cookies können nicht deaktiviert werden, aber Sie können auf „Anpassen“ oder „Ablehnen“ klicken, um Performance-Cookies abzulehnen.

Wenn Sie damit einverstanden sind, verwenden AWS und zugelassene Drittanbieter auch Cookies, um nützliche Features der Website bereitzustellen, Ihre Präferenzen zu speichern und relevante Inhalte, einschließlich relevanter Werbung, anzuzeigen. Um alle nicht notwendigen Cookies zu akzeptieren oder abzulehnen, klicken Sie auf „Akzeptieren“ oder „Ablehnen“. Um detailliertere Entscheidungen zu treffen, klicken Sie auf „Anpassen“.

Ziele für AWS FIS

Fokusmodus
Ziele für AWS FIS - AWS Fehlerinjektionsservice

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.

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.

Ein Ziel ist eine oder mehrere AWS Ressourcen, für die der AWS AWS Fault Injection Service (FIS) während eines Experiments eine Aktion ausführt. Ziele können sich in demselben AWS-Konto wie das Experiment oder in einem anderen Konto befinden, wenn ein Experiment mit mehreren Konten verwendet wird. Weitere Informationen zum Targeting von Ressourcen in einem anderen Konto finden Sie unterArbeiten mit Multi-Account-Experimenten für AWS FIS.

Sie definieren Ziele, wenn Sie eine Versuchsvorlage erstellen. Sie können dasselbe Ziel für mehrere Aktionen in Ihrer Experimentvorlage verwenden.

AWS FIS identifiziert alle Ziele zu Beginn des Experiments, bevor eine der Aktionen im Aktionssatz gestartet wird. AWS FIS verwendet die Zielressourcen, die es für das gesamte Experiment auswählt. Wenn keine Ziele gefunden werden, schlägt das Experiment fehl.

Zielsyntax

Das Folgende ist die Syntax für ein Ziel.

{ "targets": { "target_name": { "resourceType": "resource-type", "resourceArns": [ "resource-arn" ], "resourceTags": { "tag-key": "tag-value" }, "parameters": { "parameter-name": "parameter-value" }, "filters": [ { "path": "path-string", "values": ["value-string"] } ], "selectionMode": "value" } } }

Wenn Sie ein Ziel definieren, geben Sie Folgendes an:

target_name

Ein Name für das Ziel.

resourceType

Der Ressourcentyp.

resourceArns

Die Amazon-Ressourcennamen (ARN) bestimmter Ressourcen.

resourceTags

Die Tags, die auf bestimmte Ressourcen angewendet wurden.

parameters

Die Parameter, die Ziele anhand bestimmter Attribute identifizieren.

filters

Der Ressourcenfilter erfasst die identifizierten Zielressourcen anhand bestimmter Attribute.

selectionMode

Der Auswahlmodus für die identifizierten Ressourcen.

Beispiele finden Sie unter Beispielziele.

Ressourcentypen

Jede AWS FIS-Aktion wird für einen bestimmten AWS Ressourcentyp ausgeführt. Wenn Sie ein Ziel definieren, müssen Sie genau einen Ressourcentyp angeben. Wenn Sie ein Ziel für eine Aktion angeben, muss es sich bei dem Ziel um den Ressourcentyp handeln, der von der Aktion unterstützt wird.

Die folgenden Ressourcentypen werden von AWS FIS unterstützt:

  • aws:arc: zonal-shift-managed-resource — Eine AWS Ressource, die bei ARC Zonal Shift registriert ist

  • aws:dynamodb:global-table — Eine globale Amazon DynamoDB-Tabelle

  • aws:ec2:autoscaling-group — Eine Amazon Auto Scaling Scaling-Gruppe EC2

  • aws:ec2:ebs-volume — Ein Amazon EBS-Volume

  • aws:ec2:instance — Eine Amazon-Instance EC2

  • aws:ec2:spot-instance — Eine Amazon Spot-Instance EC2

  • aws:ec2:subnet — Ein Amazon VPC-Subnetz

  • aws:ec2:transit-gateway — Ein Transit-Gateway

  • aws:ecs:cluster — Ein Amazon ECS-Cluster

  • aws:ecs:task — Eine Amazon ECS-Aufgabe

  • aws:eks:cluster — Ein Amazon EKS-Cluster

  • aws:eks:nodegroup — Eine Amazon EKS-Knotengruppe

  • aws:eks:pod — Ein Kubernetes-Pod

  • aws:elasticache:replicationgroup ElastiCache — Eine Replikationsgruppe

  • aws:iam:role — Eine IAM-Rolle

  • aws:lambda:function — AWS Lambda Eine Funktion

  • aws:rds:cluster — Ein Amazon Aurora Aurora-DB-Cluster

  • aws:rds:db — Eine Amazon RDS-DB-Instance

  • aws:s3:bucket — Ein Amazon S3 S3-Bucket

Identifizieren Sie die Zielressourcen

Wenn Sie in der AWS FIS-Konsole ein Ziel definieren, können Sie bestimmte AWS Ressourcen (eines bestimmten Ressourcentyps) als Ziel auswählen. Oder Sie können AWS FIS anhand der von Ihnen angegebenen Kriterien eine Gruppe von Ressourcen identifizieren lassen.

Um Ihre Zielressourcen zu identifizieren, können Sie Folgendes angeben:

  • Ressource IDs — Die Ressource IDs bestimmter AWS Ressourcen. Alle Ressourcen IDs müssen denselben Ressourcentyp repräsentieren.

  • Ressourcen-Tags — Die Tags, die auf bestimmte AWS Ressourcen angewendet wurden.

  • Ressourcenfilter — Der Pfad und die Werte, die Ressourcen mit bestimmten Attributen repräsentieren. Weitere Informationen finden Sie unter Ressourcenfilter.

  • Ressourcenparameter — Die Parameter, die Ressourcen darstellen, die bestimmte Kriterien erfüllen. Weitere Informationen finden Sie unter Parameter für Ressourcen.

Überlegungen
  • Sie können nicht sowohl eine Ressourcen-ID als auch ein Ressourcen-Tag für dasselbe Ziel angeben.

  • Sie können nicht sowohl eine Ressourcen-ID als auch einen Ressourcenfilter für dasselbe Ziel angeben.

  • Wenn Sie ein Ressourcen-Tag mit einem leeren Tag-Wert angeben, entspricht dies nicht einem Platzhalter. Es entspricht Ressourcen, die ein Tag mit dem angegebenen Tag-Schlüssel und einem leeren Tag-Wert haben.

  • Wenn Sie mehr als ein Tag angeben, müssen alle angegebenen Tags auf der Zielressource vorhanden sein, damit sie ausgewählt werden kann (AND).

Ressourcenfilter

Ressourcenfilter sind Abfragen, die Zielressourcen anhand bestimmter Attribute identifizieren. AWS FIS wendet die Abfrage auf die Ausgabe einer API-Aktion an, die die kanonische Beschreibung der AWS Ressource entsprechend dem von Ihnen angegebenen Ressourcentyp enthält. Ressourcen mit Attributen, die der Abfrage entsprechen, sind in der Zieldefinition enthalten.

Jeder Filter wird als Attributpfad und mögliche Werte ausgedrückt. Ein Pfad ist eine durch Punkte getrennte Folge von Elementen, die in der Ausgabe der Aktion „Beschreiben“ für eine Ressource den Pfad zum Erreichen eines Attributs beschreiben. Jede Periode steht für die Erweiterung eines Elements. Jedes Element muss in Pascal-Groß- und Kleinschreibung ausgedrückt werden, auch wenn die Ausgabe der Aktion Describe für eine Ressource in Camel-Groß- und Kleinschreibung erfolgt. Beispielsweise sollten SieAvailabilityZone, nicht availablityZone als Attributelement verwenden.

"filters": [ { "path": "Component.Component.Component", "values": [ "string" ] } ],

Die folgende Logik gilt für alle Ressourcenfilter:

  • Wenn mehrere Filter bereitgestellt werden, einschließlich Filter mit demselben Pfad, müssen alle Filter übereinstimmen, damit eine Ressource ausgewählt werden kann — AND

  • Wenn mehrere Werte für einen einzelnen Filter bereitgestellt werden, muss ein beliebiger Wert abgeglichen werden, damit eine Ressource ausgewählt werden kann — OR

  • Wenn an der Pfadposition des Describe-API-Aufrufs mehrere Werte gefunden werden, muss ein beliebiger Wert abgeglichen werden, damit eine Ressource ausgewählt werden kann — OR

  • Um anhand von Tag-Schlüssel/Wert-Paaren abzugleichen, sollten Sie die Zielressourcen stattdessen anhand von Tags auswählen (siehe oben).

Die folgende Tabelle enthält die API-Aktionen und AWS CLI -Befehle, mit denen Sie die kanonischen Beschreibungen für jeden Ressourcentyp abrufen können. AWS FIS führt diese Aktionen in Ihrem Namen aus, um die von Ihnen angegebenen Filter anzuwenden. In der entsprechenden Dokumentation werden die Ressourcen beschrieben, die standardmäßig in den Ergebnissen enthalten sind. Beispielsweise könnte die Dokumentation für DescribeInstances Staaten, in denen Instanzen kürzlich beendet wurden, in den Ergebnissen erscheinen.

Ressourcentyp API-Aktion AWS CLI Befehl
aws:arc:zonal-shift-managed-resource ListManagedResources list-managed-resources
aws:ec2:autoscaling-group DescribeAutoScalingGroups describe-auto-scaling-groups
aws:ec2:ebs-volume DescribeVolumes Volumen beschreiben
aws:ec2:instance DescribeInstances Instanzen beschreiben
aws:ec2:subnet DescribeSubnets describe-subnets
aws:ec2:transit-gateway DescribeTransitGateways describe-transit-gateways
aws:ecs:cluster DescribeClusters describe-clusters
aws:ecs:task DescribeTasks Aufgaben beschreiben
aws:eks:cluster DescribeClusters describe-clusters
aws:eks:nodegroup DescribeNodegroup Knotengruppe beschreiben
aws:elasticache:replicationgroup DescribeReplicationGroups describe-replication-groups
aws:iam:role ListRoles Rollen auflisten
aws:lambda:function ListFunctions Listenfunktionen
aws:rds:cluster Beschreiben DBClusters describe-db-clusters
aws:rds:db Beschreiben DBInstances describe-db-instances
aws:s3:bucket ListBuckets list-buckets
aws:dynamodb:global-table DescribeTable Tabelle beschreiben

Beispiele finden Sie unter Beispielfilter.

Parameter für Ressourcen

Ressourcenparameter identifizieren Zielressourcen nach bestimmten Kriterien.

Der folgende Ressourcentyp unterstützt Parameter.

aws:ec2:ebs-volume
  • availabilityZoneIdentifier— Der Code (z. B. us-east-1a) der Availability Zone, die die Zielvolumes enthält.

aws:ec2:subnet
  • availabilityZoneIdentifier— Der Code (z. B. us-east-1a) oder die AZ-ID (z. B. use1-az1) der Availability Zone, die die Zielsubnetze enthält.

  • vpc— Die VPC, die die Zielsubnetze enthält. Unterstützt nicht mehr als eine VPC pro Konto.

aws:ecs:task
  • cluster— Der Cluster, der die Zielaufgaben enthält.

  • service— Der Dienst, der die Zielaufgaben enthält.

aws:eks:pod
  • availabilityZoneIdentifier – Optional. Die Availability Zone, die die Ziel-Pods enthält. Beispiel, us-east-1d. Wir bestimmen die Availability Zone eines Pods, indem wir seine Host-IP und die CIDR des Cluster-Subnetzes vergleichen.

  • clusterIdentifier – Erforderlich. Der Name oder ARN des EKS-Ziel-Clusters.

  • namespace – Erforderlich. Der Kubernetes-Namespace der Ziel-Pods.

  • selectorType – Erforderlich. Der Selektortyp. Die möglichen Werte sind labelSelector, deploymentName und podName.

  • selectorValue – Erforderlich. Der Selektorwert. Dieser Wert hängt vom Wert von selectorType ab.

  • targetContainerName – Optional. Der Name des Zielcontainers, wie in der Pod-Spezifikation definiert. Die Standardeinstellung ist der erste Container, der in jeder Ziel-Pod-Spezifikation definiert ist.

aws:lambda:function
  • functionQualifier – Optional. Die Version oder der Alias der Zielfunktion. Wenn kein Qualifier angegeben ist, werden alle Aufrufe für das Targeting berücksichtigt. Wenn ein Alias mit mehreren Versionen angegeben wird, werden alle im Alias enthaltenen Versionen für das Targeting berücksichtigt, sofern sie mit einem ARN aufgerufen werden, der den Alias enthält. Wenn der spezielle Alias verwendet $LATEST wird, werden Aufrufe der Basisfunktion ARN und Aufrufe, die $LATEST im ARN enthalten sind, für die Fehlerinjektion berücksichtigt. Weitere Informationen zu Lambda-Versionen finden Sie im AWS Lambda Benutzerhandbuch unter Lambda-Funktionsversionen verwalten.

aws:rds:cluster
  • writerAvailabilityZoneIdentifiers – Optional. Die Availability Zones des Writers des DB-Clusters. Mögliche Werte sind: eine durch Kommas getrennte Liste von Availability Zone-Identifikatoren,. all

aws:rds:db
  • availabilityZoneIdentifiers – Optional. Die Availability Zones der DB-Instance, die betroffen sein soll. Mögliche Werte sind: eine durch Kommas getrennte Liste von Availability Zone-Identifikatoren,. all

aws:elasticache:replicationgroup
  • availabilityZoneIdentifier – Erforderlich. Der Code (z. B. us-east-1a) oder die AZ-ID (z. B. use1-az1) der Availability Zone, die die Zielknoten enthält.

Auswahlmodus

Sie können die identifizierten Ressourcen eingrenzen, indem Sie einen Auswahlmodus angeben. AWS FIS unterstützt die folgenden Auswahlmodi:

  • ALL— Führt die Aktion auf allen Zielen aus.

  • COUNT(n)— Führt die Aktion für die angegebene Anzahl von Zielen aus, die nach dem Zufallsprinzip aus den identifizierten Zielen ausgewählt wurden. Beispielsweise wählt COUNT (1) eines der identifizierten Ziele aus.

  • PERCENT(n)— Führt die Aktion für den angegebenen Prozentsatz von Zielen aus, die nach dem Zufallsprinzip aus den identifizierten Zielen ausgewählt wurden. PERCENT (25) wählt beispielsweise 25% der identifizierten Ziele aus.

Wenn Sie über eine ungerade Anzahl von Ressourcen verfügen und 50% angeben, rundet AWS FIS ab. Wenn Sie beispielsweise fünf EC2 Amazon-Instances als Ziele hinzufügen und den Umfang auf 50% erhöhen, rundet AWS FIS auf zwei Instances ab. Sie können keinen Prozentsatz angeben, der weniger als eine Ressource ist. Wenn Sie beispielsweise vier EC2 Amazon-Instances hinzufügen und den Umfang auf 5% erhöhen, kann AWS FIS keine Instance auswählen.

Wenn Sie mehrere Ziele mit demselben Zielressourcentyp definieren, kann AWS FIS dieselbe Ressource mehrmals auswählen.

Unabhängig davon, welchen Auswahlmodus Sie verwenden, schlägt das Experiment fehl, wenn der von Ihnen angegebene Bereich keine Ressourcen identifiziert.

Beispielziele

Im Folgenden finden Sie Beispielziele.

Beispiel: Instances in der angegebenen VPC mit den angegebenen Tags

Die möglichen Ziele für dieses Beispiel sind EC2 Amazon-Instances in der angegebenen VPC mit dem Tag env=prod. Der Auswahlmodus legt fest, dass AWS FIS eines dieser Ziele nach dem Zufallsprinzip auswählt.

{ "targets": { "randomInstance": { "resourceType": "aws:ec2:instance", "resourceTags": { "env": "prod" }, "filters": [ { "path": "VpcId", "values": [ "vpc-aabbcc11223344556" ] } ], "selectionMode": "COUNT(1)" } } }
Beispiel: Aufgaben mit den angegebenen Parametern

Die möglichen Ziele für dieses Beispiel sind Amazon ECS-Aufgaben mit dem angegebenen Cluster und Service. Der Auswahlmodus gibt an, dass AWS FIS eines dieser Ziele nach dem Zufallsprinzip auswählt.

{ "targets": { "randomTask": { "resourceType": "aws:ecs:task", "parameters": { "cluster": "myCluster", "service": "myService" }, "selectionMode": "COUNT(1)" } } }

Beispielfilter

Im Folgenden finden Sie Beispielfilter.

Beispiel: EC2 Instanzen

Wenn Sie einen Filter für eine Aktion angeben, die den Ressourcentyp aws:ec2:instance unterstützt, verwendet AWS FIS den EC2 describe-instances Amazon-Befehl und wendet den Filter an, um die Ziele zu identifizieren.

Der describe-instances Befehl gibt eine JSON-Ausgabe zurück, in der sich jede Instance einer Struktur unterordnet. Instances Im Folgenden finden Sie eine Teilausgabe, die Felder enthält, die mit gekennzeichnet sinditalics. Wir werden Beispiele bereitstellen, die diese Felder verwenden, um einen Attributpfad aus der Struktur der JSON-Ausgabe anzugeben.

{ "Reservations": [ { "Groups": [], "Instances": [ { "ImageId": "ami-00111111111111111", "InstanceId": "i-00aaaaaaaaaaaaaaa", "InstanceType": "t2.micro", "KeyName": "virginia-kp", "LaunchTime": "2020-09-30T11:38:17.000Z", "Monitoring": { "State": "disabled" }, "Placement": { "AvailabilityZone": "us-east-1a", "GroupName": "", "Tenancy": "default" }, "PrivateDnsName": "ip-10-0-1-240.ec2.internal", "PrivateIpAddress": "10.0.1.240", "ProductCodes": [], "PublicDnsName": "ec2-203-0-113-17.compute-1.amazonaws.com", "PublicIpAddress": "203.0.113.17", "State": { "Code": 16, "Name": "running" }, "StateTransitionReason": "", "SubnetId": "subnet-aabbcc11223344556", "VpcId": "vpc-00bbbbbbbbbbbbbbbbb", ... "NetworkInterfaces": [ { ... "Groups": [ { "GroupName": "sec-group-1", "GroupId": "sg-a0011223344556677" }, { "GroupName": "sec-group-1", "GroupId": "sg-b9988776655443322" } ], ... }, ... }, ... { ... } ], "OwnerId": "123456789012", "ReservationId": "r-aaaaaabbbbb111111" }, ... ] }

Um mithilfe eines Ressourcenfilters Instanzen in einer bestimmten Availability Zone auszuwählen, geben Sie den Attributpfad für AvailabilityZone und den Code für die Availability Zone als Wert an. Zum Beispiel:

"filters": [ { "path": "Placement.AvailabilityZone", "values": [ "us-east-1a" ] } ],

Um Instances in einem bestimmten Subnetz mithilfe eines Ressourcenfilters auszuwählen, geben Sie den Attributpfad für SubnetId und die ID des Subnetzes als Wert an. Zum Beispiel:

"filters": [ { "path": "SubnetId", "values": [ "subnet-aabbcc11223344556" ] } ],

Um Instances auszuwählen, die sich in einem bestimmten Instanzstatus befinden, geben Sie den Attributpfad für Name und einen der folgenden Statusnamen als Wert an: pending | | | running | shutting-down terminated |stopping. stopped Zum Beispiel:

"filters": [ { "path": "State.Name", "values": [ "running" ] } ],

Um Instances auszuwählen, denen eine beliebige Anzahl von Sicherheitsgruppen angehängt ist, geben Sie einen einzelnen Filter mit dem Attributpfad für GroupId und mehrere Sicherheitsgruppen an IDs. Zum Beispiel:

"filters": [ { "path": "NetworkInterfaces.Groups.GroupId", "values": [ "sg-a0011223344556677", "sg-f1100110011001100" ] } ],

Um Instances auszuwählen, denen alle Sicherheitsgruppen angehängt sind, geben Sie mehrere Filter mit dem Attributpfad für GroupId und eine einzelne Sicherheitsgruppen-ID für jeden Filter an. Zum Beispiel:

"filters": [ { "path": "NetworkInterfaces.Groups.GroupId", "values": [ "sg-a0011223344556677" ] }, { "path": "NetworkInterfaces.Groups.GroupId", "values": [ "sg-b9988776655443322" ] } ],
Beispiel: Amazon RDS-Cluster (DB-Cluster)

Wenn Sie einen Filter für eine Aktion angeben, die den Ressourcentyp aws:rds:cluster unterstützt, führt AWS FIS den Amazon describe-db-clusters RDS-Befehl aus und wendet den Filter an, um die Ziele zu identifizieren.

Der describe-db-clusters Befehl gibt für jeden DB-Cluster eine JSON-Ausgabe zurück, die der folgenden ähnelt. Das Folgende ist eine Teilausgabe, die Felder enthält, die mit gekennzeichnet sinditalics. Wir werden Beispiele bereitstellen, die diese Felder verwenden, um einen Attributpfad aus der Struktur der JSON-Ausgabe anzugeben.

[ { "AllocatedStorage": 1, "AvailabilityZones": [ "us-east-2a", "us-east-2b", "us-east-2c" ], "BackupRetentionPeriod": 7, "DatabaseName": "", "DBClusterIdentifier": "database-1", "DBClusterParameterGroup": "default.aurora-postgresql11", "DBSubnetGroup": "default-vpc-01234567abc123456", "Status": "available", "EarliestRestorableTime": "2020-11-13T15:08:32.211Z", "Endpoint": "database-1.cluster-example.us-east-2.rds.amazonaws.com", "ReaderEndpoint": "database-1.cluster-ro-example.us-east-2.rds.amazonaws.com", "MultiAZ": false, "Engine": "aurora-postgresql", "EngineVersion": "11.7", ... } ]

Um einen Ressourcenfilter anzuwenden, der nur die DB-Cluster zurückgibt, die eine bestimmte DB-Engine verwenden, geben Sie den Attributpfad als Engine und den Wert an, aurora-postgresql wie im folgenden Beispiel gezeigt.

"filters": [ { "path": "Engine", "values": [ "aurora-postgresql" ] } ],

Um einen Ressourcenfilter anzuwenden, der nur die DB-Cluster in einer bestimmten Availability Zone zurückgibt, geben Sie den Attributpfad und den Wert an, wie im folgenden Beispiel gezeigt.

"filters": [ { "path": "AvailabilityZones", "values": [ "us-east-2a" ] } ],
DatenschutzNutzungsbedingungen für die WebsiteCookie-Einstellungen
© 2025, Amazon Web Services, Inc. oder Tochtergesellschaften. Alle Rechte vorbehalten.