안녕하세요 오늘은 BESPIN GLOBAL Innovate AI실 이정훈님이 작성해주신 ‘Amazon Bedrock 활용 : GenAI 갤러리 만들기’ 대해 소개해드리도록 하겠습니다.
목차
- GenAI 갤러리 (Generative AI Gallery)
- 아키텍처 개요
- 백엔드 배포 (Deploy Backend)
- 백엔드 디렉토리로 이동
- 가상 환경(Virtual Environment) 생성
- 필요한 Python 패키지 설치
- AWS 자격 증명 설정
- AWS CDK 부트스트랩 실행
cdk.context.json
파일 수정- AWS CDK 스택 배포
- 프론트엔드 실행 (Run Frontend Application)
- 백엔드 배포 완료 후 API Gateway 엔드포인트 확인
.env
파일 설정- 프론트엔드 디렉토리로 이동
- 필요한 패키지 설치
- 프론트엔드 애플리케이션 실행
- 실행 후, 브라우저 접속 후 확인
- AWS PartyRock에서 간단히 프롬프트 작성하여 구현
- 파티락 접속 후 , Start for free 버튼 클릭
- 생성할 프롬프트 작성하여 생성
- 텍스트 & 이미지 생성시 입력값 입력 후 실행
- 결과 확인
1. GenAI 갤러리 (Generative AI Gallery)
Amazon Bedrock을 활용하여 전생 이미지를 생성하는 생성형 AI(Generative AI) 프로젝트입니다. 사용자의 사진과 합성되어 최종 결과물을 만들어냅니다.
1-1. 아키텍처 개요
- 주요 구성 요소
- AWS Amplify : React 기반 프론트엔드 애플리케이션을 호스팅하는 서비스
- Amazon API Gateway + AWS Lambda : 백엔드 API 엔드포인트 제공 (이미지 업로드 및 검색)
- Amazon Bedrock :
- API 기반 생성형 AI 서비스
- 이미지 생성을 위해 Amazon Titan Image Generator 모델을 사용
- 설명을 생성하기 위해 Claude 3.0 Sonnet 모델을 활용
- Amazon SageMaker : 이미지 합성을 처리하기 위한 모델을 Endpoint로 배포
- Amazon Rekognition : 이미지에서 얼굴을 감지하고, 얼굴 영역을 자동으로 크롭(Crop)

2. 백엔드 배포 (Deploy Backend)
(개발 소스 URL : https://github.com/aws-samples/sample-generative-ai-gallery)
2-1. 백엔드 디렉토리로 이동
cd backend
2-2. 가상 환경(Virtual Environment) 생성
python3 -m venv .venv
source .venv/bin/activate
2-3. 필요한 Python 패키지 설치
pip install -r requirements.txt
2-4. AWS 자격 증명 설정
AWS 콘솔에서 발급한 Access Key ID, Secret Access Key, Region 등을 입력
aws configure
2-5. AWS CDK 부트스트랩 실행
cdk bootstrap aws://<AWS_ACCOUNT_ID>/<AWS_REGION>
2-6. cdk.context.json
파일 수정
cdk.context.json 파일에서 AWS 리전 및 설정 정보 업데이트
{
"s3_base_bucket_name": "genai-gallery",
"s3_base_images_path": "images/base/",
"s3_face_images_path": "images/face/",
"s3_masked_face_images_path": "images/masked-face/",
"s3_swapped_face_images_path": "images/swapped-face/",
"s3_result_images_path": "images/result/",
"pillow_layer_arn": "arn:aws:lambda:{your-aws-region}:770693421928:layer:Klayers-p38-Pillow:10",
"numpy_layer_arn": "arn:aws:lambda:{your-aws-region}:770693421928:layer:Klayers-p38-numpy:13"
}
2-7. AWS CDK 스택 배포
cdk deploy --require-approval never --all
3. 프론트엔드 실행 (Run Frontend Application)
개발 소스 URL : https://github.com/aws-samples/sample-generative-ai-gallery)
3-1. 백엔드 배포 완료 후 API Gateway 엔드포인트 확인
백엔드 배포가 완료되면 다음과 같은 출력이 나타납니다. (위의 ApiGatewayStack.ApiGatewayUrl
값을 별도 저장)
✅ ApiGatewayStack
✨ Deployment time: 68.13s
Outputs:
ApiGatewayStack.GenAIGalleryImageApiEndpoint2DF4C2F5 = <https://xxxxx.execute-api.us-east-1.amazonaws.com/prod/>
ApiGatewayStack.ApiGatewayUrl = <https://xxxxx.execute-api.us-east-1.amazonaws.com/prod/>
3-2. .env
파일 설정
프론트엔드 디렉토리의 .env
파일을 열고, {your backend Amazon API Gateway endpoint url}
부분을 위에서 기록한 API Gateway URL로 변경합니다.
REACT_APP_API_ENDPOINT=https://xxxxx.execute-api.us-east-1.amazonaws.com/prod/
3-3. 프론트엔드 디렉토리로 이동
cd ../frontend
3-4. 필요한 패키지 설치
npm install
3-5. 프론트엔드 애플리케이션 실행
npm start
3-6. 실행 후, 브라우저 접속 후 확인 ( 접속 URL : http://localhost:3000 )

4. AWS PartyRock에서 간단히 프롬프트 작성하여 구현
4-1. 파티락 접속 후 , Start for free 버튼 클릭 (접속 URL : https://partyrock.aws/)

4-2. 생성할 프롬프트 작성하여 생성
- 프롬프트 내용
나라 , 직업 , 연도 , 나이 , 성별을 입력받아 과거의 전생 이미지와 스토리를 만들어 줘
이미지는 오일페인팅 스타일로 , 스토리는 200글자 내외로 해 줘

4-3. 텍스트 & 이미지 생성시 입력값 입력 후 실행
- 입력 내용
나라 : 한국 / 직업 : 마법사 / 년도 : 1600년도 / 나이 : 25 / 성별 : 남자

4-4. 결과 확인

출처 : https://www.youtube.com/watch?v=uFxOGGxjGQc
여기까지 ‘Amazon Bedrock 활용 : GenAI 갤러리 만들기’에 대해 소개해드렸습니다. 유익한 정보가 되셨길 바랍니다. 감사합니다.
Written by 이 정훈 / Innovate AI실
BESPIN GLOBAL