View a markdown version of this page

Adicionar regras a um gateway - Amazon Bedrock AgentCore

Adicionar regras a um gateway

As regras de gateway permitem que você controle o roteamento de tráfego e substitua as configurações de destino em seu gateway sem reimplantar alvos. Você cria pacotes de configuração que substituem o comportamento de um alvo e, em seguida, usa regras para controlar qual versão do pacote se aplica a qual tráfego. As regras também oferecem suporte ao roteamento de solicitações para destinos diferentes com base no caminho da solicitação ou na identidade do chamador.

Use as regras de gateway para atingir as seguintes metas:

  • Experimente as versões do pacote de configuração por meio de A/B testes

  • Fixe princípios específicos em uma versão do pacote de configuração para depuração

  • Roteie o tráfego para alvos específicos com base no caminho da solicitação ou na identidade do chamador

  • Defina um pacote ou destino de configuração padrão para todo o tráfego

Como as regras de gateway funcionam

Cada regra de gateway contém os seguintes componentes:

Componente Description

Prioridade

Um número inteiro de 1 a 1.000.000. Números mais baixos indicam maior precedência. Cada valor de prioridade deve ser exclusivo em um gateway.

Condições (opcional)

Critérios que determinam se a regra corresponde a uma solicitação. Uma regra sem condições atua como uma regra abrangente que corresponde a todo o tráfego.

Ações (obrigatórias)

A ação a ser tomada quando a regra coincide. Você pode substituir pacotes de configuração, rotear para destinos específicos ou ambos.

Descrição (opcional)

Uma descrição em texto da finalidade da regra.

Resolução de regras

O gateway avalia as regras em ordem crescente de prioridade (números mais baixos primeiro). O gateway resolve cada tipo de ação de forma independente usando a semântica de primeira correspondência.

A tabela a seguir mostra como o gateway resolve regras para uma solicitação de amostra. Neste exemplo, a função de controle de qualidade envia uma solicitação para/my-target-canary/chat.

Prioridade Condições Ações Solicitação de correspondências? Resultado

100

Papel de controle de qualidade

configurationBundle: pacote versão A

Sim

Resolve configurationBundle para a versão A

200

Caminho /my-target-canary/*

routeToTarget: my-target-canary

Sim

Resolve para routeToTarget my-target-canary

1000000

Nenhum (abrangente)

configurationBundle: pacote versão B,: routeToTarget my-target-primary

Sim

Ambos os tipos de ação já foram resolvidos. Ignorado.

Resultado final: a solicitação usa a versão A do pacote e encaminha para o. my-target-canary

dica

Deixe espaços entre os números de prioridade (por exemplo, 100, 200, 300) para que você possa inserir regras posteriormente sem renumerar as regras existentes.

Condições

As condições determinam a quais solicitações uma regra corresponde. Uma regra pode ter no máximo 2 condições. Uma regra sem condições corresponde a todo o tráfego.

O gateway suporta os seguintes tipos de condições:

Diretores da partida

Corresponde às solicitações com base no IAM principal do chamador. A anyOf lista contém de 1 a 100 entradas. Cada entrada especifica um iamPrincipal com os seguintes campos:

  • arn— O ARN principal do IAM correspondente.

  • operator(opcional) — O operador de comparação. Os valores válidos são StringEquals (padrão) e StringLike. Use StringLike para correspondência de curingas.

Caminhos de correspondência

Corresponde às solicitações com base no caminho da solicitação. A anyOf lista contém de 1 a 10 entradas. Cada entrada deve usar o formato/<targetName>/*, onde <targetName> corresponde ao nome de um destino HTTP existente no gateway. O alvo deve estar no Ready estado. A matchPaths condição é suportada somente para gateways com destinos HTTP. Os seguintes prefixos de caminho reservados não são permitidos:/mcp,/a2a,, /responses/converse,/.well-known.

Lógica de avaliação da condição

  • Dentro de um tipo de condição: o gateway usa a lógica OR. Uma solicitação corresponde se satisfaz alguma entrada na anyOf lista.

  • Em todos os tipos de condições: o gateway usa a lógica AND. Se uma regra tiver ambos matchPrincipals ematchPaths, a solicitação deverá corresponder a pelo menos uma entrada de cada tipo de condição.

Ações

As ações definem o que o gateway faz quando uma regra corresponde. Uma regra pode ter no máximo 2 ações.

O gateway suporta os seguintes tipos de ação:

Substituições do pacote de configuração () configurationBundle

Substitua o pacote de configuração aplicado ao tráfego correspondente.

  • staticOverride— Fixa todo o tráfego correspondente em uma versão específica do pacote de configuração. Especifique o ARN do pacote e o ID da versão.

  • weightedOverride— Divide o tráfego entre duas versões do pacote de configuração. A trafficSplit lista deve conter exatamente 2 entradas com pesos que somam 100. O pacote de configuração deve estar na mesma conta do gateway.

Roteamento de destino () routeToTarget

Rotas que combinam o tráfego com um alvo específico. O destino deve usar o protocolo HTTP e estar no Ready estado.

  • staticRoute— Encaminha todo o tráfego correspondente para um alvo específico por nome.

  • weightedRoute— Divide o tráfego entre dois alvos. A trafficSplit lista deve conter exatamente 2 entradas com pesos que somam 100. Os nomes das entradas de divisão de tráfego devem ser exclusivos.

Limites

A tabela a seguir lista os limites das regras de gateway.

Recurso Limite

Regras por gateway

20

Faixa de prioridade

1 a 1.000.000

Condições máximas por regra

2

Máximo de ações por regra

2

matchPrincipals.anyOfentradas máximas

100

matchPaths.anyOfentradas máximas

10

trafficSplitentradas

Exatamente 2

trafficSplitfaixa de peso

1 a 99

Tópicos