View a markdown version of this page

작동 방식 - Amazon Bedrock AgentCore

작동 방식

Amazon Bedrock AgentCore 런타임은 규모 조정, 세션 관리, 보안 격리 및 인프라 관리를 처리하므로 운영 복잡성이 아닌 지능형 에이전트 경험을 구축하는 데 집중할 수 있습니다. 여기에 설명된 기능을 활용하여 사용자에게 가치를 제공하는 동시에 엔터프라이즈급 보안 및 신뢰성을 유지하는 데 도움이 되는 정교한 AI 에이전트를 구축, 배포 및 관리할 수 있습니다.

핵심 구성 요소

AgentCore 런타임

AgentCore 런타임은 AI 에이전트 또는 도구 코드를 호스팅하는 기본 구성 요소입니다. 이는 사용자 입력을 처리하고, 컨텍스트를 유지하고, AI 기능을 사용하여 작업을 실행하는 컨테이너화된 애플리케이션을 나타냅니다. 에이전트를 생성할 때 에이전트의 동작, 기능 및 에이전트가 액세스할 수 있는 도구를 정의합니다. 예를 들어 고객 지원 에이전트는 제품 질문에 답변하고, 반품을 처리하고, 복잡한 문제를 담당자에게 에스컬레이션할 수 있습니다.

AgentCore CLI , AgentCore Python SDK를 사용하거나 SDK를 통해 직접 에이전트를 빌드하여 AgentCore 런타임에 배포할 수 있습니다. AWS SDKs AgentCore Python SDK를 사용하면 LangGraph, CrewAI 또는 Strands 에이전트와 같은 인기 프레임워크를 사용하여 에이전트를 정의할 수 있습니다. SDK는 인프라 복잡성을 처리하므로 에이전트의 로직과 기능에 집중할 수 있습니다.

각 AgentCore 런타임:

  • 고유한 자격 증명이 있음

  • 제어된 배포 및 업데이트를 지원하도록 버전이 지정됨

버전

각 AgentCore 런타임은 특정 시점에 구성의 전체 스냅샷을 캡처하는 변경 불가능한 버전을 유지합니다.

  • AgentCore 런타임을 생성하면 버전 1(V1)이 자동으로 생성됩니다.

  • 구성(컨테이너 이미지, 프로토콜 설정, 네트워크 설정)을 업데이트할 때마다 새 버전이 생성됩니다.

  • 각 버전에는 실행에 필요한 모든 구성이 포함되어 있습니다.

이 버전 관리 시스템은 안정적인 배포 기록 및 롤백 기능을 제공합니다.

엔드포인트

엔드포인트는 특정 버전의 AgentCore 런타임에 주소 지정 가능한 액세스 포인트를 제공합니다. 각 엔드포인트:

  • 호출을 위한 고유한 ARN이 있음

  • 에이전트 런타임의 특정 버전을 참조합니다.

  • 구현을 업데이트하는 경우에도 에이전트에 대한 안정적인 액세스를 제공합니다.

주요 엔드포인트 세부 정보:

  • CreateAgentRuntime을 호출하면 "DEFAULT" 엔드포인트가 자동으로 생성되고 최신 버전을 가리킵니다.

  • AgentCore 런타임을 업데이트하면 새 버전이 생성되지만 DEFAULT 엔드포인트가 자동으로 업데이트되어 이를 참조합니다.

  • 다양한 환경(개발, 테스트, 생산)에 대한 CreateAgentRuntimeEndpoint 작업을 사용하여 사용자 지정 엔드포인트를 생성할 수 있습니다.

  • 사용자가 엔드포인트에 요청하면 요청이 해당 엔드포인트에서 참조하는 특정 에이전트 버전으로 확인됩니다.

엔드포인트에는 다음과 같은 고유한 수명 주기 상태가 있습니다.

  • CREATING - 엔드포인트 생성 중 초기 상태

  • CREATE_FAILED - 권한 또는 기타 문제로 인한 생성 실패를 나타냅니다.

  • READY - 엔드포인트가 작동하고 요청을 수락합니다.

  • UPDATING - 새 버전을 참조하도록 엔드포인트를 수정하는 중입니다.

  • UPDATE_FAILED - 업데이트 작업 실패를 나타냅니다.

가동 중지 없이 엔드포인트를 업데이트하여 원활한 버전 전환 및 롤백을 수행할 수 있습니다.

세션

세션은 사용자와 AgentCore 런타임 간의 개별 상호 작용 컨텍스트를 나타냅니다. 각 세션:

  • 애플리케이션에서 runtimeSessionId 제공하는 고유한 로 식별되거나가 비어 있는 경우 첫 번째 호출에서 런타임 자체로 식별runtimeSessionId됩니다.

  • 완전히 격리된 CPU, 메모리 및 파일 시스템 리소스가 있는 전용 microVM에서 실행

  • 동일한 대화 내에서 여러 상호 작용의 컨텍스트를 보존합니다.

  • 최대 8시간의 총 런타임 동안 지속될 수 있습니다.

세션 상태는 다음과 같습니다.

  • 활성 - 현재 요청을 처리 중이거나 백그라운드 작업을 실행 중입니다.

  • 유휴 - 요청을 처리하지 않고 다음 상호 작용을 기다리는 동안 컨텍스트 유지

  • 종료됨 - 비활성(15분), 최대 수명(8시간)에 도달 또는 비정상으로 간주되어 세션이 종료됨

중요한 세션 특성:

  • 세션 종료 후 전체 microVM이 종료되고 메모리가 삭제됩니다.

  • 종료 runtimeSessionId 후 동일한를 사용하는 후속 요청은 새 실행 환경을 생성합니다.

  • 세션 격리는 세션 간 데이터 오염을 방지하고 보안을 보장합니다.

  • 세션 상태는 일시적이므로 장기 내구성에 사용해서는 안 됩니다( 컨텍스트 내구성에는 AgentCore 메모리 사용).

세션 간 이러한 완전한 격리는 특히 비결정적 AI 프로세스를 처리할 때 엔터프라이즈 보안에 매우 중요합니다.

인증 및 보안

AWS Identity and Access Management 또는 OAuth 2.0을 통해 에이전트에 액세스할 수 있는 인바운드 인증 제어로, 요청을 진행하기 전에 자격 증명 공급자의 보유자 토큰을 검증합니다. 아웃바운드 인증을 사용하면 에이전트가 사용자 위임 또는 자율 모드에서 자격 증명을 관리하는 AgentCore 자격 증명을 사용하여 OAuth 또는 API 키를 사용하여 타사 서비스에 안전하게 액세스할 수 있습니다. 자세한 내용은 Authenticate and authorize with Inbound Auth and Outbound Auth를 참조하세요.

인바운드 인증

AgentCore 자격 증명으로 구동되는 인바운드 인증은 AgentCore 런타임에서 에이전트 또는 도구에 액세스하고 호출할 수 있는 사용자를 제어합니다.

인증 방법

  • AWS IAM(SigV4): 자격 증명 확인을 위해 AWS 자격 증명을 사용합니다.

  • OAuth 2.0 : 외부 자격 증명 공급자와 통합

OAuth 구성 옵션

  • 검색 URL: ID 제공업체의 OpenID Connect 검색 엔드포인트

  • 허용된 대상 : 토큰에 포함해야 하는 유효한 대상 값 목록

  • 허용된 클라이언트:이 에이전트에 액세스할 수 있는 클라이언트 식별자 목록

인증 흐름

  1. 최종 사용자가 자격 증명 공급자(Amazon Cognito, Okta, Microsoft Entra ID)로 인증

  2. 클라이언트 애플리케이션은 인증 성공 후 보유자 토큰을 수신합니다.

  3. 클라이언트는 에이전트를 호출할 때 권한 부여 헤더에이 토큰을 전달합니다.

  4. AgentCore 런타임은 권한 부여 서버를 사용하여 토큰을 검증합니다.

  5. 유효한 경우 요청이 처리되고 유효하지 않은 경우 요청이 거부됩니다.

이렇게 하면 적절한 권한이 있는 인증된 사용자만 에이전트에 액세스할 수 있습니다.

아웃바운드 인증

Amazon Bedrock AgentCore 자격 증명으로 구동되는 아웃바운드 인증을 사용하면 AgentCore 런타임에서 호스팅되는 에이전트가 타사 서비스에 안전하게 액세스할 수 있습니다.

인증 방법

  • OAuth : OAuth 흐름을 지원하는 서비스의 경우

  • API 키: 키 기반 인증을 사용하는 서비스의 경우

인증 모드

  • 사용자 위임 : 자격 증명을 사용하여 최종 사용자를 대신하여 작업

  • 자율 : 서비스 수준 자격 증명으로 독립적으로 작동

지원되는 서비스

  • Slack, Zoom 및 GitHub와 같은 엔터프라이즈 시스템

  • AWS 서비스

  • 사용자 지정 APIs 및 데이터 소스

AgentCore 자격 증명은 이러한 자격 증명을 안전하게 관리하여 에이전트 코드 또는 로그의 자격 증명 노출을 방지합니다.

기타 기능

비동기식 프로세스

AgentCore 런타임은 다음을 통해 장기 실행 워크로드를 지원합니다.

  • 요청/응답 주기를 초과하는 작업에 대한 백그라운드 작업 처리

  • /ping 엔드포인트를 통한 자동 상태 추적

  • 최대 8시간의 작업 지원

자세한 내용은 Amazon Bedrock AgentCore 런타임을 사용하여 비동기식 및 장기 실행 에이전트 처리를 참조하세요.

스트리밍 응답

에이전트는 전체 처리를 기다리지 않고 사용 가능한 부분 결과를 스트리밍할 수 있습니다. 이를 통해 특히 대량의 콘텐츠를 생성하거나 완료하는 데 상당한 시간이 걸리는 작업의 경우 응답성이 뛰어난 사용자 환경을 제공할 수 있습니다. 자세한 내용은 에이전트 응답 스트리밍을 참조하세요.

WebSocket API

AgentCore 런타임은 대화형 에이전트 통신을 위한 실시간 양방향 스트리밍 연결을 위한 WebSocket 지원을 제공합니다. 이를 통해 응답성이 뛰어나고 대화형 에이전트 경험을 제공할 수 있습니다. 자세한 내용은 WebSocket을 사용하여 양방향 스트리밍 시작하기를 참조하세요.

프로토콜 지원

AgentCore 런타임은 여러 통신 프로토콜을 지원합니다.

구현 개요

다음은 AgentCore 런타임을 시작하는 방법입니다. 전체 예제는 AgentCore CLI 시작하기를 참조하세요.

에이전트 또는 도구 코드 준비

  • AI 프레임워크 또는 사용자 지정 코드를 사용하여 에이전트 로직 정의

  • AgentCore SDK 또는 사용자 지정 구현을 사용하여 필요한 HTTP 엔드포인트 추가

  • requirements.txt 파일의 패키지 종속성

에이전트 또는 도구 배포

  • 컨테이너 이미지를 빌드하여 Amazon ECR에 직접 또는 AgentCore SDK를 통해 푸시

  • 컨테이너 이미지를 사용하여 AgentCore 런타임 생성

  • 초기 버전(V1) 및 DEFAULT 엔드포인트가 자동으로 생성됩니다.

에이전트 또는 도구 호출

세션 관리 및 관찰, 업데이트

  • 후속 상호 작용에 동일한 세션 ID를 사용하여 컨텍스트 유지

  • 로그, 추적 및 관찰성 지표 검토

  • AgentCore 런타임을 수정하여 업데이트 배포(새 버전 생성)

  • 새 버전을 가리키도록 엔드포인트를 업데이트하여 롤아웃 제어