Amazon Bedrock AgentCore harness GA 출시와 n8n 통합

인프라 코드를 직접 작성하지 않고 프로덕션급 AI 에이전트를 구축할 수 있는 환경이 마련됐다. Amazon Bedrock AgentCore harness의 정식 출시(GA)로 개발자는 서버 설정이나 에이전트 코드 구현 없이 시각적 에디터만으로 시스템을 배포할 수 있다. 이는 인프라 설계와 구현 단계를 생략해 서비스 배포 시간을 단축한다. 워크플로우 자동화 도구인 n8n의 시각적 에디터에서 지속성 메모리와 도구를 갖춘 에이전트를 즉시 구성할 수 있어 코딩 없이도 에이전트 구축이 가능하다.

AWS는 이를 위해 MIT 라이선스로 공개된 오픈소스 커뮤니티 노드 `@aws/n8n-nodes-agentcore`를 제공한다. 설치 후 에디터 내에서 드래그 앤 드롭 방식으로 에이전트의 흐름을 설계한다. 이 시스템은 AWS의 오픈소스 에이전트 프레임워크인 Strands Agents를 기반으로 작동하며, 에이전트가 목표 달성을 위해 계획을 세우고 도구를 사용하는 논리 구조를 제공한다.

특정 모델 제공자에 종속되지 않는 유연한 선택권이 핵심이다. Amazon Bedrock, OpenAI, Google Gemini, LiteLLM 지원 제공자를 모두 사용할 수 있다. 특히 동일한 대화 턴 사이에서 모델 제공자를 교체할 수 있어, 복잡한 추론 단계에서는 고성능 모델을 쓰고 단순 응답 단계에서는 경량 모델로 전환해 운영 비용을 줄이고 응답 속도를 높인다.

사용자가 생성하는 각 에이전트는 AWS 계정 내의 harness 리소스로 생성되며, n8n 자격 증명 설정에서 액세스 키, 리전, 실행 역할 ARN(AWS 리소스 고유 식별 이름)을 입력해 연결한다. 에이전트 생성 시 관리형 메모리 스토어가 자동으로 프로비저닝되어 대화 내용을 저장한다. 다만 사용하지 않는 에이전트를 방치하면 비용이 계속 발생하므로 불필요한 리소스는 삭제해야 한다.

Actor ID와 Session ID를 이용한 계층적 메모리 격리

에이전트를 처음 실행하면 리소스 프로비저닝 과정으로 인해 약 30~60초가 소요된다. 이 단계에서 관리형 메모리 스토어가 자동으로 배치되어 사용자가 별도의 저장소 설정 없이도 메모리 기능을 즉시 사용할 수 있다. 실행 결과값에는 최종 응답과 토큰 사용량, 그리고 생성된 메모리 스토어의 ARN이 포함된 프로비저닝 요약 정보가 출력된다.

다수 사용자를 응대하는 환경에서는 Actor ID(사용자 개별 식별자)를 통해 메모리 접근 범위를 격리한다. 메모리 관리 체계는 에이전트, Actor ID, Session ID(개별 대화 식별자)의 3단계 계층 구조를 따른다. 최상위 에이전트 계층은 공통 지침과 시스템 설정을 보유하고, 중간 Actor ID 계층은 사용자별 메모리 영역을 분리해 데이터가 섞이지 않게 관리한다. 최하위 Session ID 계층은 한 사용자가 생성한 여러 대화 세션을 다시 격리하여 주제가 다른 대화 맥락이 서로 영향을 주지 않도록 제어한다.

메모리 식별 로직은 Actor ID를 최상위 기준으로 삼아 세션의 독립성을 보장한다. 서로 다른 Actor ID를 가진 사용자가 동일한 Session ID를 입력하더라도, 시스템은 Actor ID로 사용자 영역을 먼저 구분한 뒤 세션에 접근한다. 이를 통해 동일 세션 ID라도 사용자별로 다른 메모리 저장소에 접근하게 되어 데이터 유출을 차단한다. 반면 Session ID를 공란으로 유지하면 매 실행을 새로운 대화로 간주해 이전 맥락 없이 응답한다.

샌드박스 코드 인터프리터 및 MCP 서버 확장 도구

메모리 격리를 통해 사용자 맥락을 유지한 에이전트는 샌드박스 코드 인터프리터를 통해 정밀한 연산을 수행한다. 외부와 격리된 환경에서 코드를 직접 구동해 모델이 텍스트 추론만으로 처리하기 어려운 평균, 중앙값, 표준편차 같은 통계 수치를 정확하게 산출한다. 이는 확률적 단어 예측이 아니라 실제 연산 엔진의 결과값을 출력값으로 사용하는 구조다.

에이전트는 모델의 추론 결과에 따라 하네스(Harness, 모델 주변의 오케스트레이션 및 도구 호출 체계)가 도구를 호출하고 실행하는 방식으로 작동한다. 하네스는 오케스트레이션 루프 실행, 도구 호출, 컨텍스트 윈도우 관리, 세션 격리, 실패 복구를 전담한다. 확장 도구로는 클라우드 브라우저, AgentCore Gateway, 원격 MCP(Model Context Protocol) 서버를 지원한다. MCP는 모델이 외부 데이터 소스나 도구에 표준화된 방식으로 접근하는 통신 규격이다.

스킬은 특정 도메인의 지침과 스크립트를 묶은 단위다. 모든 지식을 프롬프트에 넣는 대신, 특정 작업 요청 시에만 해당 스킬을 동적으로 로드한다. 이는 모델이 한 번에 처리할 수 있는 텍스트 양인 컨텍스트 윈도우를 효율적으로 관리해 추론 정확도를 높이고 토큰 소모를 최적화한다.

스킬 로드 경로는 큐레이션 카탈로그, Git 저장소, Amazon S3, 파일시스템 경로의 네 가지 인터페이스로 구현된다. 사용자는 기업 내부 저장소의 전문 스크립트를 에이전트와 연결해 사내 업무 프로세스에 맞춘 전용 스크립트를 실행할 수 있다. 하네스가 도구 호출과 컨텍스트 관리를 전담함으로써 모델은 논리적 추론에만 집중한다.

VPC 배포를 통한 프라이빗 네트워크 보안 구성

VPC 모드에서는 서브넷과 보안 그룹 ID를 자격 증명 설정에 지정하여 인터넷 연결 없이 에이전트를 실행한다. n8n에서 AWS Lambda나 Amazon S3 노드를 사용하는 개발자는 기존과 동일한 자격 증명 패턴을 적용할 수 있다. 이는 민감한 데이터가 공인 인터넷망을 통해 전송되는 경로를 물리적으로 차단해 데이터 유출 가능성을 낮춘다.

네트워크 구성 시 NAT 게이트웨이를 별도로 구축할 필요 없이, Amazon ECR(컨테이너 이미지 저장소)과 Amazon S3를 위한 VPC 엔드포인트를 생성해 연결한다. VPC 엔드포인트는 데이터가 AWS 내부 네트워크망을 통해 서비스에 직접 도달하게 하는 전용 통로다. 에이전트 구동에 필요한 관리형 컨테이너 이미지는 동일 리전의 프라이빗 Amazon ECR 저장소에서 직접 호출한다. 이를 통해 전송 구간의 보안을 강화하고 데이터 전송 경로를 단축해 호출 효율을 높인다. 하네스가 사용하는 실행 역할에 적절한 권한이 부여되어야 프라이빗 저장소의 이미지를 정상적으로 가져올 수 있다.

권한 관리는 AWS IAM Identity Center나 AWS STS(임시 보안 자격 증명 서비스) 사용을 권장한다. IAM 권한 설정 시 최소 권한 원칙을 준수해 에이전트가 필요한 최소한의 리소스에만 접근하도록 제한해야 한다. 특히 자격 증명 정보를 소스 제어 시스템에 직접 커밋하는 행위를 금지하고 임시 자격 증명 체계를 도입하면, 유출 시 피해 기간을 제한하고 세션별로 접근 권한을 정밀하게 제어할 수 있다.

실무 도입 시 고려해야 할 비용과 운영 전략

AgentCore harness, 관리형 메모리 스토어, 인터페이스 VPC 엔드포인트는 사용량에 따라 비용이 발생하는 과금 대상이다. 특히 인터페이스 VPC 엔드포인트는 활성화 상태만으로도 비용이 청구되므로, 테스트가 완료된 에이전트나 미사용 엔드포인트는 수동으로 삭제해 비용 누수를 막아야 한다.

설정만으로 구현하기 어려운 복잡한 로직이 필요할 때는 AgentCore harness를 Strands 코드로 내보낼 수 있다. Strands는 파일시스템, 셸, 세션 간 메모리, 웹 브라우징 기능을 포함한 격리 환경을 제공하는 오픈소스 프레임워크다. 이를 통해 n8n의 시각적 인터페이스로 빠르게 검증한 뒤, 세부 엔지니어링 제어가 필요한 시점에 코드로 전환하는 운영 방식을 지원한다.

실제 구현을 위한 워크플로우 템플릿은 GitHub 저장소의 `examples/templates` 폴더에서 제공한다. 사용자는 요구사항에 따라 n8n의 기본 AI Agent 노드와 AgentCore harness 노드 중 하나를 선택해야 한다. 단순한 모델 호출 한 번으로 작업이 끝난다면 기본 AI Agent 노드가 적합하다. 반면 샌드박스 환경에서 직접 코드를 실행해 정확한 수치를 계산하거나 복잡한 도구 오케스트레이션 루프가 필요하다면 AgentCore harness 노드를 사용해야 한다. `@aws/n8n-nodes-agentcore` 설치를 통해 이 모든 기능을 n8n 에디터 내에서 단일 필드로 제어할 수 있다.

단일 모델 호출의 효율성과 전체 오케스트레이션 루프의 제어권 중 무엇이 우선인지에 따라 노드를 선택하는 것이 배포의 핵심 기준이다.

실제 구현을 위한 워크플로우 템플릿은 GitHub 저장소 내의 `examples/templates` 폴더에서 제공하며, 이를 통해 엔드투엔드 사례를 빠르게 적용할 수 있다.