반영하겠습니다.
CreateBucket/HeadBucket 제거. 대신 prefix 단위 관리(생성/삭제 시 하위 객체 정리)가 필요| 구분 | 역할 | 내부적으로 쓰는 AIStor API | 자체 개발 필요 (v4 API Server 로직) |
|---|---|---|---|
| MLflow | 아티팩트 read/write. 자기 project prefix만 접근 | S3: GetObject, PutObject, DeleteObject, ListObjectsV2, GetBucketLocation, CreateMultipartUpload/UploadPart/CompleteMultipartUpload/AbortMultipartUpload/ListParts | 없음 |
| 관리 API Server (v4) | 프로젝트(=prefix) 라이프사이클, Access Key 발급, RW/RO 정책 전환, Quota 설정/조회, prefix 삭제 클린업 | S3: PutObject(prefix 초기화용 placeholder, optional), ListObjectsV2+DeleteObject(프로젝트 삭제 시 하위 객체 일괄 정리) / Admin: CreateServiceAccount/UpdateServiceAccount/DeleteServiceAccount/ListServiceAccounts/InfoServiceAccount, CreatePolicy/GetPolicy/DeletePolicy/AttachPolicy | Quota Controller(StarRocks usage ↔ quota ↔ desired policy state reconcile), 자체 REST API(v4) 설계, Oracle DB CRUD 연동, RW/RO 정책 템플릿 생성·전환 로직, prefix 삭제 배치 로직 |
이제 다이어그램을 노드 위를 지나는 선 없이 다시 그리겠습니다.변경된 배치
버킷 생성 관련 엣지는 제거했고, 관리 API↔AIStor 화살표 라벨에 "prefix 정리(List/Delete)"를 추가해 prefix 기반 관리라는 점을 반영했습니다. 열어보시고 라벨 문구나 박스 크기는 자유롭게 조정하시면 됩니다.
==
| 구분 | 역할 | AIStor S3 API (기존 기능 사용) | AIStor Admin API (기존 기능 사용) | 추가 개발 필요 |
|---|---|---|---|---|
| MLflow | 실제 아티팩트 read/write (data plane). 자신의 project prefix만 접근 | GetObject, PutObject, DeleteObject, ListObjectsV2, GetBucketLocation, CreateMultipartUpload/UploadPart/CompleteMultipartUpload/AbortMultipartUpload/ListParts | 없음 (Admin credential 미부여) | 없음 (S3 endpoint/키만 주입) |
| 관리 UI (Project Portal) | project(=prefix) 라이프사이클, access key 발급, RW/RO 정책 전환, quota 설정, usage 대시보드 (control plane) | CreateBucket/HeadBucket (최초 1회, 버킷은 공용 1개) | CreateServiceAccount/ListServiceAccounts/InfoServiceAccount/UpdateServiceAccount/DeleteServiceAccount, CreatePolicy/GetPolicy/DeletePolicy/AttachPolicy | Quota Controller(reconcile loop: StarRocks usage ↔ quota ↔ desired policy state), 프로젝트 메타데이터 CRUD API(PostgreSQL), Secret 연동(Vault), usage 조회 API(StarRocks 기반), RW/RO 정책 템플릿 생성·전환 로직 |
핵심: MLflow는 순수 S3 API 소비자, 관리 UI는 AIStor Admin API + 자체 Quota Controller를 가진 control plane입니다. Quota 판단(StarRocks) → 상태 결정 → AIStor 정책 반영은 AIStor 기본 기능이 아니라 자체 구현입니다.
이제 구성도를 draw.io 형식으로 만들겠습니다.draw.io(diagrams.net)에서 바로 열 수 있는 파일로 만들었습니다.
구성 요약:
전체 톤은 회색조 단색으로 통일했고, 박스/화살표에 라벨로 역할과 필요 API만 최소한으로 표기했습니다. 열어서 레이아웃이나 문구는 자유롭게 수정하시면 됩니다.