AWS 기술 블로그
Amazon Bedrock과 함께 Claude Code 사용하기
생성형 AI 툴이 다양한 작업의 하나의 필수 도구로 자리잡으면서, 기업들은 AI 어시스턴트 툴 도입을 적극적으로 검토하고 있습니다. Anthropic의 Claude Code는 강력한 AI 어시스턴트이지만, 기본적으로 제공되는 구독 방식의 비용 구조, 보안 및 규제, 사용자 추적 및 관리 등에서 일부 제한이 있거나 지원되지 않는 기능이 필요한 경우 자체 구축하여야 합니다.
Amazon Bedrock에서 제공하는 모델 호출 API을 통한 Claude Code의 API Usage 기반 사용은 이러한 과제를 해결하는 동시에, 엔터프라이즈 환경에 최적화된 추가 기능들을 제공합니다. 해당 포스팅에서는 Amazon Bedrock을 통해 Claude Code를 활용하는 손쉬운 방법과 핵심 이점들을 소개합니다.
Claude Code with Amazon Bedrock 소개 및 구성
Claude Code란?
Claude Code는 Anthropic이 개발한 CLI 기반 AI 어시스턴트 툴로, 최신 Claude 모델을 활용하여 문서 작성에서 데이터 분석, 리팩토링, 코드베이스 탐색 등 다양한 작업을 지원합니다. 터미널에서 직접 실행되며, 개발자의 IDE(e.g. Microsoft Code, Jetbrains IntelliJ 등)에 자연스럽게 통합됩니다. 툴에 대한 자세한 설명은 해당 Claude Code 문서에서 확인하실 수 있습니다.
Amazon Bedrock과 연동의 의미
Anthropic에서의 직접 구독 대신 Claude Code에서 사용되는 모델 호출 API를 Amazon Bedrock의 Invoke API를 통해 Claude 모델을 호출하는 것입니다. 즉, 해당 API에 대한 AWS 자격증명이 Claude Code가 설치된 로컬환경에 구성되어야 합니다.
이렇게 연동하여 사용하는 경우, 크게 아래와 같은 이점을 가지며 이를 해당 포스팅에서 소개합니다.
- 업프론트 방식으로 대량 구독 및 구매없이 모델 호출 API 사용 당 비용 청구 가능
- Amazon Bedrock을 통한 Claude 모델 사용 시, 모델 학습에 고객 데이터를 사용하지 않음
- 사용자별 IAM을 통한 인증 및 권한 관리 가능
- CloudWatch, S3 기반 모델 실행 이력 로깅 및 분석 가능
- CloudTrail 기반 API 호출 이력 로깅 및 분석 가능
- Priavte Network 기반으로 인터넷 망을 경유하지 않는 네트워크 구성 가능
- 팀별 및 사용자별 비용 추적을 위한 ApplicationInferneceProfile 활용 가능
- 중앙화된 거버넌스와 정책 관리를 위한 LLM Gateway(ex/LiteLLM) 구성 가능
AWS 자격증명 구성
먼저, 간단히 Claude Code를 Bedrock과 사용하기 위한 구성을 알아봅니다. AWS 자격증명 구성에는 여러 옵션(Access Key, SSO 등)이 있지만 이는 기존 AWS CLI 구성을 위해 자격 증명 구성을 하는 경우와 동일하므로 기존 AWS CLI 사용 자격증명과 겹치는 문제 등 보안 및 사용 복잡성을 증가할 수 있습니다. 이에 더 간단한 인증 방식과 API 키 레벨의 사용량 추적 및 관리가 가능한 Bedrock API Key 방식을 권장합니다.

Bedrock API 키를 만들게되면 키와 매핑된 IAM User가 만들어지게 되고 IAM 정책 기반의 Bedrock 사용을 위한 권한을 세밀하게 조정할 수 있습니다.
Bedrock API 키 생성 시, 할당되는 AmazonBedrockLimitedAccess 권한으로 바로 Claude Code를 사용할 수 있지만 필요한 경우, Claude Code에서 사용되는 Anthropic의 Bedrock 기본 모델에 대해서만 사용가능하도록 하거나 모델별 사용 제한을 구성할 수 있습니다.
이제, 아래와 같은 환경변수 설정을 Claude Code가 설치된 로컬환경에서 진행합니다. (각, 변수는 가이드 문서를 참고하여 조정할 수 있습니다. 필요한 경우, 작업에 사용되는 모델 또한 지정할 수 있습니다.)
필수, 선택사항을 확인하시어 필요하신 환경변수를 구성해주시기 바랍니다. (윈도우의 경우,
export가 아닌set을 사용하여야합니다.)
모든 터미널 세션에서 환경변수를 유지하고 싶은 경우, 맥 OS는 사용하는 쉘에 따라~/.bashrc또는~/.zshrc을 윈도우의 경우, GUI를 이용하여 편집해주세요.
필수 환경변수
선택 사항 환경변수
Claude Code 설치 및 실행
해당 링크를 확인하여 설치합니다. 위 Bedrock을 위한 환경변수 구성 후, 터미널 환경에서 claude 명령어 또는 IDE에서 실행하면 아래와 같이 API Usage Billing 형태로 툴이 활성화되고 모든 Claude Code의 기능을 바로 사용하실 수 있습니다.

해당 구성의 비용은 Amazon Bedrock의 모델 호출 비용을 따릅니다. Bedrock은 “입력 토큰 당 비용”, “출력 토큰 당 비용”으로 과금이 되며 AWS 계정을 통해 비용이 과금되는 방식입니다. Claude Code 내에서 아래와 같이 /cost 명령을 이용하여 현재 세션에 대한 비용을 확인하실 수 있습니다.

Amazon Bedrock과 함께 Claude Code를 사용했을 때의 이점
1. 업프론트 방식이 아닌 사용량 기반 과금
먼저, Anthropic 직접 구독은 월 단위 고정 비용이 발생합니다. 해당 Claude 비용 정책에 따라 구독형을 사용하는 경우에 실제 사용량과 관계없이 고정된 비용이 발생합니다. 대규모 개발 조직의 경우, 모든 개발자에게 라이선스를 할당하면 상당한 고정 비용이 발생하지만, 실제 사용률은 개발자마다 크게 다릅니다. 이를 위해 사용량 기반 과금(Pay-as-you-go) 방식의 API 방식으로 사용하실 수 있습니다.
Amazon Bedrock과 함께 사용하여도 이와 같은 API 방식의 완전한 사용량 기반 과금(Pay-as-you-go)을 제공받을 수 있습니다. 비용은 간단하게 사용하는 모델별로 (입력 토큰 수 × 입력 토큰 단가) + (출력 토큰 수 × 출력 토큰 단가)로 계산됩니다. 실제 기업 환경에서는 일부 개발자는 매일 활발히 사용할 수도 있지만, 많은 개발자는 주 1-2회 사용하거나 일부는 거의 사용하지 않을 수 있습니다. 이러한 불균등한 사용 패턴에서 사용량 기반 과금이 큰 이점을 제공합니다. *Amazon Bedrock 모델 호출 비용

Amazon Bedrock에서 제공하는 Anthropic 모델 비용
또한 Amazon Bedrock은 Prompt Caching을 지원하여 반복되는 컨텍스트에 대한 비용을 대폭 절감할 수 있습니다. 캐시된 입력 토큰에 대해 최대 90% 비용 절감이 가능하며, 동일한 컨텍스트 재사용 시 레이턴시도 최대 85% 감소합니다. 특히 코드베이스 컨텍스트를 반복 사용하는 Claude Code의 특성상 매우 효과적이며, 장시간 대화 세션에서 비용 효율성을 극대화할 수 있습니다. *참고 블로그: Supercharge your development with Claude Code and Amazon Bedrock prompt caching
2. 데이터 프라이버시: AWS의 명시적 보장
많은 기업이 AI 도구 도입을 주저하는 주된 이유는 데이터 보안에 대한 우려입니다. “우리 코드가 모델 학습에 사용되는가?”, “민감한 데이터가 제3자와 공유되는가?”, “데이터 잔존(data retention) 기간은 얼마나 되는가?”와 같은 질문들이 끊임없이 제기됩니다.
Amazon Bedrock은 공식 문서를 통해 명확한 데이터 프라이버시 약속을 제공합니다. 첫째, 고객의 프롬프트와 응답은 절대 모델 학습에 사용되지 않으며, Anthropic을 포함한 모델 제공자도 데이터에 접근할 수 없습니다. 둘째, 기본적으로 프롬프트와 응답을 저장하지 않으며, 로깅을 활성화한 경우에만 고객의 S3나 CloudWatch에 저장됩니다. 이때도 AWS는 고객 데이터에 접근하지 않습니다. 셋째, 모든 입력과 출력은 고객의 소유이며, 고객이 선택한 위치에만 저장되고 언제든지 삭제할 수 있습니다.
AWS 공식 문서에 따르면, “Amazon Bedrock does not use any customer data (prompts, information used to supplement prompts, or completions) to train any Amazon Bedrock models and does not store customer prompts and completions.”라고 명시되어 있습니다.
3. IAM 기반 세밀한 인증 및 권한 관리
Amazon Bedrock을 사용하면 AWS IAM의 모든 기능을 활용할 수 있습니다. 예를 들어, 주니어 개발자에게는 경량 모델(Claude Haiku)만 사용할 수 있도록 권한을 제한하고, 특정 리전에서만 접근 가능하도록 설정할 수 있습니다. 시니어 개발자에게는 모든 모델에 대한 접근 권한을 부여할 수 있습니다.

Bedrock API 생성 예시
해당 포스팅의 “AWS 자격증명 구성” 부분과 같이 Bedrock API Key를 이용하여 기간 만료를 설정하거나 자체 IAM User의 Access Key 또는 SSO를 통해 IAM 기반의 AWS 자격증명 구성을 통해 안전한 사용 환경을 커스텀할 수 있습니다.
더 나아가 시간 기반 액세스 제어를 통해 근무 시간에만 AI 모델에 접근하도록 제한하거나, IP 기반 접근 제어로 회사 네트워크에서만 접근 가능하도록 할 수 있습니다. AWS Organizations를 사용하는 경우 Service Control Policy(SCP)를 통해 조직 전체 수준의 정책을 적용할 수도 있습니다.
4. CloudWatch와 S3를 통한 포괄적인 모델 실행 로깅

CloudWatch Logs를 통한 모델 호출 로깅 분석 예시
엔터프라이즈 환경에서 AI 사용 로깅은 매우 중요합니다. 규정 준수 요구사항을 충족하고, 비용 최적화를 위한 근거를 확보하며, 사용 패턴을 분석하고, 보안 사고에 대응하며, 품질 개선을 위한 데이터를 수집해야 하기 때문입니다.
Bedrock의 Model Invocation Logging을 활성화하면 각 모델 호출마다 상세한 정보가 기록됩니다. 호출한 사용자의 IAM identity, 정확한 타임스탬프, 요청 및 응답의 전체 내용, 입력 및 출력 토큰 수, 사용된 모델, 레이턴시 정보 등이 모두 포함됩니다.
이러한 로그는 CloudWatch Logs Insights를 통해 실시간으로 분석할 수 있습니다. 예를 들어, 사용자별 토큰 사용량을 집계하여 어떤 개발자가 가장 많이 사용하는지 파악하거나, 모델별 평균 레이턴시를 분석하여 성능 이슈를 조기에 발견할 수 있습니다. 또한 로그는 S3에 자동으로 보관되며, Amazon Athena를 통해 SQL 쿼리로 분석할 수 있습니다. 월별 비용을 분석하거나, 사용자별 효율성을 측정하는 등 다양한 분석이 가능합니다.
5. CloudTrail 기반 완전한 감사 추적
CloudTrail의 Bedrock InvokeModel 관리 이벤트 레코드 예시
CloudTrail과 Model Invocation Logging은 서로 다른 목적을 가지고 있습니다. CloudTrail은 API 호출 자체를 감사하기 위한 것으로, “누가, 언제, 어떤 API를 호출했는가”에 초점을 맞춥니다. 반면 Model Invocation Logging은 모델 실행의 상세 내용, 즉 입력/출력 데이터와 토큰 수를 기록합니다. CloudTrail은 보안 감사와 규정 준수에 사용되며, Model Invocation Logging은 성능 분석과 비용 추적에 활용됩니다. CloudTrail은 계정별로 자동 활성화되지만, Model Invocation Logging은 수동으로 활성화해야 합니다.
CloudTrail은 Bedrock API 호출에 대해 호출 사용자 및 IAM role, 소스 IP 주소, 요청 시간, 사용된 모델 ID, 성공 또는 실패 여부 등을 자동으로 기록합니다. 특히 금융권 고객의 경우 CloudTrail을 통해 다양한 감사 요구사항을 충족할 수 있습니다. 누가, 언제, 어디서 AI 모델에 접근했는지에 대한 완전한 접근 기록을 제공하며, 설정 변경 사항의 완전한 추적이 가능합니다. CloudTrail 로그 파일 검증을 통해 무결성을 보장하고, S3 Glacier를 통해 7~10년 장기 보관도 가능합니다.
더 나아가 CloudTrail Insights는 비정상적인 API 활동을 자동으로 감지합니다. 평소보다 비정상적으로 높은 API 호출 빈도, 특정 사용자의 급격한 사용량 증가, 새로운 지역에서의 접근, 실패율 급증 등의 패턴을 자동으로 탐지하여 알림을 보내줍니다.
6. Private Network 구성을 통한 보안 강화

Claude Code with Amazon Bedrock 예시 네트워크 아키텍처
기본적으로 Claude Code는 인터넷을 통해 API 엔드포인트에 연결합니다. 이는 데이터가 공개 인터넷을 통과한다는 의미이며, 중간자 공격(MITM)의 위험이 있고, 네트워크 감청이 가능하며, 많은 기업의 규정 준수 요구사항을 충족하지 못할 수 있습니다. 특히 금융, 의료, 공공 기관에서는 민감한 데이터가 인터넷을 경유하지 않도록 요구하는 경우가 많습니다.
AWS PrivateLink를 사용하면 이러한 문제를 해결할 수 있습니다. PrivateLink는 AWS 네트워크 내부에서만 통신이 이루어지도록 하며, 인터넷 게이트웨이나 NAT가 전혀 필요하지 않습니다. 데이터는 AWS 백본 네트워크만 통과하며, VPC 수준의 세밀한 보안 제어가 가능하고, 프라이빗 IP 주소만 사용합니다.
이를 통해 개발자의 인스턴스에서 Claude Code를 실행하면 VPC Endpoint를 거쳐 완전히 프라이빗한 경로로 Amazon Bedrock에 연결됩니다. 전체 네트워크 경로가 회사 네트워크 → AWS VPC → VPC Endpoint → AWS PrivateLink → Amazon Bedrock으로 이루어지며, 어느 단계에서도 공개 인터넷을 경유하지 않습니다.
7. Application Inference Profile을 활용한 AWS 비용 트래킹

Application Inference Profile을 통한 각 환경 별 비용 트래킹
Claude Code을 Amazon Bedrock와 연결해 사용 할 경우 각 팀별 그리고 개발자별 Amazon Bedrock의 사용 비용에 대한 트래킹이 필요 할 수 있습니다. Application Inference Profile을 생성하고 각 Profile 별 Tag를 부여 할 경우 Tag 기반의 AWS 비용 추적이 가능하게 됩니다. 이를 통해 팀, 프로젝트, 환경 별로 비용을 Application Inference Profile을 생성하여 각 팀의 사용량을 독립적으로 추적하고 관리 할 수 있습니다.
아래는 Claude Sonnet 4.5 모델에 대하여 Application Inference Profile을 생성하고, Team : Dev_a라는 Tag가 부여된 Application Inference Profile을 생성하는 명령어입니다.
Claude Code을 사용하는 개발자는 Application Inference Profile에 대한 ARN 정보를 ANTHROPIC_MODEL로 환경 변수를 지정하면 Application Inference Profile 기반의 Claude Code 사용이 가능합니다.

환경변수를 통한 애플리케이션 추론 프로필 ARN 사용 예시
8. LLM Gateway을 통한 중앙화된 거버넌스와 정책 관리(Ex. LiteLLM)

LLM Gateway 구성 예시 아키텍처
대규모 조직에서 Claude Code를 배포할 때는 단순히 모델 API에 접근하는 것 이상의 요구사항이 발생합니다. AWS의 CloudWatch Logs 또는 Application Inference Profile로도 각 사용자별로 사용 환경을 모니터링 할 수 있지만 중앙화된 환경에서 실시간적인 모니터링이 필요 할 수 있습니다. 또한 사용자별로 rate limiting을 적용해야 하고, 다양한 모델을 통합 관리해야 하며, 중앙화된 정책을 적용하고, 상세한 사용량 분석이 필요하며, 비용 최적화 로직을 구현하고, 때로는 A/B 테스팅도 수행해야 합니다.
LLM Gateway는 중앙화된 환경에서 각 사용자의 LLM 사용 환경을 모니터링 할 수 있으며, 대표적인 LLM Gateway인 LiteLLM은 이러한 요구사항을 충족 할 수 있습니다. LiteLLM은 100개 이상의 LLM 제공자(OpenAI, Anthropic, AWS Bedrock, Azure, Google 등)를 통합 지원합니다. Rate limiting, fallback, load balancing 등의 엔터프라이즈 기능을 기본으로 제공하며, 실시간 비용 추적(8ms P95 latency)이 가능합니다. 팀별로 가상 키를 생성하고 예산과 할당량을 관리할 수 있으며, Langfuse, MLflow 등의 관찰성 도구와도 통합됩니다.
LiteLLM Gateway는 개발자와 실제 모델 제공자 사이에 위치하여 모든 요청을 중앙에서 제어합니다. 개발자는 발급받은 API 키를 사용하여 LiteLLM Gateway에 요청을 보내고, Gateway는 인증 및 권한 확인, rate limiting 및 quota 관리, 비용 추적 및 예산 알림, 모델 라우팅 및 fallback 로직 등을 수행한 후, 실제 Bedrock이나 다른 제공자로 요청을 전달합니다.
아래는 LiteLLM을 통해 생성한 가상의 Dev_A팀의 대시보드입니다. 각 팀별 실시간 사용량 및 비용에 대한 Budget을 설정 할 수 있으며, RPM/TPM과 같은 Rate Limiting 기능 설정 할 수 있습니다. 또한 각 Team 별로 Amazon Bedrock 환경에서 사용 할 수 있는 모델에 대한 권한 설정도 가능합니다.

LiteLLM을 통해 설정한 각 팀별 사용량, Rate Limit, 모델 권한 제어
Claude Code와 LiteLLM과 연동은 Claude Code의 공식 문서를 통해서 확인 할 수 있습니다.
마무리
이 포스팅에서 살펴본 Amazon Bedrock with Claude Code의 8가지 핵심 이점을 정리하면,
첫째, 사용량 기반 과금을 통해 실제 사용한 만큼만 비용을 지불하고 Prompt Caching으로 추가 절감이 가능합니다.
둘째, AWS의 명시적 데이터 프라이버시 보장으로 고객 데이터가 모델 학습에 사용되지 않으며 완전한 소유권을 유지합니다.
셋째, IAM 기반 세밀한 권한 관리로 사용자별, 시간별, IP별 접근 제어가 가능합니다.
넷째, CloudWatch와 S3를 통한 포괄적인 모델 실행 로깅으로 규정 준수와 비용 최적화 근거를 확보할 수 있습니다.
다섯째, CloudTrail 기반 완전한 감사 추적으로 금융권과 같은 엄격한 규제 요구사항을 충족합니다.
여섯째, PrivateLink를 통한 Private Network 구성으로 데이터가 공개 인터넷을 경유하지 않습니다.
일곱째, Application Inference Profile로 각 팀별 및 사용자별 비용을 추적 할 수 있습니다.
여덟째, 추가적인 LiteLLM Gateway 구성으로 중앙화된 거버넌스와 정책 관리를 구현할 수 있습니다.
생성형 AI는 이제 업무 생산성 향상의 필수 요소가 되었습니다. Claude Code는 강력한 AI 어시스턴트이며, Amazon Bedrock을 통해 사용하면 비용 효율성, 보안, 규정 준수, 안정성 모든 면에서 엔터프라이즈 요구사항을 충족할 수 있습니다.
특히 한국 기업들이 중요하게 여기는 투명한 비용 구조, 강력한 보안 및 권한 관리, 규제 준수 증빙, 데이터 주권 보장을 모두 제공합니다. Claude Code와 Amazon Bedrock의 조합은 단순히 AI를 “사용”하는 것을 넘어, AI를 기업 환경에 안전하고 효율적으로 통합하는 최적의 방법입니다.