View a markdown version of this page

Añadir reglas a una puerta de enlace - Amazon Bedrock AgentCore

Añadir reglas a una puerta de enlace

Las reglas de puerta de enlace le permiten controlar el enrutamiento del tráfico y anular las configuraciones de destino en su puerta de enlace sin tener que volver a implementar los objetivos. Puede crear paquetes de configuración que anulan el comportamiento de un objetivo y, a continuación, utilizar reglas para controlar qué versión del paquete se aplica a qué tráfico. Las reglas también permiten enrutar las solicitudes a diferentes destinos en función de la ruta de la solicitud o de la identidad de la persona que llama.

Utilice las reglas de puerta de enlace para lograr los siguientes objetivos:

  • Experimente con las versiones de los paquetes de configuración mediante A/B pruebas

  • Fije principios específicos a una versión del paquete de configuración para su depuración

  • Dirija el tráfico a objetivos específicos en función de la ruta de solicitud o la identidad de la persona que llama

  • Establezca un paquete o objetivo de configuración predeterminado para todo el tráfico

Cómo funcionan las reglas de puerta de enlace

Cada regla de puerta de enlace contiene los siguientes componentes:

Componente Description (Descripción)

Priority (Prioridad)

Un número entero comprendido entre 1 y 1 000 000. Los números más bajos indican una mayor prioridad. Cada valor de prioridad debe ser único dentro de una puerta de enlace.

Condiciones (opcional)

Criterios que determinan si la regla coincide con una solicitud. Una regla sin condiciones actúa como una regla general que coincide con todo el tráfico.

Acciones (obligatorias)

La acción que se debe realizar cuando la regla coincide. Puede anular los paquetes de configuración, enrutarlos a destinos específicos o ambos.

Descripción (opcional)

Una descripción textual del propósito de la regla.

Resolución de reglas

La pasarela evalúa las reglas en orden de prioridad ascendente (primero los números más bajos). La pasarela resuelve cada tipo de acción de forma independiente mediante la semántica de la primera coincidencia.

En la siguiente tabla, se muestra cómo la puerta de enlace resuelve las reglas para una solicitud de muestra. En este ejemplo, el rol de control de calidad envía una solicitud a/my-target-canary/chat.

Priority (Prioridad) Condiciones Acciones ¿Concuerda con la solicitud? Resultado

100

¿Un rol

configurationBundle: versión A del paquete

Se resuelve configurationBundle a la versión A

200

Ruta /my-target-canary/*

routeToTarget: my-target-canary

Resuelve routeToTarget my-target-canary

1000000

Ninguno (general)

configurationBundle: paquete versión B,: routeToTarget my-target-primary

Ambos tipos de acciones ya están resueltos. Omitido.

Resultado final: la solicitud utiliza la versión A del paquete y se dirige amy-target-canary.

sugerencia

Deje espacios entre los números de prioridad (por ejemplo, 100, 200, 300) para poder insertar reglas más adelante sin tener que volver a numerar las reglas existentes.

Condiciones

Las condiciones determinan qué solicitudes coinciden con una regla. Una regla puede tener un máximo de 2 condiciones. Una regla sin condiciones coincide con todo el tráfico.

La puerta de enlace admite los siguientes tipos de condiciones:

Match Principals

Coincide con las solicitudes según el principal de IAM de la persona que llama. La anyOf lista contiene de 1 a 100 entradas. Cada entrada especifica una iamPrincipal con los siguientes campos:

  • arn— El ARN principal del IAM correspondiente.

  • operator(opcional): el operador de comparación. Los valores válidos son StringEquals (predeterminado) y StringLike. Se utiliza StringLike para hacer coincidir los caracteres comodín.

MatchPaths

Coincide con las solicitudes en función de la ruta de la solicitud. La anyOf lista contiene de 1 a 10 entradas. Cada entrada debe usar el formato /<targetName>/* en el que <targetName> coincida con el nombre de un destino HTTP existente en la puerta de enlace. El objetivo debe estar en Ready estado. La matchPaths condición solo se admite en las puertas de enlace con destinos HTTP. No se permiten los siguientes prefijos de ruta reservada:/mcp,,, /a2a/responses,/converse. /.well-known

Lógica de evaluación de condiciones

  • Dentro de un tipo de condición: la puerta de enlace usa la lógica OR. Una solicitud coincide si cumple con alguna entrada de la anyOf lista.

  • En todos los tipos de condiciones: la puerta de enlace usa la lógica AND. Si una regla tiene las dos matchPrincipals ymatchPaths, la solicitud debe coincidir con al menos una entrada de cada tipo de condición.

Acciones

Las acciones definen lo que hace la puerta de enlace cuando una regla coincide. Una regla puede tener un máximo de 2 acciones.

La puerta de enlace admite los siguientes tipos de acciones:

El paquete de configuración anula () configurationBundle

Anule el paquete de configuración aplicado al tráfico coincidente.

  • staticOverride— Fija todo el tráfico coincidente a una versión específica del paquete de configuración. Especifique el ARN del paquete y el ID de versión.

  • weightedOverride— Divide el tráfico entre dos versiones del paquete de configuración. La trafficSplit lista debe contener exactamente 2 entradas con pesos que sumen 100. El paquete de configuración debe estar en la misma cuenta que la puerta de enlace.

Enrutamiento de destino (routeToTarget)

Rutas que hacen coincidir el tráfico con un objetivo específico. El objetivo debe usar el protocolo HTTP y estar en Ready estado.

  • staticRoute— Enruta todo el tráfico coincidente a un objetivo específico por su nombre.

  • weightedRoute— Divide el tráfico entre dos objetivos. La trafficSplit lista debe contener exactamente 2 entradas con pesos que sumen 100. Los nombres de las entradas divididas en el tráfico deben ser únicos.

Límites

En la siguiente tabla se enumeran los límites de las reglas de puerta de enlace.

Recurso Límite

Reglas por puerta de enlace

20

Rango de prioridad

1 a 1 000 000

Condiciones máximas por regla

2

Máximo de acciones por regla

2

matchPrincipals.anyOfnúmero máximo de entradas

100

matchPaths.anyOfnúmero máximo de entradas

10

trafficSplitentradas

Exactamente 2

trafficSplitrango de peso

1 a 99

Temas