비디오 생성을 위한 AWS Bedrock 아키텍처 구현
카테고리
프로그래밍/소프트웨어 개발
서브카테고리
DevOps
대상자
AWS Community Builders, IT 전문가, 생성형 AI 개발자
(중급~고급 수준의 서버리스 아키텍처 구현 경험 필요)
핵심 요약
- 비동기 아키텍처로 구성된 AWS Lambda 기반 비디오 생성 워크플로우
bedrock:InvokeModel
API를 활용한 Amazon Nova Reels 모델 사용- S3 버킷과 CloudWatch의 프리세인드 URL 생성을 통한 보안된 비디오 배포
섹션별 세부 요약
1. AWS 환경 설정
- AWS 계정 활성화 및 IAM 사용자 권한 추가 (
bedrock:ListFoundationModels
) - 지원 지역(us-east-1) 확인 후 Amazon Bedrock 활성화
- Nova 모델 접근 요청 및 승인 대기(수분~수시간 소요)
2. Lambda 함수 구현
- 첫 번째 Lambda:
- 사용자 텍스트 입력 받기 (event.get("prompt")
)
- start_async_invoke
메서드로 Bedrock 호출
- 비동기 처리를 위한 invocationArn
반환
- 두 번째 Lambda:
- S3 이벤트 트리거로 생성된 비디오 파일 감지
- generate_presigned_url
을 통해 3600초 유효한 링크 생성
3. 모델 API 호출 구조
bedrock.start_async_invoke(
modelId="amazon.nova-reel-v1:0",
modelInput={
"taskType": "TEXT_VIDEO",
"videoGenerationConfig": {
"fps": 24,
"durationSeconds": 6,
"dimension": "1280x720"
}
},
outputDataConfig={"s3OutputDataConfig": {"BUCKETNAME/outputs/"}}
)
결론
- 비동기 처리와 S3 이벤트 기반의 서버리스 아키텍처가 핵심
- 프리세인드 URL을 통해 보안성과 접근성을 동시에 확보
bedrock:InvokeModel
API 활용 시 모델 버전(v1:0) 명시 필수