View a markdown version of this page

將規則新增至閘道 - Amazon Bedrock AgentCore

將規則新增至閘道

閘道規則可讓您控制流量路由並覆寫閘道上的目標組態,而無需重新部署目標。您可以建立覆寫目標行為的組態套件,然後使用規則來控制適用於哪些流量的套件版本。規則也支援根據請求路徑或呼叫者身分,將請求路由到不同的目標。

使用閘道規則來完成下列目標:

  • 透過 A/B 測試使用組態套件版本進行實驗

  • 將特定主體釘選至組態套件版本以進行偵錯

  • 根據請求路徑或來電者身分,將流量路由至特定目標

  • 為所有流量設定預設組態套件或目標

閘道規則的運作方式

每個閘道規則都包含下列元件:

元件 說明

Priority

從 1 到 1,000,000 的整數。數字越小表示優先順序越高。每個優先順序值在閘道中必須是唯一的。

Conditions (選用)

決定規則是否符合請求的條件。沒有條件的規則會充當符合所有流量的所有截獲。

動作 (必要)

當規則相符時要採取的動作。您可以覆寫組態套件、路由至特定目標或兩者。

描述 (選用)

規則用途的文字描述。

規則解析

閘道會以遞增優先順序評估規則 (數字越小)。閘道會使用第一個相符的語意獨立解析每個動作類型。

下表顯示閘道如何解析範例請求的規則。在此範例中,QA 角色會將請求傳送至 /my-target-canary/chat

Priority 條件 動作 符合請求? 結果

100

QA 角色

configurationBundle:套件版本 A

解析configurationBundle至 A 版

200

路徑 /my-target-canary/*

routeToTarget: my-target-canary

解析routeToTargetmy-target-canary

1000000

無 (全部鎖定)

configurationBundle:套件 B 版,routeToTargetmy-target-primary

這兩種動作類型都已解析。已略過。

最終結果:請求使用套件版本 A 並路由至 my-target-canary

提示

在優先順序數字 (例如 100、200、300) 之間保留間隙,以便您稍後可以插入規則,而無需重新編號現有規則。

條件

條件決定哪些請求符合規則。規則最多可有 2 個條件。沒有條件的規則符合所有流量。

閘道支援下列條件類型:

matchPrincipals

根據發起人的 IAM 主體比對請求。anyOf 清單包含 1 到 100 個項目。每個項目都會指定iamPrincipal具有下列欄位的 :

  • arn — 要比對的 IAM 主體 ARN。

  • operator (選用) — 比較運算子。有效值為 StringEquals (預設) 和 StringLike。使用 StringLike 進行萬用字元比對。

matchPaths

根據請求路徑比對請求。此anyOf清單包含 1 到 10 個項目。每個項目都必須使用 格式 /<targetName>/*,其中 <targetName>符合閘道上現有 HTTP 目標的名稱。目標必須處於 Ready 狀態。只有具有 HTTP 目標的閘道才支援 matchPaths條件。不允許下列預留路徑字首:/mcp/a2a/responses/converse/.well-known

條件評估邏輯

  • 在條件類型內:閘道使用 OR 邏輯。如果滿足anyOf清單中的任何項目,則請求會相符。

  • 跨條件類型:閘道使用 AND 邏輯。如果規則同時具有 matchPrincipalsmatchPaths,則請求必須至少符合每個條件類型的一個項目。

動作

動作定義當規則相符時閘道執行的操作。規則最多可以有 2 個動作。

閘道支援下列動作類型:

組態套件覆寫 (configurationBundle)

覆寫套用至相符流量的組態套件

  • staticOverride — 將所有相符的流量 釘選至特定組態套件版本。指定套件 ARN 和版本 ID。

  • weightedOverride — 在兩個組態套件版本之間 分割流量。trafficSplit 清單必須剛好包含 2 個項目,其權重總和為 100。組態套件必須與閘道位於相同的帳戶中。

目標路由 (routeToTarget)

將符合流量的路由至特定目標。目標必須使用 HTTP 通訊協定並處於 Ready 狀態。

  • staticRoute — 依名稱將所有相符的流量 路由到特定目標。

  • weightedRoute — 在兩個目標之間 分割流量。trafficSplit 清單必須剛好包含 2 個項目,其權重總和為 100。流量分割項目名稱必須是唯一的。

限制

下表列出閘道規則的限制。

資源 限制

每個閘道的規則

20

優先順序範圍

1 到 1,000,000

每個規則的條件上限

2

每個規則的動作上限

2

matchPrincipals.anyOf 項目上限

100

matchPaths.anyOf 項目上限

10

trafficSplit 項目

確切 2

trafficSplit 權重範圍

1 到 99

主題