-
API 모델 CodePipeline 아키텍처(Feat. 검색어 추천 API 배포)AWS/CodePipeline 2021. 8. 16. 00:24728x90
- keyword_train DAG에서 검색어 학습 후 docker image 빌드 및 FastAPI 컨테이너를 띄우기 위해 필요한 모든 파일을 S3 버킷 내 latest/latest.zip(default로 지정!) 이름으로 업로드
- codepipeline은 latest/latest.zip을 센싱하고 있다가 변경 사항이 감지되면 trigger
- Source stage
- latest/latest.zip를 build stage로 전달함
- Build stage
- latest.zip을 압축 해제 후 docker image build 및 ECR에 해당 이미지 push
- DeployToDev stage
- ECR에서 해당 docker 이미지를 pull 하고 해당 이미지를 기반으로 검색어 추천 ML 모델을 개발 서비스에 배포함
- Validate stage
- 개발 서비스 로드밸런서에 serviceKey별로 사전에 정의된 keyword를 request 해서 추천 결과를 받아온 뒤, 반환되는 결과 값을 slack channel에 알림으로 전송
- ApprovalOrDeny
- 운영 서비스에 새로운 버전의 도커 이미지에 대한 배포 여부를 판단하여 수동으로 승인함
- 승인을 하면 다음 stage로 넘어가고, 승인하지 않으면 해당 codepipeline은 fail 처리되어 종료됨
- DeployToProd stage
- 운영 서비스에 새로운 버전의 도커 이미지 배포 완료