View a markdown version of this page

Aggiungere regole a un gateway - Amazon Bedrock AgentCore

Aggiungere regole a un gateway

Le regole del gateway consentono di controllare il routing del traffico e di ignorare le configurazioni degli obiettivi sul gateway senza ridistribuire i target. Crei pacchetti di configurazione che sovrascrivono il comportamento di un target, quindi utilizzi le regole per controllare quale versione del pacchetto si applica a quale traffico. Le regole supportano anche l'instradamento delle richieste verso destinazioni diverse in base al percorso della richiesta o all'identità del chiamante.

Utilizza le regole del gateway per raggiungere i seguenti obiettivi:

  • Sperimenta con le versioni dei pacchetti di configurazione tramite test A/B

  • Aggiungi principi specifici a una versione del pacchetto di configurazione per il debug

  • Indirizza il traffico verso obiettivi specifici in base al percorso della richiesta o all'identità del chiamante

  • Imposta un pacchetto o un target di configurazione predefinito per tutto il traffico

Come funzionano le regole del gateway

Ogni regola gateway contiene i seguenti componenti:

Componente Description

Priorità

Un numero intero compreso tra 1 e 1.000.000. I numeri più bassi indicano una precedenza maggiore. Ogni valore di priorità deve essere univoco all'interno di un gateway.

Conditions (Condizioni) (facoltativa)

Criteri che determinano se la regola corrisponde a una richiesta. Una regola senza condizioni funge da catch-over che corrisponde a tutto il traffico.

Azioni (obbligatorie)

L'azione da intraprendere quando la regola corrisponde. È possibile sovrascrivere i pacchetti di configurazione, eseguire il routing verso obiettivi specifici o entrambi.

Descrizione (facoltativa)

Una descrizione testuale dello scopo della regola.

Risoluzione delle regole

Il gateway valuta le regole in ordine di priorità crescente (prima i numeri più bassi). Il gateway risolve ogni tipo di azione in modo indipendente utilizzando la semantica della prima partita.

La tabella seguente mostra come il gateway risolve le regole per una richiesta di esempio. In questo esempio, il ruolo QA invia una richiesta a. /my-target-canary/chat

Priorità Condizioni Azioni Corrisponde alla richiesta? Risultato

100

Ruolo QA

configurationBundle: versione bundle A

Risolve configurationBundle alla versione A

200

Percorso /my-target-canary/*

routeToTarget: my-target-canary

Risolve in routeToTarget my-target-canary

1000000

Nessuno (catch-all)

configurationBundle: versione bundle B,: routeToTarget my-target-primary

Entrambi i tipi di azione sono già stati risolti. Ignorato.

Risultato finale: la richiesta utilizza la versione A del pacchetto e indirizza verso. my-target-canary

Suggerimento

Lascia degli spazi tra i numeri di priorità (ad esempio 100, 200, 300) in modo da poter inserire le regole in un secondo momento senza rinumerare le regole esistenti.

Condizioni

Le condizioni determinano a quali richieste corrisponde una regola. Una regola può avere un massimo di 2 condizioni. Una regola senza condizioni corrisponde a tutto il traffico.

Il gateway supporta i seguenti tipi di condizioni:

MatchPrincipal

Corrisponde alle richieste in base al principale IAM del chiamante. L'anyOfelenco contiene da 1 a 100 voci. Ogni voce specifica e iamPrincipal con i seguenti campi:

  • arn— L'ARN principale IAM da abbinare.

  • operator(opzionale) — L'operatore di confronto. I valori validi sono StringEquals (default) e StringLike. Da utilizzare StringLike per abbinare i caratteri jolly.

MatchPaths

Corrisponde alle richieste in base al percorso della richiesta. L'anyOfelenco contiene da 1 a 10 voci. Ogni voce deve utilizzare il formato/<targetName>/*, dove <targetName> corrisponde al nome di una destinazione HTTP esistente sul gateway. La destinazione deve essere Ready attiva. La matchPaths condizione è supportata solo per i gateway con destinazioni HTTP. I seguenti prefissi di percorso riservati non sono consentiti:/mcp,,,/a2a,/responses. /converse /.well-known

Logica di valutazione delle condizioni

  • All'interno di un tipo di condizione: il gateway utilizza la logica OR. Una richiesta corrisponde se soddisfa una voce dell'anyOfelenco.

  • Tra diversi tipi di condizioni: il gateway utilizza la logica AND. Se una regola ha entrambi matchPrincipals ematchPaths, la richiesta deve corrispondere ad almeno una voce per ogni tipo di condizione.

Azioni

Le azioni definiscono cosa fa il gateway quando una regola corrisponde. Una regola può avere un massimo di 2 azioni.

Il gateway supporta i seguenti tipi di azioni:

Il pacchetto di configurazione sostituisce () configurationBundle

Sostituisci il pacchetto di configurazione applicato al traffico corrispondente.

  • staticOverride— Associa tutto il traffico corrispondente a una versione specifica del pacchetto di configurazione. Specificate l'ARN e l'ID della versione del pacchetto.

  • weightedOverride— Suddivide il traffico tra due versioni del pacchetto di configurazione. L'trafficSplitelenco deve contenere esattamente 2 voci con pesi che sommano a 100. Il pacchetto di configurazione deve trovarsi nello stesso account del gateway.

Routing di destinazione () routeToTarget

Percorsi che abbinano il traffico a un obiettivo specifico. La destinazione deve utilizzare il protocollo HTTP ed essere in Ready stato.

  • staticRoute— Indirizza tutto il traffico corrispondente a un target specifico in base al nome.

  • weightedRoute— Suddivide il traffico tra due obiettivi. L'trafficSplitelenco deve contenere esattamente 2 voci con un peso pari a 100. I nomi delle voci di ripartizione del traffico devono essere univoci.

Limits

La tabella seguente elenca i limiti per le regole del gateway.

Risorsa Limite

Regole per gateway

20

Intervallo di priorità

Da 1 a 1.000.000

Condizioni massime per regola

2

Numero massimo di azioni per regola

2

matchPrincipals.anyOfnumero massimo di inserimenti

100

matchPaths.anyOfnumero massimo di ingressi

10

trafficSplitvoci

Esattamente 2

trafficSplitintervallo di peso

da 1 a 99

Argomenti