Bedrock을 통해 Claude를 호출하는 방식은 Anthropic의 클라이언트 SDK를 사용할 때와 약간 다릅니다. 이 가이드는 Python 또는 TypeScript에서 Bedrock의 Claude에 API 호출을 완료하는 과정을 안내합니다.

이 가이드는 이미 AWS 계정에 가입하고 프로그래밍 방식의 접근을 구성했다고 가정합니다.

AWS CLI 설치 및 구성

  1. 버전 2.13.23 이상의 AWS CLI 버전을 설치하세요
  2. AWS configure 명령을 사용하여 AWS 자격 증명을 구성하거나(AWS CLI 구성 참조) AWS 대시보드 내에서 “명령줄 또는 프로그래밍 방식 액세스”로 이동하여 팝업 모달의 지시에 따라 자격 증명을 찾으세요.
  3. 자격 증명이 작동하는지 확인하세요:
Shell
aws sts get-caller-identity

Bedrock 접근을 위한 SDK 설치

Anthropic의 클라이언트 SDK는 Bedrock을 지원합니다. boto3와 같은 AWS SDK를 직접 사용할 수도 있습니다.

pip install -U "anthropic[bedrock]"

Bedrock 접근하기

Anthropic 모델 구독하기

AWS 콘솔 > Bedrock > 모델 액세스로 이동하여 Anthropic 모델에 대한 액세스를 요청하세요. Anthropic 모델 가용성은 지역에 따라 다릅니다. 최신 정보는 AWS 문서를 참조하세요.

API 모델 이름

모델Bedrock API 모델 이름
Claude Opus 4anthropic.claude-opus-4-20250514-v1:0
Claude Sonnet 4anthropic.claude-sonnet-4-20250514-v1:0
Claude Sonnet 3.7anthropic.claude-3-7-sonnet-20250219-v1:0
Claude Haiku 3.5anthropic.claude-3-5-haiku-20241022-v1:0
Claude Sonnet 3.5anthropic.claude-3-5-sonnet-20241022-v2:0
Claude Opus 3anthropic.claude-3-opus-20240229-v1:0
Claude Sonnet 3anthropic.claude-3-sonnet-20240229-v1:0
Claude Haiku 3anthropic.claude-3-haiku-20240307-v1:0

사용 가능한 모델 나열하기

다음 예제는 Bedrock을 통해 사용 가능한 모든 Claude 모델 목록을 출력하는 방법을 보여줍니다:

aws bedrock list-foundation-models --region=us-west-2 --by-provider anthropic --query "modelSummaries[*].modelId"

요청하기

다음 예제는 Bedrock에서 Claude로 텍스트를 생성하는 방법을 보여줍니다:

from anthropic import AnthropicBedrock

client = AnthropicBedrock(
    # 아래 키를 제공하여 인증하거나 ~/.aws/credentials 또는 "AWS_SECRET_ACCESS_KEY" 및 "AWS_ACCESS_KEY_ID" 환경 변수와 같은
    # 기본 AWS 자격 증명 제공자를 사용하여 인증합니다.
    aws_access_key="<access key>",
    aws_secret_key="<secret key>",
    # 임시 자격 증명은 aws_session_token과 함께 사용할 수 있습니다.
    # https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html에서 자세히 알아보세요.
    aws_session_token="<session_token>",
    # aws_region은 요청이 이루어지는 AWS 지역을 변경합니다. 기본적으로 AWS_REGION을 읽고,
    # 없으면 us-east-1로 기본 설정됩니다. 지역에 대해 ~/.aws/config를 읽지 않습니다.
    aws_region="us-west-2",
)

message = client.messages.create(
    model="anthropic.claude-opus-4-20250514-v1:0",
    max_tokens=256,
    messages=[{"role": "user", "content": "Hello, world"}]
)
print(message.content)

자세한 내용은 클라이언트 SDK와 공식 Bedrock 문서 여기를 참조하세요.

활동 로깅

Bedrock은 고객이 사용과 관련된 프롬프트와 완료를 로깅할 수 있는 호출 로깅 서비스를 제공합니다.

Anthropic은 활동을 이해하고 잠재적인 오용을 조사하기 위해 최소 30일 롤링 기준으로 활동을 로깅할 것을 권장합니다.

이 서비스를 켜도 AWS나 Anthropic에 콘텐츠에 대한 액세스 권한이 부여되지 않습니다.