노드 풀 관리
조직 AWS 계정의 기존 인스턴스를 Voltra에 등록·검증·활성/해제하는 곳 — Voltra는 인스턴스를 만들지 않는다.
언제 쓰나
고객 조직이 자기 AWS 계정에 이미 띄워 둔 GPU 인스턴스를 Voltra가 관리하도록 등록할 때 쓴다. 점검이나 회수로 노드를 잠시 빼거나, 계약 종료로 목록에서 완전히 뺄 때도 여기서 한다. Voltra는 등록된 instance id에 대해 시작/중지만 수행하고 생성·종료는 하지 않는다(D-019).
화면
노드 풀 관리는 조직별 노드 인벤토리를 한 화면에 보여준다. 부제는 인벤토리 20 · 조직 AWS 계정의 기존 인스턴스를 수동 등록 (Voltra는 생성·종료하지 않음)이다.
노드 풀
| 컬럼 | 의미 |
|---|---|
노드 | 노드 이름(nx-a100-000). 전역 유일 |
조직 | 이 노드가 속한 조직 |
타입 · 단가 | 유형 + 등급 배지(예약·승인/즉시) + 시간당 크레딧 + 단가 버튼(단가표로 이동) |
Instance ID | 실제 인스턴스 ID(i-…). 로컬 시뮬레이션은 sim-… |
상태 | 가용 또는 사용 중 |
활성 | 활성 토글. 사용 중 노드는 토글이 회색으로 잠긴다 |
해제(빨강) | 등록 해제(목록에서 제거) |
우측 상단에 전체 조직 필터 드롭다운과 + 노드 등록 버튼이 있다. 화면 상단에는 처리 대기 중인 노드 추가 요청 카드가 뜬다.
노드 등록 모달은 별도 화면이라 스크린샷이 없다. 아래 절차로 설명한다.
절차
노드 등록
노드는 instance id만 등록하면 된다. 유형은 인스턴스를 describe해 자동 매핑한다(D-026).
+ 노드 등록을 누르고 조직과 노드 이름, instance id를 넣는다.- 검증(verify) — 등록 전 실존 확인이 먼저 돈다(read-only). 조직 자격증명으로 describe해 인스턴스 상태·실제 EC2 타입·중복 여부를 확인한다. 검증 결과에는 상태(
state), 감지된 유형(ec2_type), 단가표 매칭(matched_type),voltra:managed=true태그 여부, 중복 등록 여부가 담긴다. - 등록(register) — 검증을 통과하면 등록한다. 감지된 EC2 타입을 단가표에서 찾아 자동 매핑하고, 없으면 단가 0으로 유형을 자동 생성한 뒤 경고를 띄운다.
- 노드 추가 요청을 이행하는 등록이면 그 요청을 함께 지정한다. 요청 대수를 채우면 요청이 자동 완료되고 팀에 알림이 간다.
활성 / 해제 (비활성화·재활성)
- 행의
활성토글로 노드를 배정 대상에서 빼거나 다시 넣는다. 비활성 = 신규 배정 제외다(D-020). 점검·회수 등 모든 제외 사유를 하나로 흡수한다. 비활성 노드와 그 노드의 인스턴스는 유저 화면에서 숨겨진다(행은 보존, 재활성 시 복귀). - 사용 중 노드는 비활성화할 수 없다. 먼저 세션을 정리해야 한다.
등록 해제 (목록에서 제거)
- 행의
해제(빨강)로 노드를 목록에서 뺀다. 가용 상태에서만 가능하다. - 노드 행은 삭제되지만 그 노드에 묶인 인스턴스·세션 행은 지우지 않는다.
deleted_at을 찍어 숨기고, 지난 사용 내역에는(삭제됨)으로 남긴다. 원장의 차감을 귀속시킬 이름을 잃지 않기 위해서다. - 실제 EC2 인스턴스는 조직 AWS 계정에 그대로 남는다. 인프라 제거는 등록과 마찬가지로 수동이다.
이렇게 되면 정상
- 등록: 인벤토리에 새 노드가 나타나고 상태는
가용이다. 팀 콘솔의조직 노드 풀에 즉시 보이고, 즉시 유형은 인스턴스 목록에 미기동 엔트리로 뜬다. 감사 로그에node.register가 남는다(유형·instance id·감지 타입 포함). - 비활성/활성: 감사 로그에
node.disable/node.enable이 남는다. - 등록 해제: 목록에서 사라진다. 응답에 숨겨진 인스턴스 수(
instances_removed)가 담기고, 감사 로그node.unregister에 어떤 인스턴스가 숨겨졌는지 이름으로 남는다.
막히는 경우
| 증상 | 원인 | 조치 |
|---|---|---|
등록 시 duplicate | 같은 노드 이름이 이미 있음 | 다른 이름 사용 |
등록 시 duplicate_instance | 이 instance id가 이미 등록됨(전역 유일) | 어느 조직/노드에 등록됐는지 확인. 같은 인스턴스 이중 관리 금지 |
등록 시 sim_in_aws_mode | 실 AWS 모드에서 sim- ID를 등록하려 함 | 실제 instance id(i-…)를 입력 |
등록 시 verify_failed | i-… 인데 describe로 확인 불가 | instance id·자격증명·리전을 확인. 검증 후 등록 |
등록 시 detect_failed | 인스턴스 정보를 못 가져와 유형 매핑 불가 | 자격증명·리전 확인 또는 타입 직접 선택 |
등록 시 org_mismatch | 노드 추가 요청의 조직과 등록 조직이 다름 | 요청한 조직으로 등록 |
해제·비활성 시 in_use | 노드가 사용 중이거나 인스턴스가 실행 중 | 세션을 중지·정리한 뒤 재시도 |
등록 후 단가가 0 C/h | 감지 유형이 단가표에 없어 자동 생성됨 | 단가표에서 해당 유형의 단가 설정 |
알아둘 것
- 노드풀은 조직별로 완전히 분리된다(D-019). 플랫폼 공용 풀은 없다. 배정·가용성·즉시 실행은 자기 조직 풀만 조회한다.
- 등록은 instance id만이다(D-026). 유형·단가는 단가표가 담당하고, 노드풀은 갯수·구성만 관리한다. 타입 직접 선택은 감지 불가 환경(sim 등)의 폴백으로만 쓴다.
- provider_instance_id는 전역 유일이다. DB 제약과 검증·등록 API 양쪽에서 막아 같은 인스턴스가 두 곳에 등록되는 것을 방지한다.
- 비활성과 해제는 다르다. 비활성은 잠시 빼는 것(행 보존, 재활성 가능), 해제는 목록에서 빼는 것(노드 행 삭제, 인스턴스는 숨김)이다.
- terminate는 항상 Voltra 밖 수동 작업이다. 등록도 수동이듯 인프라 제거도 수동이다.
- 실 AWS 시작/중지는 옵트인이다(D-023).
VOLTRA_INSTANCE_PROVIDER=aws+ 플랫폼 자격증명을 운영자가 넣어야 실동작하고, 기본값은sim-시뮬레이션이다. 그래서 실 모드에서sim-ID를 넣으면 영구 시뮬레이션 노드가 되지 않도록 등록 전에 막는다.