全域跨區域推論 - Amazon Bedrock

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

全域跨區域推論

全域跨區域推論可將跨區域推論延伸到地理界限之外,從而將推論請求路由到 AWS 區域 支援的全球商業,最佳化可用資源並實現更高的模型輸送量。

全域跨區域推論的優點

Anthropic 的 Claude Sonnet 4.5 全域跨區域推論相較於傳統地理跨區域推論描述檔提供多項優勢:

  • 提高尖峰需求期間的輸送量 – 全域跨區域推論透過自動將請求路由到 AWS 區域 具有可用容量的 ,在尖峰需求期間提高彈性。此動態路由無縫進行,無需開發人員的額外組態或介入。與可能需要在 之間進行複雜用戶端負載平衡的傳統方法不同 AWS 區域,全域跨區域推論會自動處理流量尖峰。這對於停機時間或效能降低可能會對財務或評價造成重大影響的業務關鍵應用程式尤其重要。

  • 成本效益 – Anthropic 的 Claude Sonnet 4.5 全域跨區域推論相較於地理跨區域推論,在輸入和輸出字符定價方面可節省約 10%。價格是根據提出請求 AWS 區域 的 (來源 AWS 區域) 來計算。這表示組織可以受益於改善的彈性,甚至降低成本。此定價模型讓全域跨區域推論成為符合成本效益的解決方案,適合希望最佳化其生成式 AI 部署的組織。透過改善資源使用率並實現更高的輸送量,而無須額外成本,可協助組織最大限度地提高在 Amazon Bedrock 中的投資價值。

  • 簡化監控 – 使用全域跨區域推論時,CloudWatch 和 CloudTrail 會繼續記錄來源中的日誌項目 AWS 區域,簡化可觀測性和管理。雖然您的請求會在 AWS 區域 全球各地處理,但您仍可透過熟悉的 AWS 監控工具,集中檢視應用程式的效能和使用模式。

  • 隨需配額彈性 – 透過全域跨區域推論,您的工作負載不會再受到個別區域容量的限制。您的請求可以動態路由到 AWS 全球基礎設施 AWS 區域,而不是限制在特定的可用容量。這可讓您存取更大的資源集區,從而降低處理大量工作負載和流量突增的複雜性。

全域跨區域推論考量事項

請注意下列有關全域跨區域推論的資訊:

  • 全域跨區域推論設定檔的輸送量高於與特定地理位置繫結的推論設定檔。與特定地理位置繫結的推論設定檔可提供比單一區域推論更高的輸送量。

  • 若要在使用全域推論設定檔時,查看跨區域輸送量的預設配額,請參閱《AWS 一般參考》${Model} 的每分鐘全域跨區域模型推論請求,以及 Amazon Bedrock 服務配額${Model} 的每分鐘全域跨區域模型推論字符

    您可以從 Service Quotas 主控台或使用來源區域中的 CLI AWS 命令,請求、檢視和管理全域跨區域推論設定檔的配額。

全域跨區域推論的 IAM 政策需求

若要為使用者啟用全域跨區域推論,您必須將三個部分的 IAM 政策套用至角色。以下是提供精細控制的 IAM 政策範例。您可以在範例政策<REQUESTING REGION>中,將 取代 AWS 區域 為您操作的 。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "GrantGlobalCrisInferenceProfileRegionAccess", "Effect": "Allow", "Action": "bedrock:InvokeModel", "Resource": [ "arn:aws:bedrock:<REQUESTING REGION>:<ACCOUNT>:inference-profile/global.<MODEL NAME>" ], "Condition": { "StringEquals": { "aws:RequestedRegion": "<REQUESTING REGION>" } } }, { "Sid": "GrantGlobalCrisInferenceProfileInRegionModelAccess", "Effect": "Allow", "Action": "bedrock:InvokeModel", "Resource": [ "arn:aws:bedrock:<REQUESTING REGION>::foundation-model/<MODEL NAME>" ], "Condition": { "StringEquals": { "aws:RequestedRegion": "<REQUESTING REGION>", "bedrock:InferenceProfileArn": "arn:aws:bedrock:<REQUESTING REGION>:<ACCOUNT>:inference-profile/global.<MODEL NAME>" } } }, { "Sid": "GrantGlobalCrisInferenceProfileGlobalModelAccess", "Effect": "Allow", "Action": "bedrock:InvokeModel", "Resource": [ "arn:aws:bedrock:::foundation-model/<MODEL NAME>" ], "Condition": { "StringEquals": { "aws:RequestedRegion": "unspecified", "bedrock:InferenceProfileArn": "arn:aws:bedrock:<REQUESTING REGION>:<ACCOUNT>:inference-profile/global.<MODEL NAME>" } } } ] }

政策的第一部分會授予請求中區域推論設定檔的存取權 AWS 區域。第二部分提供區域 FM 資源的存取權。第三部分會授予全域 FM 資源的存取權,以啟用跨區域路由功能。

實作這些政策時,請確定 IAM 陳述式中包含所有三個資源 Amazon Resource Name (ARNs):

  • 區域推論設定檔 ARN 遵循模式 arn:aws:bedrock:REGION:ACCOUNT:inference-profile/global.MODEL-NAME。這用於授予對來源 中全域推論描述檔的存取權 AWS 區域。

  • 區域 FM 使用 arn:aws:bedrock:REGION::foundation-model/MODEL-NAME。這用於授予來源中 FM 的存取權 AWS 區域。

  • 全域 FM 需要 arn:aws:bedrock:::foundation-model/MODEL-NAME。這用於授予不同全域中 FM 的存取權 AWS 區域。

全域 FM ARN 沒有指定 AWS 區域 或 帳戶,這是跨區域功能刻意且必要的。

停用全域跨區域推論

您可以選擇兩種主要方法,針對特定 IAM 角色實作拒絕政策至全域 CRIS,每個都具有不同的使用案例和影響:

  • 移除 IAM 政策 – 第一個方法涉及從使用者許可中移除三個必要 IAM 政策中的一個或多個。由於全域 CRIS 需要這三個政策才能運作,移除政策將導致存取遭拒。

  • 實作拒絕政策 – 第二個方法是實作明確拒絕政策,專門以全域 CRIS 推論設定檔為目標。此方法提供清楚的安全意圖文件,並確保即使稍後有人不小心新增了所需的允許政策,明確拒絕仍將優先。拒絕政策應使用符合模式 StringEquals的條件"aws:RequestedRegion": "unspecified"。此模式特別以字global首為目標的推論設定檔。

實作拒絕政策時,請務必了解全域 CRIS 會變更aws:RequestedRegion欄位的行為。使用具有特定 AWS 區域 名稱 之StringEquals條件的傳統 AWS 區域型拒絕政策,因為服務會將此欄位設定為 global,而非實際目的地,因此"aws:RequestedRegion": "us-west-2"無法如預期與全域 CRIS 搭配使用 AWS 區域。不過,如先前所述, "aws:RequestedRegion": "unspecified" 將導致拒絕效果。

全域跨區域推論的服務控制政策需求

對於全域跨區域推論,如果您組織的安全政策使用 SCPs 封鎖未使用的區域,您必須更新區域特定的 SCP 條件,以允許使用 進行存取"aws:RequestedRegion": "unspecified"。此條件專屬於 Amazon Bedrock Global 跨區域推論,並確保請求可以路由到所有支援 AWS 的商業區域。

下列範例 SCP 會封鎖核准區域外的所有 AWS API 呼叫,同時允許使用 "unspecified"做為全域路由區域的 Amazon Bedrock Global 跨區域推論呼叫:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "DenyAllOutsideApprovedRegions", "Effect": "Deny", "Action": "*", "Resource": "*", "Condition": { "StringNotEquals": { "aws:RequestedRegion": [ "us-east-1", "us-east-2", "us-west-2", "unspecified" ] } } } ] }

停用全域跨區域推論

具有資料駐留或合規要求的組織應評估全域跨區域推論是否符合其合規架構,因為在其他支援 AWS 的商業區域中可能會處理請求。若要明確停用全域跨區域推論,請實作下列 SCP 政策:

{ "Effect": "Deny", "Action": "bedrock:*", "Resource": "*", "Condition": { "StringEquals": { "aws:RequestedRegion": "unspecified" }, "ArnLike": { "bedrock:InferenceProfileArn": "arn:aws:bedrock:*:*:inference-profile/global.*" } } }

此 SCP 明確拒絕全域跨區域推論,因為 "aws:RequestedRegion" 為 ,"unspecified""ArnLike"條件以 ARN 中字global首為 的推論描述檔為目標。

AWS Control Tower 實作

強烈建議手動編輯由 AWS Control Tower 管理SCPs,因為它可能會導致偏離。反之,請使用 Control Tower 提供的機制來管理這些例外狀況。核心原則涉及擴展現有的區域拒絕控制或啟用區域,然後套用自訂的條件式封鎖政策。

如需使用 Control Tower 實作跨區域推論的詳細step-by-step指引,請參閱部落格文章在多帳戶環境中啟用 Amazon Bedrock 跨區域推論。這涵蓋擴展現有的區域拒絕 SCPs、使用自訂 SCPs啟用拒絕區域,以及使用 Customizations for AWS Control Tower (CfCT) 將自訂 SCPs 部署為基礎設施做為程式碼。

全域跨區域推論的請求限制增加

使用全域 CRIS 推論設定檔時,您可以從超過 20 個支援的來源使用全域 CRIS AWS 區域。由於這會是全域限制,檢視、管理或增加全域跨區域推論設定檔配額的請求必須透過請求來源中的 Service Quotas 主控台或 AWS 命令列界面 (AWS CLI) 提出 AWS 區域。

完成下列步驟以請求提高限制:

  1. 登入您 AWS 帳戶中的 Service Quotas 主控台。

  2. 在導覽窗格中,選擇 AWS services (AWS 服務)。

  3. 從服務清單中,尋找並選擇 Amazon Bedrock

  4. 在 Amazon Bedrock 的配額清單中,使用搜尋篩選條件來尋找特定的全域 CRIS 配額。例如:

    • Anthropic Claude Sonnet 4.5 V1 的每分鐘全域跨區域模型推論字符

  5. 選取您要增加的配額。

  6. 選擇在帳戶層級請求增加

  7. 輸入所需的新配額值。

  8. 選擇請求以提交您的請求。

計算所需的配額增加時,請記得考量縮減率,定義為輸入和輸出字符轉換為限流系統字符配額用量的速率。下列模型的輸出字符消耗率為 5 倍 (1 個輸出字符從您的配額消耗 5 個字符)

  • Anthropic Claude Opus 4

  • Anthropic Claude Sonnet 4.5

  • Anthropic Claude Sonnet 4

  • Anthropic Claude 3.7 Sonnet

所有其他模型的銷毀率為 1:1 (1 個輸出字符會消耗您配額中的 1 個字符)。對於輸入字符,字符對配額比率為 1:1。每個請求的字符總數計算如下:

Input token count + Cache write input tokens + (Output token count x Burndown rate)

使用全域跨區域推論

若要搭配 Anthropic 的 Claude Sonnet 4.5 使用全域跨區域推論,開發人員必須完成下列關鍵步驟:

  • 使用全域推論設定檔 ID – 對 Amazon Bedrock 進行 API 呼叫時,請指定全域 Anthropic 的 Claude Sonnet 4.5 推論設定檔 ID (global.anthropic.claude-sonnet-4-5-20250929-v1:0),而非 AWS 區域特定模型 ID。

  • 設定 IAM 許可 – 授予適當的 IAM 許可,以存取潛在目的地中的推論設定檔和 FMs AWS 區域。

支援全域跨區域推論:

  • 隨需模型推論

  • 批次推論

  • 客服人員

  • 模型評估

  • 提示管理

  • 提示流程

注意

隨需模型推論、批次推論、代理程式、模型評估、提示管理和提示流程支援全域推論設定檔。

實作全域跨區域推論

使用 Anthropic 的 Claude Sonnet 4.5 實作全域跨區域推論非常簡單,只需要對現有應用程式程式碼進行一些變更。以下是如何在 Python 中更新程式碼的範例:

import boto3 import json bedrock = boto3.client('bedrock-runtime', region_name='us-east-1') model_id = "global.anthropic.claude-sonnet-4-5-20250929-v1:0" response = bedrock.converse( messages=[{"role": "user", "content": [{"text": "Explain cloud computing in 2 sentences."}]}], modelId=model_id, ) print("Response:", response['output']['message']['content'][0]['text']) print("Token usage:", response['usage']) print("Total tokens:", response['usage']['totalTokens'])