Seleccione sus preferencias de cookies

Usamos cookies esenciales y herramientas similares que son necesarias para proporcionar nuestro sitio y nuestros servicios. Usamos cookies de rendimiento para recopilar estadísticas anónimas para que podamos entender cómo los clientes usan nuestro sitio y hacer mejoras. Las cookies esenciales no se pueden desactivar, pero puede hacer clic en “Personalizar” o “Rechazar” para rechazar las cookies de rendimiento.

Si está de acuerdo, AWS y los terceros aprobados también utilizarán cookies para proporcionar características útiles del sitio, recordar sus preferencias y mostrar contenido relevante, incluida publicidad relevante. Para aceptar o rechazar todas las cookies no esenciales, haga clic en “Aceptar” o “Rechazar”. Para elegir opciones más detalladas, haga clic en “Personalizar”.

Objetivos del AWS FIS

Modo de enfoque
Objetivos del AWS FIS - AWS Servicio de inyección de averías

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Un objetivo es uno o más AWS recursos en los que el Servicio de Inyección de AWS Fallos (AWS FIS) realiza una acción durante un experimento. Los objetivos pueden estar en la misma cuenta de AWS que el experimento o en una cuenta diferente utilizando un experimento con varias cuentas. Para obtener más información sobre cómo recurrir a recursos de otra cuenta, consulte Trabajar con experimentos con varias cuentas para AWS FIS.

Los destinos se definen al crear una plantilla de experimento. Puede utilizar el mismo destino para varias acciones en la plantilla de experimento.

AWS El FIS identifica todos los objetivos al inicio del experimento, antes de iniciar cualquiera de las acciones del conjunto de acciones. AWS El FIS utiliza los recursos objetivo que selecciona para todo el experimento. Si no se encuentra ningún destino, el experimento falla.

Sintaxis de destino

A continuación, se presenta la sintaxis de un destino.

{ "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" } } }

Cuando se define un destino, se proporciona lo siguiente:

target_name

Un nombre para el destino.

resourceType

El tipo de recurso.

resourceArns

Los nombres de recurso de Amazon (ARN) de recursos específicos.

resourceTags

Las etiquetas aplicadas a recursos específicos.

parameters

Los parámetros que identifican los destinos mediante atributos específicos.

filters

Los filtros de recursos se centran en los recursos de destino identificados mediante atributos específicos.

selectionMode

El modo de selección de los recursos identificados.

Para ver ejemplos, consulta Ejemplos de destinos.

Tipos de recurso

Cada acción AWS del FIS se realiza en un tipo de AWS recurso específico. Cuando se define un destino, se debe especificar exactamente un tipo de recurso. Al especificar un destino para una acción, el destino debe ser el tipo de recurso compatible con la acción.

El AWS FIS admite los siguientes tipos de recursos:

  • aws:arc: zonal-shift-managed-resource — AWS Recurso registrado con el cambio zonal de ARC

  • aws:dynamodb:global-table: tabla global de Amazon DynamoDB

  • aws:ec2:autoscaling-group — Un grupo de Amazon Auto Scaling EC2

  • aws:ec2:ebs-volume: un volumen de Amazon EBS

  • aws:ec2:instance — Una instancia de Amazon EC2

  • aws:ec2:spot-instance: una instancia puntual de Amazon EC2

  • aws:ec2:subnet: una subred de Amazon VPC

  • aws:ec2:transit-gateway: puerta de enlace de tránsito

  • aws:ecs:cluster: un clúster de Amazon ECS

  • aws:ecs:task: una tarea de Amazon ECS

  • aws:eks:cluster: un clúster de Amazon EKS

  • aws:eks:nodegroup: un grupo de nodos de Amazon EKS

  • aws:eks:pod: un pod de Kubernetes

  • aws:elasticache:replicationgroup: ElastiCache un grupo de replicación

  • aws:iam:role: un rol de IAM

  • aws:lambda:function — Una función AWS Lambda

  • aws:rds:cluster: un clúster de base de datos de Amazon Aurora

  • aws:rds:db: una instancia de base de datos de Amazon RDS

  • aws:s3:bucket: bucket de Amazon S3

Identificación de recursos de destino

Al definir un objetivo en la consola AWS FIS, puede elegir AWS recursos específicos (de un tipo de recurso específico) a los que dirigirse. O bien, puede permitir que el AWS FIS identifique un grupo de recursos en función de los criterios que proporcione.

Para identificar sus recursos de destino, puede especificar lo siguiente:

  • Recurso IDs: el recurso IDs de AWS recursos específicos. Todos los recursos IDs deben representar el mismo tipo de recurso.

  • Etiquetas de recursos: las etiquetas que se aplican a AWS recursos específicos.

  • Filtros de recursos: la ruta y los valores que representan los recursos con atributos específicos. Para obtener más información, consulte Filtros de recursos.

  • Parámetros de recursos: los parámetros que representan los recursos que cumplen criterios específicos. Para obtener más información, consulte Parámetros de recursos.

Consideraciones
  • No se puede especificar a la vez un ID de recurso y una etiqueta de recurso para el mismo destino.

  • No se puede especificar a la vez un ID de recurso y un filtro de recurso para el mismo destino.

  • Si especifica una etiqueta de recurso con un valor de etiqueta vacío, no equivale a un comodín. Coincide con recursos que tienen una etiqueta con la clave de etiqueta especificada y un valor de etiqueta vacío.

  • Si especifica más de una etiqueta, todas las etiquetas especificadas deben estar presentes en el recurso de destino para poder seleccionarlo (AND).

Filtros de recursos

Los filtros de recursos son consultas que identifican los recursos de destino según atributos específicos. AWS El FIS aplica la consulta al resultado de una acción de API que contiene la descripción canónica del AWS recurso, según el tipo de recurso que se especifique. Los recursos que tienen atributos que coinciden con la consulta se incluyen en la definición de destino.

Cada filtro se expresa como una ruta de atributos y valores posibles. Una ruta es una secuencia de elementos, separados por puntos, que describen la ruta para llegar a un atributo en el resultado de la acción Describe de un recurso. Cada punto representa la expansión de un elemento. Cada elemento debe expresarse en tipo Pascal, incluso aunque el resultado de la acción Describir de un recurso esté en formato camel. Por ejemplo, debe utilizar AvailabilityZone, no availablityZone como elemento de atributo.

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

La siguiente lógica se aplica a todos los filtros de recursos:

  • Si se proporcionan varios filtros, incluidos los filtros con la misma ruta, todos los filtros deben coincidir para poder seleccionar un recurso: AND

  • Si se proporcionan varios valores para un solo filtro, es necesario que todos los valores coincidan para poder seleccionar un recurso: OR

  • Si se encuentran varios valores en la ubicación de la ruta de la llamada a la API descrita, es necesario que todos los valores coincidan para poder seleccionar un recurso: OR

  • Para que coincidan los pares clave/valor de una etiqueta, debes seleccionar los recursos de destino por etiquetas (véase más arriba).

La siguiente tabla incluye las acciones y los AWS CLI comandos de la API que puedes usar para obtener las descripciones canónicas de cada tipo de recurso. AWS El FIS ejecuta estas acciones en tu nombre para aplicar los filtros que especifiques. La documentación correspondiente describe los recursos que se incluyen en los resultados de forma predeterminada. Por ejemplo, la documentación de los estados DescribeInstances indica que las instancias finalizadas recientemente podrían aparecer en los resultados.

Tipo de recurso Acción de la API AWS CLI comando
aws:arc:zonal-shift-managed-resource ListManagedResources list-managed-resources
aws:ec2:autoscaling-group DescribeAutoScalingGroups describe-auto-scaling-groups
aws:ec2:ebs-volume DescribeVolumes describe-volumes
aws:ec2:instance DescribeInstances describe-instances
aws:ec2:subnet DescribeSubnets describe-subnets
aws:ec2:transit-gateway DescribeTransitGateways describe-transit-gateways
aws:ecs:cluster DescribeClusters describe-clusters
aws:ecs:task DescribeTasks describe-tasks
aws:eks:cluster DescribeClusters describe-clusters
aws:eks:nodegroup DescribeNodegroup describe-nodegroup
aws:elasticache:replicationgroup DescribeReplicationGroups describe-replication-groups
aws:iam:role ListRoles list-roles
aws:lambda:function ListFunctions funciones de lista
aws:rds:cluster DescribirDBClusters describe-db-clusters
aws:rds:db DescribirDBInstances describe-db-instances
aws:s3:bucket ListBuckets list-buckets
aws:dynamodb:global-table DescribeTable tabla de descripciones

Para ver ejemplos, consulta Ejemplos de filtros.

Parámetros de recursos

Los parámetros de recursos identifican los recursos de destino según criterios específicos.

El siguiente tipo de recurso admite parámetros.

aws:ec2:ebs-volume
  • availabilityZoneIdentifier: el código (por ejemplo, us-east-1a) de la zona de disponibilidad que contiene los volúmenes de destino.

aws:ec2:subnet
  • availabilityZoneIdentifier: el código (por ejemplo, us-east-1a) o ID de AZ (por ejemplo, use1-az1) de la zona de disponibilidad que contiene las subredes de destino.

  • vpc: la VPC que contiene las subredes de destino. No admite más de una VPC por cuenta.

aws:ecs:task
  • cluster: el clúster que contiene las tareas de destino.

  • service: el servicio que contiene las tareas de destino.

aws:eks:pod
  • availabilityZoneIdentifier: opcional. La zona de disponibilidad que contiene los pods de destino. Por ejemplo, us-east-1d. Determinamos la zona de disponibilidad de un pod comparando su IP del host y el CIDR de la subred del clúster.

  • clusterIdentifier: obligatorio. El nombre o ARN del clúster de destino de EKS.

  • namespace: obligatorio. El espacio de nombres de Kubernetes de los pods de destino.

  • selectorType: obligatorio. El tipo de selector. Los valores posibles son labelSelector, deploymentName y podName.

  • selectorValue: obligatorio. El valor del selector. Este valor depende del valor de selectorType.

  • targetContainerName: opcional. El nombre del contenedor de destino tal y como se especifica en la especificación de pod. El valor predeterminado es el primer contenedor definido en la especificación de cada pod de destino.

aws:lambda:function
  • functionQualifier: opcional. La versión o el alias de la función a la que se dirige. Si no se especifica ningún calificador, se tendrán en cuenta todas las invocaciones para la segmentación. Si se especifica un alias con varias versiones, todas las versiones incluidas en el alias se considerarán para la segmentación siempre que se invoquen mediante un ARN que contenga el alias. Si $LATEST se utiliza el alias especial, las invocaciones a la función base ARN y las invocaciones incluidas $LATEST en el ARN se considerarán para la inyección de errores. Para obtener más información sobre las versiones de Lambda, consulte Administrar versiones de funciones Lambda en la guía del usuario.AWS Lambda

aws:rds:cluster
  • writerAvailabilityZoneIdentifiers: opcional. Las zonas de disponibilidad del escritor del clúster de base de datos. Los valores posibles son: una lista de identificadores de zonas de disponibilidad separados por comas, all.

aws:rds:db
  • availabilityZoneIdentifiers: opcional. Las zonas de disponibilidad de la instancia de base de datos que se van a ver afectadas. Los valores posibles son: una lista de identificadores de zonas de disponibilidad separados por comas, all.

aws:elasticache:replicationgroup
  • availabilityZoneIdentifier: obligatorio. El código (por ejemplo, us-east-1a) o ID de AZ (por ejemplo, use1-az1) de la zona de disponibilidad que contiene los nodos de destino.

Modo de selección

Para determinar el alcance de los recursos identificados, especifique un modo de selección. AWS El FIS admite los siguientes modos de selección:

  • ALL: ejecuta la acción en todos los destinos.

  • COUNT(n): ejecuta la acción en el número especificado de destinos, elegidos de entre los destinos identificados al azar. Por ejemplo, COUNT(1) selecciona uno de los destinos identificados.

  • PERCENT(n): ejecuta la acción en el porcentaje especificado de destinos, elegidos de entre los destinos identificados al azar. Por ejemplo, PERCENT(25) selecciona el 25 % de los destinos identificados.

Si tiene un número impar de recursos y especifica el 50%, el AWS FIS lo redondea a la baja. Por ejemplo, si agregas cinco EC2 instancias de Amazon como objetivos y el alcance hasta el 50%, AWS FIS redondea a la baja a dos instancias. No puede especificar un porcentaje inferior a un recurso. Por ejemplo, si añades cuatro EC2 instancias de Amazon y el alcance AWS es del 5%, FIS no podrá seleccionar ninguna instancia.

Si define varios objetivos con el mismo tipo de recurso de destino, AWS FIS puede seleccionar el mismo recurso varias veces.

Independientemente del modo de selección que utilice, si el alcance que especifique no identifica ningún recurso, el experimento fallará.

Ejemplos de destinos

A continuación, se muestran algunos ejemplos de destinos.

Ejemplo: Instancias de la VPC especificada con las etiquetas especificadas

Los posibles objetivos de este ejemplo son las EC2 instancias de Amazon en la VPC especificada con la etiqueta env=prod. El modo de selección especifica que el AWS FIS elige uno de estos objetivos al azar.

{ "targets": { "randomInstance": { "resourceType": "aws:ec2:instance", "resourceTags": { "env": "prod" }, "filters": [ { "path": "VpcId", "values": [ "vpc-aabbcc11223344556" ] } ], "selectionMode": "COUNT(1)" } } }
Ejemplo: Tareas con los parámetros especificados

Los posibles destinos de este ejemplo son las tareas de Amazon ECS con el clúster y el servicio especificados. El modo de selección especifica que el AWS FIS elija uno de estos objetivos al azar.

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

Ejemplos de filtros

A continuación, se muestran algunos ejemplos.

Ejemplo: instancias EC2

Al especificar un filtro para una acción que admite el tipo de recurso aws:ec2:instance, FIS AWS utiliza el comando EC2 describe-instances Amazon y aplica el filtro para identificar los objetivos.

El comando describe-instances devuelve el resultado JSON en el que cada instancia es una estructura en Instances. El siguiente es un resultado parcial que incluye los campos marcados con. italics Proporcionaremos ejemplos en los que se utilizan estos campos para especificar una ruta de atributos a partir de la estructura de la salida de JSON.

{ "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" }, ... ] }

Para seleccionar instancias en una zona de disponibilidad específica mediante un filtro de recursos, especifique la ruta de atributos de la AvailabilityZone y el código de la zona de disponibilidad como valor. Por ejemplo:

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

Para seleccionar instancias en una subred específica mediante un filtro de recursos, especifique la ruta de atributos de SubnetId y el ID de la subred como valor. Por ejemplo:

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

Para seleccionar instancias que estén en un estado de instancia específico, especifique la ruta de atributos de Name y uno de los siguientes nombres de estado como valor: pending | running | shutting-down | terminated | stopping | stopped. Por ejemplo:

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

Para seleccionar instancias que tengan varios grupos de seguridad adjuntos, especifique un filtro único con la ruta del atributo para cada GroupId grupo de seguridad múltiple IDs. Por ejemplo:

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

Para seleccionar instancias que tengan todos los grupos de seguridad asociados, especifique varios filtros con la ruta del atributo GroupId y un único identificador de grupo de seguridad para cada filtro. Por ejemplo:

"filters": [ { "path": "NetworkInterfaces.Groups.GroupId", "values": [ "sg-a0011223344556677" ] }, { "path": "NetworkInterfaces.Groups.GroupId", "values": [ "sg-b9988776655443322" ] } ],
Ejemplo: Clúster de Amazon RDS (clúster de base de datos)

Al especificar un filtro para una acción que admite el tipo de recurso aws:rds:cluster, FIS AWS ejecuta el describe-db-clusters comando Amazon RDS y aplica el filtro para identificar los objetivos.

El comando describe-db-clusters devuelve un resultado JSON similar al siguiente para cada clúster de base de datos. El siguiente es un resultado parcial que incluye los campos marcados con. italics Proporcionaremos ejemplos en los que se utilizan estos campos para especificar una ruta de atributos a partir de la estructura de la salida de JSON.

[ { "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", ... } ]

Para aplicar un filtro de recursos que devuelva solo los clústeres de base de datos que utilizan un motor de base de datos específico, especifique la ruta de atributos como Engine y el valor como aurora-postgresql, tal y como se muestra en el siguiente ejemplo.

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

Para aplicar un filtro de recursos que devuelva solo los clústeres de base de datos de una zona de disponibilidad específica, especifique la ruta de atributos y el valor tal y como se muestra en el siguiente ejemplo.

"filters": [ { "path": "AvailabilityZones", "values": [ "us-east-2a" ] } ],
PrivacidadTérminos del sitioPreferencias de cookies
© 2025, Amazon Web Services, Inc o sus afiliados. Todos los derechos reservados.