View a markdown version of this page

執行個體 - Amazon Bedrock AgentCore

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

執行個體

當您在執行個體運算類型上託管代理程式時,Amazon Bedrock AgentCore 執行期會在 Amazon EC2 受管執行個體上執行代理程式,其會在您自己的 AWS 帳戶中佈建和操作,因此您可以獲得 Amazon EC2 的硬體選擇和定價優勢,而無需管理執行個體生命週期、作業系統和執行期修補、擴展或縮減。容量提供者會定義這些執行個體使用的基礎設施,而 AgentCore 會代表您處理佈建、修補、擴展和縮減。由於執行個體會在您的帳戶中執行,因此您的資料會保留在您的帳戶中、適用您現有的帳戶控制,而且您可以使用 EC2 定價協議,例如 Savings Plans、預留執行個體和隨需容量保留 ODCRs)。使用執行個體,您可以取得持久性運算,並在單一執行個體上執行多個協同合作代理程式,同時保持對基礎基礎設施的可見性和控制。

何時使用執行個體

當您的工作負載需要超出無伺服器 microVM 模型提供的功能時,請選擇執行個體運算類型:

  • 持久性、長時間執行的工作階段 – 工作階段最多可執行 14 天,相較之下,microVMs最多可執行 8 小時。這適合長時間執行的自動化、轉換任務,以及長時間暫停和繼續的客服人員。

  • 專用硬體:為 3D 渲染、模擬或模型推論等運算密集型工作負載選擇支援的 GPU 執行個體類型。AgentCore 會在執行個體上佈建 GPU 驅動程式,因此標準容器映像可在不綁定驅動程式的情況下運作,並支援運算 (CUDA) 和圖形工作負載。如需支援的系列,請參閱使用 GPU 執行個體類型。

  • 多代理程式協同合作 – 多個代理程式可以在相同的執行個體上執行、共用檔案系統,並在相同的任務上協調。

  • 您的帳戶、控制項 – 執行個體會在您的帳戶中執行,因此您的資料會保留在您的帳戶中,而且您可以使用現有的成本機制,例如 Savings Plans 和隨需容量保留 ODCRs)。

如果您的工作負載是快速完成的輕量型 API 驅動互動,則預設microVMs運算類型通常更適合。如需詳細資訊,請參閱比較運算類型。

核心概念

除了microVMs中所述的核心 AgentCore 執行期概念之外,在執行個體上託管代理程式還會引入一些資源。

容量提供者

容量提供者會定義代理程式執行的 EC2 基礎設施:作業系統、允許的執行個體類型、聯網 (VPC 和子網路)、儲存磁碟區,以及用來佈建和存取執行個體的 IAM 角色。容量提供者是可重複使用的範本 - 您可以將其與多個代理程式執行時間建立關聯,而 AgentCore 會使用它在叫用這些執行時間時啟動執行個體。

關鍵特性:

  • 容量提供者會以 CREATING 狀態建立,並在驗證其組態READY後變成 。如果驗證失敗,它會輸入 CREATE_FAILED。

  • 建立容量提供者之後,只能編輯其描述。若要變更其他組態,請複製容量提供者,並在重複的流程中進行更新。

  • 您可以列出與容量提供者相關聯的執行時間 (和執行時間版本),而且您必須先取消關聯,才能刪除容量提供者。

  • 刪除容量提供者會停止並刪除所有相關聯的工作階段及其持久性儲存。

執行個體上的代理程式執行時間

建立代理程式執行時間時,您可以選擇其運算類型。選取執行個體會透過 capacityProviderConfiguration 參數,將執行時間與容量提供者建立關聯。執行時間仍會定義代理程式執行的項目 (程式碼或容器成品) 及其設定方式 (通訊協定、身分驗證、端點、版本);容量提供者會定義其執行的運算。

您無法在建立執行時間後變更運算類型。

Session (工作階段)

工作階段是從執行階段容量提供者執行個體化的隔離 EC2 執行個體。每個工作階段都有自己的生命週期和持久性狀態,您可以使用您在調用時提供的 runtimeSessionId來識別它。AgentCore 會在第一次調用時以新的工作階段 ID 建立工作階段,並且工作階段會跨停止保留其狀態。

工作階段最多執行 14 天。當工作階段達到此生命週期上限時,AgentCore 會自動將其停止。它終止 EC2 執行個體,但保留工作階段的持久性磁碟區。若要在工作階段停止後繼續工作,請使用相同的 再次叫用執行時間runtimeSessionId。AgentCore 會佈建新的執行個體並重新連接持久性磁碟區,因此您的資料會保持不變。由於新執行個體可以從更新的機器映像啟動,重新啟動的工作階段可能會在具有最新修補程式的執行個體上執行。當您刪除工作階段時,AgentCore 會取消佈建所有內容,包括持久性磁碟區。

如需工作階段隔離和多租戶安全模型,請參閱執行期執行個體的安全模型和許可。

客服人員

代理程式是在工作階段中執行的工作負載。與一個執行時間託管一個代理程式的 microVM 模型不同,單一執行個體工作階段可以託管多個代理程式。當兩個代理程式執行時間共用相同的容量提供者時,您可以使用相同的 叫用它們runtimeSessionId,以將兩個代理程式登陸相同的 EC2 執行個體。在那裡,他們共用一個檔案系統,並且可以在相同的任務上協作。

了解受管執行個體

支援工作階段的 EC2 執行個體是 Amazon EC2 受管執行個體 — AgentCore 會代表您在帳戶中佈建和操作這些執行個體,因此相較於標準 EC2 執行個體,您對這些執行個體具有有限的許可。您可以依 EC2 DescribeInstances輸出中的 Operator 欄位和執行個體上的 AgentCore capacity-provider 標籤來識別它們。

您不會直接在這些執行個體上執行標準 EC2 生命週期操作,例如,您不會自行啟動、修補或終止它們。AgentCore 會管理其生命週期;若要移除它們,請刪除相關聯的容量提供者,這會停止並刪除其工作階段及其持久性儲存。根據預設,受管執行個體會從您的 EC2 主控台檢視和 API 清單操作中隱藏;您可以使用受管資源可見性設定進行變更。它們在您的帳戶中保持完全運作和計費。

比較運算類型

下表比較microVMs和執行個體運算類型,以協助您為工作負載選擇正確的類型。

特性 microVMs 執行個體

最適合

輕量型 API 驅動代理程式,可快速啟動、隨需擴展,並在數小時內完成

需要 GPUs 或多代理程式工作階段的長期執行、有狀態或協作工作負載

管理模型

全 AWS 受管、無伺服器、隨需擴展

AWS 帳戶中的受管 EC2;使用持久性工作階段 AWS 管理修補和更新

工作階段持續時間上限

最長 8 小時

最多 14 天

作業系統

Linux 容器 (arm64)

Linux (x86_64 和 arm64)

聯網

PUBLIC 或 VPC

VPC

客服人員模式

API、CLI

API、CLI

每個工作階段的代理程式數

一個執行時間託管一個代理程式 (1:1)

一個工作階段可以託管多個客服人員 (1:N)

支援的成品

容器映像和 Amazon S3 來源

容器映像和 Amazon S3 來源

GPU 存取

不支援

選擇支援的 GPU 執行個體類型;已為您佈建驅動程式

定價

以使用量為基礎,由 AgentCore 計費

在您的 帳戶中執行的 EC2 執行個體;使用您的 Savings Plans 和 ODCRs

模型和架構

任何

任何

使用 GPU 執行個體類型

對於模型推論、3D 轉譯和媒體處理等運算密集型工作負載,請在容量提供者的允許執行個體類型中包含 GPU 執行個體類型。AgentCore 會在執行個體上佈建 GPU 驅動程式,因此您不設定裝置路徑、GPU 索引或驅動程式版本,以及標準容器映像 (例如 CUDA 映像),無須綁定驅動程式即可運作。支援運算 (CUDA) 和圖形 (例如 Vulkan、EML 和 GLX) 工作負載。當同一執行個體上執行多個代理程式時,所有代理程式都會共用其 GPUs 的存取權。

支援下列 GPU 和加速器執行個體系列:

  • NVIDIA GPU 系列 – g4dn、g5、g6、g6e、gr6、gr6f、 g6f和 g7e。

  • AWS 加速器系列 – inf2(由 AWS Inferentia2 提供支援)。

如果您包含來自不支援之系列的加速器執行個體類型, 會CreateCapacityProvider失敗ValidationException,並顯示執行個體類型,並列出支援的系列。非加速器執行個體類型不受影響。

調用流程

呼叫由容量提供者支援的代理程式執行時間,會遵循與 microVM 模型相同的 InvokeAgentRuntime 進入點。AgentCore 會解析容量提供者,確保執行個體和代理程式正在為您的工作階段執行,並將請求代理給代理程式:

  1. 您可以使用InvokeAgentRuntime執行時間 ARN 和 來呼叫 runtimeSessionId。

  2. 如果該工作階段 ID 沒有工作階段,AgentCore 會從您帳戶中的執行時間容量提供者佈建 EC2 執行個體,並在其中啟動代理程式。工作階段的第一次調用需要更長的時間,因為它包含執行個體佈建。

  3. 如果工作階段已存在,AgentCore 會重複使用執行中的執行個體。調用與相同工作階段 ID 共用相同容量提供者的第二個執行時間,會在相同執行個體上與第一個代理程式一起啟動該代理程式。

  4. AgentCore 會將請求代理到代理程式,並將回應串流回給您。每個代理程式都會使用從其執行時間執行角色衍生的 IAM 登入資料來執行。

由於代理程式在您帳戶中的執行個體上執行,因此 EC2 執行個體、其網路介面和任何持久性磁碟區會顯示在您帳戶的 EC2 主控台中,並向您的 帳戶計費。這些是 Amazon EC2 受管執行個體 — AgentCore 代您在您的帳戶中佈建和操作的執行個體。您可以使用受管資源可見性設定,控制它們是否出現在 EC2 主控台檢視和 API 清單操作中。

跨工作階段的持久性儲存

容量提供者可以定義一或多個 Amazon EBS 磁碟區。當您儲存容量提供者時,AgentCore 會儲存磁碟區組態,並在工作階段第一次啟動時建立 EBS 磁碟區。當代理程式執行時間透過其儲存體組態掛載磁碟區時,磁碟區的資料在工作階段中會停止:

  1. 在第一次調用工作階段時,AgentCore 會建立磁碟區並將其連接到 EC2 執行個體。

  2. 當 AgentCore 停止工作階段時,它會終止 EC2 執行個體,但會保留磁碟區。

  3. 下次使用相同的 叫用時runtimeSessionId,AgentCore 會佈建新的執行個體並重新連接現有的磁碟區,因此代理程式會完整查看其先前的資料。

這可讓具狀態的代理程式工作流程在工作階段重新啟動期間保留工作區檔案、快取和檢查點。刪除工作階段會取消佈建 EC2 資源 - 執行個體、網路介面和 EBS 磁碟區 - 因此,您可以停止為不再需要的基礎設施產生成本。

IAM 角色

執行個體上的託管代理程式包含下列角色,除了授予代理程式程式碼其執行期許可的代理程式執行期執行角色之外:

  • 執行個體描述檔 – 連接至 EC2 執行個體的 IAM 角色。AgentCore 會使用它從執行個體收集系統日誌;它不會授予代理程式程式碼的許可 (代理程式執行時間執行角色會這麼做)。

  • 基礎設施角色 – AgentCore 擔任的 IAM 角色,可代表您在帳戶中佈建和管理 EC2 執行個體 (啟動、標記和設定執行個體及其網路界面的聯網)。

您可以讓主控台為您建立預設角色,或提供現有的角色。由於基礎設施角色授予 AgentCore 管理您帳戶中運算的能力,因此請將其範圍限定為工作負載所需的最低權限,並使用 IAM 條件在適當情況下將其限制為特定 VPCs、子網路或執行個體類型。