AWS가 Amazon MWAA(관리형 Apache Airflow), Bedrock AgentCore Runtime, S3 Vectors, MCP를 결합해 클라우드 정책을 자동 수집·시맨틱 검색하고 역할별 AI 에이전트가 분석하는 거버넌스 아키텍처를 제안했다. IAM 정책, 보안 그룹, 스토리지 등 AWS 10개 카테고리와 타사 클라우드 정책을 MWAA DAG가 매일 자동으로 수집하고, Titan Embed v2로 벡터화해 자연어 쿼리로 조회할 수 있게 한다.
핵심 포인트- 3계층 구조: MWAA DAG(데이터 수집·벡터화) → S3 Vectors(1024차원 코사인 거리 인덱스, 클라우드별 분리) → AgentCore Runtime(Strands Agent 서버리스 실행).
- MCP 표준 도구 6개(시맨틱 검색, 상세 조회, 날짜간 비교, 변경 이력, 수집 요약, 카테고리별 목록)를 한 번 정의해 Kiro 등 다양한 AI 클라이언트에서 재사용 가능.
- 역할별 에이전트 4개(DevOps, SecurityOps, Compliance, FinOps)가 시스템 프롬프트로 카테고리 접근 제어를 받아 동일 데이터를 각자의 관점에서 분석.
- 보안: 도구 응답 단계와 최종 응답 단계 두 곳에서 계정 ID를 익명화하되, 동일 ID는 항상 같은 마스킹값으로 생성해 관계 추적을 가능하게 한다.
- 수동 CLI 실행 없이 매일 자동 수집, 정확한 키워드 없이 의미 기반 자연어 검색, 서버 관리 없는 서버리스 에이전트 실행이 핵심 목표.
상세 정리- 문제: 클라우드 인프라 확장으로 IAM 역할, 보안 그룹, S3 버킷 등 정책이 수백 개로 늘어나면 수동 CLI 조회와 키워드 검색으로는 거버넌스에 한계가 생긴다.
- 수집 DAG: MWAA가 AWS boto3 클라이언트와 GCP 클라이언트로 identity, compute, storage, database, network, security, devops, messaging, monitoring, analytics 10개 카테고리 정책을 JSON으로 수집해 S3에 날짜별 파티셔닝으로 저장한다.
- 벡터화 DAG: 수집 JSON을 Bedrock Titan Embed v2(1024차원)로 임베딩해 S3 Vectors에 저장. 클라우드별 인덱스(aws-policies-index, gcp-policies-index)를 분리해 검색 범위를 조정할 수 있다.
- MCP 도구 구성: search_policies(시맨틱 검색), get_policy_details(특정 정책 상세 JSON), compare_policies(두 날짜 간 정책 변경 비교), get_policy_history(최대 30일 이력 추적), get_collection_summary(수집 결과 요약), list_policies_by_category(카테고리별 목록).
- 역할별 접근 제어: SecurityOps는 identity/security/network만, DevOps는 compute/network/storage/devops/monitoring/messaging만 시스템 프롬프트로 접근 가능하도록 제한. 동일한 MCP 도구 위에 역할 분리를 얹는 구조.
- SecOps 사용 예시: "관리자 권한 IAM 역할 찾기" 자연어 요청 → search_policies로 identity 카테고리 검색 → get_policy_details로 상세 조회 → 고위험 역할 식별 및 보안 권고사항 제시.
- 익명화 상세: 도구가 S3 데이터를 응답할 때 1차 익명화, Strands Agent가 사용자에게 최종 답변 생성 시 2차 익명화. 동일 계정 ID는 항상 같은 해시값으로 마스킹해 관계 파악 가능.
- AgentCore Runtime: Strands Agent를 서버리스로 호스팅해 인프라 관리 없이 에이전트를 실행. Streamlit 대시보드, Kiro 등 다양한 소비자가 동일 MCP 도구를 활용 가능.
왜 읽나AWS 클라우드 정책 거버넌스를 AI 에이전트로 자동화하려는 DevOps/SecOps 엔지니어에게 MWAA, Bedrock AgentCore, MCP를 결합한 실전 아키텍처 설계 레퍼런스.