핵심요약
Amazon Bedrock 기반 Claude Code를 위한 LLM Gateway 구축 가이드로, IAM Identity Center SSO와 LiteLLM Proxy를 결합하여 사용자별 접근 제어, 비용 추적, 예산 관리 기능을 제공합니다. 5단계 인증 체인과 VPC Endpoint를 통해 엔터프라이즈 보안을 강화하고, 개발자는 aws sso login 후 claude 명령만으로 간편하게 사용할 수 있습니다.
Amazon Bedrock 기반 Claude Code 운영을 위한 LLM Gateway 구축 가이드
LLM Gateway의 필요성
- Claude Code와 같은 AI 코딩 도구는 생산성 향상에 기여하지만, 기업 환경에서는 보안, 비용 관리, 인증 연동 등의 추가적인 고려가 필요합니다.
- Bedrock 직접 연동 시 사용자별 비용 추적, 예산 제한, 중앙 집중식 인증 관리, 감사 로그 확보 등에 어려움이 있어 LLM Gateway 패턴이 요구됩니다.
- LLM Gateway는 조직과 LLM API 프로바이더 사이에 위치하며 인증, 사용량 추적, 접근 제어 등의 기능을 제공합니다.
- LiteLLM Proxy는 관리자 포털을 통해 사용자별 키 관리, 예산 설정, 사용량 모니터링을 지원합니다.
LiteLLM Proxy 구성 및 Bedrock 연동
- Pass-through 모드: Claude Code는 Bedrock 네이티브 API를 사용하므로, LiteLLM의 Pass-through 모드를 사용하여 변환 없이 요청을 전달하고 프롬프트 캐싱 등 모든 기능과의 호환성을 보장합니다.
- 보안 경고: LiteLLM PyPI 패키지 특정 버전에서 발견된 악성코드 이슈를 인지하고, 공식 Docker 이미지를 사용함으로써 영향을 받지 않았음을 명시합니다. 프로덕션 배포 전 자체 보안 검토를 권고합니다.
솔루션 아키텍처 및 흐름
- 전체 흐름: SSO Login (aws sso login) → SigV4 서명 → Virtual Key 캐시 조회/생성 → LiteLLM Gateway 접근 → Bedrock InvokeModel 호출 → 사용량/예산 추적의 7단계로 구성됩니다.
- SSO 인증과 Virtual Key 발급: Token Service Lambda는 IAM Identity Center SSO ARN에서 사용자 정보를 파싱하여 DynamoDB에서 Virtual Key를 조회하거나 생성합니다. 이는 별도 사용자 DB 없이 개인 식별 및 Cognito 연동 없이 SSO 인프라 활용을 가능하게 합니다.
- LiteLLM Gateway를 통한 Bedrock 호출: Claude Code는 Virtual Key로 LiteLLM Gateway에 접근하고, LiteLLM은 ECS Fargate Task Role의 IAM 권한으로 VPC Endpoint를 통해 Amazon Bedrock을 호출합니다. 개발자에게 Bedrock IAM 권한을 직접 부여할 필요가 없습니다.
개발자 경험 및 운영
- 초기 설정: AWS CLI SSO 프로필 설정, Claude Code 환경 변수 및
apiKeyHelper스크립트 설정을 통해 간편하게 통합할 수 있습니다. - 일상 사용:
aws sso login후claude명령어로 간단하게 실행 가능하며, SSO 세션 유효 기간 내에는 추가 인증 없이 사용할 수 있습니다. - 실제 동작 예시: SSO 인증 없이 접근 시 오류, SSO 인증 후 정상 동작, 사용자별 예산 초과 시 해당 사용자만 차단되는 시나리오를 보여줍니다.
인증, 접근 제어 및 비용 관리
- 5-Layer 인증 체인: SSO 로그인, API Gateway SigV4 서명, SSO ARN 검증, Virtual Key 인증, ECS Task Role IAM 권한의 5단계 인증을 통해 강력한 보안을 제공합니다.
- 자격증명 관리: 모든 민감한 자격 증명은 AWS Secrets Manager에서 관리되며, ECS 태스크에 안전하게 주입됩니다.
- 퇴사자 접근 차단: IAM Identity Center 사용자 비활성화, DynamoDB Virtual Key 캐시 삭제, LiteLLM Virtual Key 삭제 등의 절차로 접근을 차단합니다.
- 비용 관리: LiteLLM의 Virtual Key에 예산을 설정하여 사용자별 월별 지출을 제한하고, API 또는 관리자 포털을 통해 자동화 또는 수동 관리가 가능합니다.
확장 포인트 및 배포
- 확장: 팀별 예산 관리, 감사 로그, 외부 IdP SSO 연동, Amazon Bedrock Guardrails, AWS Budgets 연동 등으로 기능을 확장할 수 있습니다.
- 배포: AWS CDK NestedStack으로 구현되어
npm install && cdk deploy명령으로 간편하게 배포 가능하며, 사전 요구사항으로는 AWS CLI, Node.js, CDK, ACM 인증서 등이 필요합니다. - 정리: 이 아키텍처는 통합 인증, 비용 거버넌스, 엔터프라이즈 보안, 우수한 개발자 경험을 제공하며, GitHub에서 전체 코드를 확인할 수 있습니다.