MLOps (3) 썸네일형 리스트형 EBS 최소 볼륨 실험기 & gp3로 전환한 이유 “이 모델이 진짜 8GB로 돌아갈 수 있을까?”라는 질문에서 시작된 실험. 그리고 비용, 성능, 탄력성을 모두 고려해 gp3로 갈아탄 이야기. 실험 배경: EBS 볼륨 너무 크게 쓰고 있진 않을까?Stable Diffusion 기반 API를 운영하면서, 모델 구성 요소는 이미 EFS에 분리 저장한 상태였다.그렇다면 애플리케이션 서버가 직접 사용하는 EBS는 꼭 125GiB까지 필요할까?현재 서버는 g4dn.xlarge 타입인데, 여기에 다음 두 가지 스토리지가 기본으로 붙는다:루트 디스크 (EBS) — 기본 125GiB (수정 가능)ephemeral0 (임시 스토리지) — 디폴트로 제공하지만 실제로 EBS를 얼마나 쓰는지, 그리고 어디까지 줄여도 안정적으로 운영할 수 있는지는 확인이 필요했다.그래서 시.. 🐳 Stable Diffusion API Docker 패키징: 로컬 모델 조립 → 컨테이너화까지 Stable Diffusion 모델 구성요소를 로컬에서 조립한 다음, 이를 Docker 기반 API 서버로 패키징한 과정을 정리했다. 작업 배경앞선 포스팅에서 from_pretrained() 없이 로컬에 저장된 모델 구성 요소들만으로 Stable Diffusion 파이프라인을 조립했다. 그리고 이후에는 이 모델들을 EFS에 저장하고 API 서버에서 직접 로딩하는 구조로 개선했다. 이제 남은 건 이 환경을 실제 운영에 적합한 형태로 포장하는 일. 즉, Docker 컨테이너로 패키징해서 어디서든 실행 가능하게 만드는 것이었다.Dockerfile 구성패키징 대상은 다음과 같다:FastAPI 기반 API 서버 코드 (main.py)Stable Diffusion 구성 요소를 로드하는 로직requirements.t.. EFS에 모델 구성요소 저장하고, 컨테이너에서 불러오는 구조로 전환하기 컨테이너 재빌드 없이 모델을 안정적으로 불러오기 위해, EFS에 모델 구성요소를 저장하고 Docker에서 직접 마운트하는 구조로 전환했다. 왜 이 작업이 필요했을까?이전까지는 모델 구성 요소들을 로컬에 저장하고, 컨테이너 안에서 로드하는 구조였다. 이 방식도 잘 작동하긴 했지만, 다음과 같은 불편함이 있었다:컨테이너를 새로 빌드하거나 다른 인스턴스에서 실행할 경우 모델을 다시 복사해야 함모델 파일 용량이 수 GB 단위라 이미지 용량도 불필요하게 커짐장기적으로 여러 서버에서 공유하려면 중앙 저장소가 필요함그래서 Amazon EFS(Elastic File System)를 활용하기로 했다. EC2 인스턴스에 EFS 마운트먼저 EFS를 EC2 인스턴스에 /mnt/efs 경로로 마운트했다. 이후 Stable Di.. 이전 1 다음