Amazon Bedrock 프로바이더

Amazon Bedrock 프로바이더

Amazon Bedrock 프로바이더는 @ai-sdk/amazon-bedrock 모듈로 제공되며 Amazon Bedrock API 언어 모델을 지원합니다. API 키 인증(권장)과 AWS SigV4 인증(IAM 액세스 키 또는 AWS SDK credential chain)을 자동 폴백 방식으로 지원합니다.

출처: 공식문서

본문

설치

pnpm add @ai-sdk/amazon-bedrock

전제 조건

Amazon Bedrock 파운데이션 모델 접근은 기본적으로 허용되지 않습니다. 충분한 권한을 가진 IAM 사용자가 콘솔에서 해당 모델에 대한 접근을 요청해야 하며, 한번 허용되면 계정의 모든 사용자에게 적용됩니다. 자세한 내용은 Model Access Docs 참고.

인증

프로바이더는 두 가지 인증 방식과 자동 폴백을 지원합니다: API 키 인증(권장)과 AWS SigV4 인증(IAM 자격 증명 또는 AWS SDK credential chain).

API 키 인증 (권장)

API 키가 주어지면 SigV4 자격 증명보다 우선합니다. AWS 콘솔에서 bedrock API 키를 생성하고 AWS_BEARER_TOKEN_BEDROCK 환경변수로 설정하거나, createAmazonBedrock에 직접 전달합니다:

AWS_BEARER_TOKEN_BEDROCK=your-api-key-here
import { createAmazonBedrock } from '@ai-sdk/amazon-bedrock';

const amazonBedrock = createAmazonBedrock({
  apiKey: 'your-api-key-here',
  region: 'us-east-1',
});

apiKey를 생략하면 AWS_BEARER_TOKEN_BEDROCK로, 둘 다 없으면 SigV4 인증으로 폴백합니다.

IAM 액세스 키/시크릿 키

  1. AWS 콘솔에서 IAM 사용자를 만들고 액세스 타입으로 "Programmatic access"를 선택하되, AmazonBedrockFullAccess 정책을 연결.
  2. "Security credentials" 탭에서 액세스 키 페어를 생성하고 .csv 파일을 다운로드.
  3. 프로젝트 .env 파일에:
AWS_ACCESS_KEY_ID=YOUR_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY=YOUR_SECRET_ACCESS_KEY
AWS_REGION=YOUR_REGION

Next.js 등 많은 프레임워크는 .env를 자동 로드하며, 그 외에는 dotenv 등으로 직접 로드해야 합니다.

AWS SDK Credentials Chain

Instance profiles·instance roles·ECS roles·EKS Service Accounts 등 AWS SDK 자격 증명 체인을 통해 인증할 수도 있습니다.

언어 모델

createAmazonBedrock으로 만든 인스턴스에서 모델을 생성하고 generateText·streamText에 사용합니다. 프로바이더 인스턴스 옵션으로 region, model(model ID), temperature 등을 설정할 수 있으며 AWS Bedrock 특유의 설정을 providerOptions로 전달합니다.

더 알아보기