View a markdown version of this page

테넌트 격리 적용 - AWS 권장 가이드

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

테넌트 격리 적용

테넌트 격리는 모든 다중 테넌트 설정에 적용되는 개념입니다. 즉, 정책 및 전략은 한 테넌트가 다른 테넌트 리소스에 액세스할 수 없도록 합니다. 다중 테넌트 에이전트의 경우 및 에이전트의 테넌트 격리 요구 사항을 적용하는 데 도움이 되는 구성 및 메커니즘을 도입해야 할 수 있습니다.

테넌트 격리 적용은 기존 다중 테넌트 시스템을 사용하는 다른 전략과 같습니다. 일반적으로 AaaS 아키텍처를 구성할 때 요청 또는 작업이 리소스에 액세스하여 요청이 테넌트 경계를 초과하는지 확인할 수 있는 시스템 영역을 식별합니다. 예를 들어 마이크로서비스에는 테넌트별 전용 Amazon DynamoDB 테이블에 대한 종속성이 있을 수 있습니다. 이렇게 하려면 한 테넌트의 테이블에 다른 테넌트가 액세스할 수 없도록 하는 정책을 도입해야 합니다.

이 경우 에이전트 렌즈를 통한 테넌트 격리와 테넌트별 리소스와의 상호 작용을 고려합니다. 다음 다이어그램은 에이전트가 테넌트 격리 정책을 적용하여 테넌트 리소스에 대한 액세스를 제어하는 방법의 개념적 예를 보여줍니다.

에이전트에 테넌트 격리 적용.

이 다이어그램의 오른쪽에는 에이전트가 별도의 벡터 데이터베이스에 저장된 테넌트별 지식이 있습니다. 에이전트는 요청을 처리할 때 요청을 하는 테넌트의 컨텍스트를 검사합니다. 이를 기반으로 에이전트는 테넌트가 지정된 경계 외부의 데이터 또는 리소스에 액세스하지 못하도록 적절한 격리 정책을 적용합니다.

에이전트가 모델 컨텍스트 프로토콜(MCP)을 사용하는 경우 테넌트 격리 모델을 구현할 수도 있습니다. 다음 다이어그램은 MCP를 도입하고 격리 정책을 적용하는 방법의 예를 보여줍니다.

MCP를 사용한 테넌트 격리.

MCP는 에이전트가 모든 도구, 데이터 및 리소스와 통합하는 데 사용하는 표준화된 프로토콜입니다. 이 예제에서는 MCP 클라이언트 및 MCP 서버가 다이어그램 오른쪽에 표시된 테넌트별 지식 및 도구와 상호 작용합니다. 테넌트 컨텍스트는 클라이언트에서 서버로 흐르며 서버는이 컨텍스트를 사용하여 AWS Identity and Access Management (IAM) 서비스에서 테넌트 범위 자격 증명을 획득합니다. 자격 증명은 각 테넌트의 리소스에 대한 액세스를 제어하여 한 테넌트가 다른 테넌트의 리소스에 액세스할 수 있도록 합니다.

에이전트는 다중 테넌시를 통합하므로 요청을 처리할 때 테넌트 격리 정책을 적용하는 메커니즘을 도입해야 합니다. 경우에 따라 IAM은 테넌트 리소스에 대한 액세스를 제한하는 데 도움이 될 수 있습니다. 다른 경우에는 테넌트 격리 정책을 적용하기 위해 다른 도구 또는 프레임워크를 도입해야 할 수 있습니다.

노이즈가 많은 이웃 및 에이전트

여러 테넌트가 에이전트를 공유하는 다중 테넌트 AaaS 환경에서는 시끄러운 이웃 조건을 방지하는 정책을 도입하는 위치와 방법을 고려합니다. 정책은 모든 소비에 적용되는 범용 제한을 도입하거나 지정된 페르소나에 따라 제한을 적용하는 테넌트 또는 계층 기반 정책을 보유할 수 있습니다. 기본 계층 테넌트에는 프리미엄 계층 테넌트보다 더 큰 소비 제한을 적용할 수 있습니다.

이러한 제한 개념은 여러 아키텍처 지점에서 적용할 수 있습니다. 다음 다이어그램은 노이즈가 많은 이웃 정책을 도입할 수 있는 몇 가지 영역의 예를 보여줍니다.

노이즈가 많은 이웃 정책을 소개합니다.

다중 에이전트 구현에 대한 이전 검토에서 에이전트가 사용할 수 있는 다양한 리소스를 조사하여 에이전트 내의 테넌트당 리소스의 가능성을 강조했습니다. 각 접점은 제한 정책을 도입할 수 있는 잠재적 영역으로, 테넌트가 시스템의 소비 한도 또는 테넌트의 계층화 정책을 초과하지 않도록 하는 데 도움이 됩니다.

시끄러운 이웃 보호를 도입하는 가장 좋은 장소는 테넌트가 리소스를 공유하는 아키텍처의 지점입니다. 컴퓨팅, 메모리, APIs 및 대규모 언어 모델과 같은 이러한 공유 또는 풀링된 구성 요소는 단일 테넌트가 불균형하게 소비하는 경우 성능 저하에 가장 취약합니다.

제한을 적용할 수 있는 자연적인 위치 중 하나는 에이전트의 진입점에 있으며, 이를 "외부 엣지"라고도 합니다. 여기서는 에이전트가 요청 처리를 시작하기 전에 전역 또는 tenant-tier-based 속도 제한을 도입할 수 있습니다. 또한 제한은 에이전트가 LLM을 호출하거나 메모리에 액세스하거나 공유 도구를 호출하는 경우와 같이 실행 경로에서 더 깊이 적용될 수 있습니다.

이러한 정책은 공정한 사용을 적용하고, 로드 시 에이전트 복원력을 유지하고, 테넌트 간에 일관된 경험을 유지하는 데 도움이 됩니다. 목표에 따라 일반적인 시스템 보호(탄력성) 또는 테넌트 경험의 세분화된 관리(예: 계층 기반 권한)에 집중할 수 있습니다.