pile·
AI / ML·AWS KoreaAWS Korea Tech·

Strands와 AgentCore를 활용해 Amazon RDS for SQL Server용 에이전틱 AI 구축하기

Amazon RDS for SQL Server 의 deadlock·blocking 진단을 사람이 매번 T-SQL 스크립트로 돌리던 일을, Strands Agents 와 Amazon Bedrock AgentCore 로 자동화한 사례를 다룬다. 기존 진단 쿼리를 Python @tool 로 감싸고 LLM 추론·메모리를 붙여, DBA 가 자연어로 묻고 SNS 보고서까지 받는 에이전트를 구축한다.

핵심 포인트
  • Strands Agents 가 T-SQL 진단 쿼리를 Python @tool 로 래핑하고, Bedrock AgentCore 가 VPC 배포·스케일링·관찰성을 맡는 3계층 구조다.
  • deadlock 은 system_health 확장 이벤트(XE)에서, blocking 은 DMV 재귀 CTE 로 head blocker·체인 레벨을 뽑는다.
  • 시스템 프롬프트로 "증상부터 시작"을 강제해 모든 도구를 무작정 호출하지 않게 했다.
  • AgentCore Memory 로 세션 간 반복 패턴을 학습시켜 일회성 조사의 한계를 넘는다.
  • SQL injection 방지로 f-string 대신 매개변수화 쿼리를 쓰고, 진단 정확도를 위해 temperature 0.3 을 둔다.
상세 정리
  • 문제: RDS SQL Server 운영에서 deadlock(오류 1205)과 blocking(타임아웃)을 진단하려면 세션 ID·SQL·락 유형·head blocker 를 매번 수동 쿼리로 찾아야 했다.
  • 3계층: 에이전트 프레임워크 Strands Agents, 런타임 관리 Bedrock AgentCore, 세션 간 학습용 AgentCore Memory 로 구성한다.
  • 5개 도구: get_deadlock_graphs(시간 범위), get_blocking_chains, get_session_details, get_blocked_process_reports, send_diagnostic_report 를 @tool 로 정의한다.
  • deadlock 수집: trace flag 1204/1222 를 켜고 system_health 세션이 자동 캡처한 xml_deadlock_report 를 fn_xe_file_target_read_file 로 읽는다.
  • blocking 분석: sys.dm_exec_requests 등 DMV 를 재귀 CTE 로 묶어 blocking_session_id=0 을 앵커로 head blocker 부터 chain_level 순으로 계층을 푼다.
  • blocked_process_report: 과거 blocking 을 잡으려면 blocked_process_threshold 를 설정한 사용자 정의 XE 세션이 필요하다.
  • 에이전트 정의: BedrockModel(temperature 0.3)에 시스템 프롬프트로 증상 우선·오류 코드별 도구 선택·심각도(Critical/Warning/Info)+권장사항 출력을 지시한다.
  • 배포: agentcore configure/deploy 로 VPC 프라이빗 서브넷 2개와 보안 그룹(1433 포트)에 올리고, 실행 역할에 Bedrock·Secrets Manager·SNS·CloudWatch Logs 권한을 준다.
  • 동작 흐름: DBA 프롬프트 → LLM 이 deadlock 그래프 수집·XML 파싱 → 세션 상세·blocking 체인 확인 → 근본 원인 분석 → SNS 보고서 발송 순으로 돈다.
  • 실제 출력: "Suppliers vs Employees 반대 락 순서"로 인한 deadlock 1건을 WARNING 으로 분류하고 일관된 락 순서·READ_COMMITTED_SNAPSHOT 을 권장했다.
  • 메모리: semantic 전략은 반복 패턴(특정 테이블 교착 재발)을, summary 전략은 조사 세션 요약을 보존하고 CPU 같은 일시 메트릭은 제외하며 보관은 30일이다.
  • 함정: DMV 만으론 과거 데이터가 없어 XE 조합이 필요하고, 시스템 프롬프트 없이는 에이전트가 모든 쿼리를 한꺼번에 던지며, 기본 IAM 역할로는 배포가 안 된다.
왜 읽나RDS SQL Server 의 반복적 deadlock·blocking 진단을 LLM 에이전트로 자동화하려는 DBA·플랫폼 엔지니어에게, 도구 설계부터 VPC 배포·메모리까지의 레퍼런스.
AWS Korea
AWS Korea Tech 블로그
원문은 여기서 이어서 읽을 수 있어요
원문 읽기
읽음 (0)

이 글과 비슷한

  1. AI / ML·인프랩 (인프런)인프런 (인프랩)·

    학습 에이전트 — AI 두뇌 구축하기

    인프런이 강의 학습 에이전트를 구축하며 겪은 기술 스택 선정, 컨텍스트·도구 설계, LLM-as-a-Judge 품질 개선, 비용 최적화 전략을 다룬다. LLM SSE 스트리밍 처리를 위해 Spring MVC + Virtual Thread + Spring AI를 선택하고, 명시적 프롬프트 캐싱으로 입력 토큰을 90% 절감하는 과정까지 실전 경험이 담겨 있다.

    #ai-agent#llm#llm-as-a-judge+2
  2. AI / ML·네이버 D2네이버 D2·

    AI 에이전트 회사 차리기: 설립부터 어디서든 동기화까지

    네이버 ENGINEERING DAY 2026 발표. Claude Code를 매일 쓰지만 매번 초기화되는 문제를 해결하기 위해 NaverMadCat이라는 다중 AI 에이전트 조직 프레임워크를 구축한 경험을 다룬다. 비서실장 역할의 에이전트가 10개 부서 에이전트를 조율하며, 어느 환경에서 접속해도 동일한 컨텍스트로 동작하도록 동기화 메커니즘을 구현했다.

    #claude-code#multi-agent#ai-agent+2
  3. AI / ML·vercel-blogVercel Blog·

    AI Gateway에서 실시간 음성 에이전트 구축하기

    Vercel AI Gateway가 음성·오디오 기능을 정식 지원한다. 실시간 대화 음성(Realtime Voice), 텍스트→음성(TTS), 음성→텍스트(STT) 세 가지를 기존 텍스트/이미지 모델과 동일한 라우팅·인증·모니터링 체계 위에서 사용할 수 있다. OpenAI gpt-realtime-2·Whisper와 xAI Grok 오디오 모델을 지원하며, AI SDK 7 베타로 제공된다.

    #llm-app#ai-sdk#realtime-voice+2