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 |
|
Sí |
Se resuelve |
|
200 |
Ruta |
|
Sí |
Resuelve |
|
1000000 |
Ninguno (general) |
|
Sí |
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
anyOflista contiene de 1 a 100 entradas. Cada entrada especifica unaiamPrincipalcon los siguientes campos:-
arn— El ARN principal del IAM correspondiente. -
operator(opcional): el operador de comparación. Los valores válidos sonStringEquals(predeterminado) yStringLike. Se utilizaStringLikepara hacer coincidir los caracteres comodín.
-
- MatchPaths
-
Coincide con las solicitudes en función de la ruta de la solicitud. La
anyOflista 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 enReadyestado. LamatchPathscondició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
anyOflista. -
En todos los tipos de condiciones: la puerta de enlace usa la lógica AND. Si una regla tiene las dos
matchPrincipalsymatchPaths, 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. LatrafficSplitlista 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
Readyestado.-
staticRoute— Enruta todo el tráfico coincidente a un objetivo específico por su nombre. -
weightedRoute— Divide el tráfico entre dos objetivos. LatrafficSplitlista 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 |
|
|
100 |
|
|
10 |
|
|
Exactamente 2 |
|
|
1 a 99 |