Amazon Bedrock 사용 시 Knowledge base configurations cannot be modified for an ongoing session 문제 해결
안녕하세요 클래스메소드 김재욱(Kim Jaewook) 입니다. 이번 블로그에서는 Amazon Bedrock 사용 시 Knowledge base configurations cannot be modified for an ongoing session 문제를 해결하는 방법에 대해 정리해 봤습니다.
문제 발생
Amazon Bedrock에서 RAG를 만들고 질문을 했더니 다음과 같은 에러 메시지가 출력되었습니다.
Error Fetching
Knowledge base configurations cannot be modified for an ongoing session. Please check your configuration and retry the request.

문제 해결
먼저 문제 원인을 살펴보면, Bedrock 콘솔의 “RAG" 화면도 내부적으로는 세션 기반 대화 (stateful session)로 동작합니다.
즉, 첫 질문을 하고 세션 시작이 시작 되어 KB(Knowledge Base) 설정이 고정됩니다.
이후 질문을 계속 하면 같은 세션 사용하게 되는데, 이 상태에서 KB(Knowledge Base)를 바꾸거나 검색 설정을 바꾸거나 모델을 바꾸면 에러가 발생합니다.
이럴 경우 Clear 아이콘을 클릭하거나 모델을 변경해서 새로운 세션을 시작하고 다시 질문을 날려보면, 답변이 날아오는 것을 확인할 수 있습니다.

마무리
이번 에러는 단순한 설정 문제가 아니라, Amazon Bedrock의 세션 기반 동작 방식을 이해해야 해결할 수 있는 문제였습니다.
Bedrock의 Knowledge Base 기능은 RAG(Retrieval-Augmented Generation)를 기반으로 동작하며, 한 번 세션이 시작되면 다음과 같은 요소들이 함께 고정됩니다.
- 어떤 Knowledge Base를 사용할지
- 어떤 검색(Retrieval) 설정을 사용할지
- 어떤 모델을 사용할지
이러한 설계는 대화의 일관성을 유지하기 위한 장점이 있지만, 반대로 설정을 변경하려는 경우에는 반드시 새로운 세션을 시작해야 한다는 제약으로 이어집니다.
특히 콘솔에서 간단히 테스트할 때는 이 구조를 인지하지 못한 채 설정을 바꿔가며 반복 테스트를 진행하는 경우가 많은데, 이때 동일한 세션이 유지되면서 이번과 같은 에러를 쉽게 만나게 됩니다.
따라서 Bedrock Knowledge Base를 사용할 때는 다음과 같은 흐름을 권장합니다.
- 테스트 전: 사용할 Knowledge Base 및 모델을 먼저 확정
- 테스트 중: 설정 변경이 필요하면 즉시 세션 초기화
- 테스트 후: 실제 서비스에서는 세션 관리 전략을 별도로 설계
특히 실무 환경에서는 단순 콘솔 테스트를 넘어 API 또는 AWS Lambda와 같은 서버리스 환경에서 Bedrock을 호출하게 되는데, 이 경우에도 세션을 어떻게 생성하고 관리할 것인지가 매우 중요한 설계 포인트가 됩니다.
예를 들어, 사용자별로 세션을 분리할지, 요청마다 새로운 세션을 생성할지에 따라 응답 품질과 시스템 구조가 크게 달라질 수 있습니다.
결론적으로, 이번 에러는 단순히 “Clear 버튼을 누르면 해결되는 문제”가 아니라, Bedrock의 Knowledge Base가 상태 기반(Stateful) 시스템이라는 점을 이해해야 재발을 방지할 수 있는 이슈입니다. 앞으로 Bedrock을 활용한 RAG 시스템을 설계할 때는 세션과 Knowledge Base의 관계를 명확히 이해하고 사용하는 것이 중요합니다.






