치트시트(Cheat Sheet)
모든 명령을 한 페이지에서 확인할 수 있습니다. 자세한 옵션은 <command> --help로 확인이 가능합니다.
표기 안내
<x>— 사용자가 실제 값으로 채워 넣어야 하는 자리 (예:<name\|uuid>→my-vm또는 UUID)<name\|uuid>— 자원의 이름 또는 UUID 둘 다 사용 가능[...]— 생략 가능한 선택 옵션
설정
| Command | Description |
|---|---|
eci config init | 대화형으로 API 엔드포인트 · 토큰 · 기본 영역(zone)을 한 번에 초기 설정 |
eci config show | 현재 설정 yaml 출력 (api_token은 ***로 마스킹되어 노출 안 됨) |
eci config set <key> <value> | 비대화형으로 개별 값 설정. 키는 api_endpoint / api_token / zone_id 중 하나 |
eci config verify | 토큰 인증 통과 여부와 영역(zone) 유효성을 한 번에 검증 |
메타데이터
| Command | Description |
|---|---|
eci region list | 가용 리전(region) 전체 목록 조회 |
eci zone list | 현재 리전의 가용 영역(zone) 목록 조회 |
eci zone get <name|uuid> | 특정 영역 상세 정보 조회 |
eci image list | 사용 가능한 OS 이미지 목록 조회 |
eci image get <name|uuid> | 특정 이미지 상세 정보 조회 (UUID · 크기 · status 포함) |
eci instance-type list --activated true | 활성화된 인스턴스 타입 및 장착된 GPU/NPU 정보 조회 |
eci pricing list --resource-kind <kind> | 자원 종류별 시간당 단가 조회 (KRW). kind는 vm_allocation · block_storage · public_ip 등 |
eci org info | 조직 정보와 자원 쿼터 조회 (GPU 수 · 인스턴스 타입별 한도 · 스토리지 등) |
eci org usage | 현재 사용 중인 자원 통계 조회 (ondemand / spot 분리) |
컴퓨트 — 가상머신
| Command | Description |
|---|---|
eci compute vm list | 가상머신 전체 목록 조회 (이름 · 상태 · 인스턴스 타입 · IP) |
eci compute vm get <name|uuid> | 특정 가상머신의 상세 정보와 연결된 디스크 · 네트워크 인터페이스(NIC) · 공인 IP(Public IP)를 한 화면에 표시 |
eci compute vm launch --name <n> --password <pw> [...] | 가상머신 · 디스크 · 네트워크 인터페이스 및 공인 IP를 자동 생성 후 부팅. 도중 실패 시 자동 정리 |
eci compute vm create --name <n> [...] | 가상머신 메타데이터만 생성 (디스크 · 네트워크 인터페이스 등은 별도로 부착해야 함) |
eci compute vm start <name|uuid> | 정지된 가상머신 부팅 (자원 다시 할당) |
eci compute vm stop <name|uuid> | 가상머신 중지 — 자원 할당 해제, 디스크 · 공인 IP는 유지 (재시작 가능) |
eci compute vm update <name|uuid> [...] | 가상머신 속성 변경 (이름 · 태그 등) |
eci compute vm delete <name|uuid> --cascade | 가상머신 및 연결된 모든 자원 한 번에 삭제. --cascade 없이 삭제하면 디스크 · 네트워크 인터페이스 · 공인 IP가 남아 계속 과금 |
eci compute ssh <name|uuid> [remote-cmd] | 첫 공인 IP로 자동 SSH. 이름 뒤 인자는 원격에서 실행할 명령 |
vm launch 자주 쓰는 플래그
| 플래그 | 효과 |
|---|---|
--name <n> | 가상머신 이름. 생략 시 프롬프트 또는 자동 생성된 이름 사용 |
--password <pw> | OS root password (필수). 10자 이상 · 3종+ · 연속 문자 금지 |
--instance-type C-2 | 인스턴스 타입. 생략 시 spec 또는 프롬프트 |
--image "<name|uuid>" | OS 이미지. 생략 시 인스턴스 family에 맞는 기본값 자동 선택 |
--size-gib 20 | 부팅 디스크 크기. CPU 20 GiB / GPU·NPU 50 GiB 기본 |
--subnet <name|uuid> | 서브넷. 생략 시 eci-default-subnet이 자동 생성·재사용 |
--price-type spot | Spot 가격 (가속기 인스턴스만 사용 가능) |
--pricing-id <uuid> | 같은 인스턴스 타입에 pricing이 여러 개일 때 직접 지정 |
--spec <name> | 저장된 vm-spec 템플릿 적용 |
--no-spec | 이름이 default인 spec의 자동 적용을 끔 |
--no-public-ip | 네트워크 인터페이스만 생성, 공인 IP는 생략 (내부 통신만) |
--no-network | 네트워크 인터페이스와 공인 IP 모두 생략 |
--no-start | 자원 만 만들고 boot는 건너뜀 (GPU 비용 0으로 유지) |
--wait | status: started 도달까지 블로킹 (보통 1~2분) |
compute ssh 사용법
| 위치 | 의미 |
|---|---|
| 이름 앞 | wrapper 옵션 --login / --port / --identity |
| 이름 뒤 | 원격에서 실행할 명령 |
eci compute ssh my-vm # 대화형 로그인
eci compute ssh my-vm uname -a # 원격 명령
eci compute ssh --login root --port 2222 my-vm # ssh 옵션
컴퓨트 — 클러스터
| Command | Description |
|---|---|
eci compute cluster list | 가상 클러스터 목록 조회 |
eci compute cluster create --name <n> --instance-type <g-type> | 가상 클러스터 생성. GPU/NPU 같은 가속기 인스턴스 타입만 지원 |
eci compute cluster start|stop <name|uuid> | 클러스터 자원 할당 · 반환 |
eci compute cluster delete <name|uuid> | 클러스터 삭제 |
네트워크
| Command | Description |
|---|---|
eci network vnet list | 가상 네트워크(vnet) 목록 조회 |
eci network vnet create --name <n> --cidr <cidr> | 가상 네트워크 생성. 사설망 CIDR은 172.16.0.0/14 또는 192.168.0.0/16 범위 내에서만 허용 |
eci network vnet delete <name|uuid> | 가상 네트워크 삭제 (연결된 서브넷을 먼저 정리해야 함) |
eci network subnet list | 서브넷 목록 조회 |
eci network subnet create --name <n> --network <name|uuid> --gateway <ip/prefix> | 서브넷 생성. gateway는 CIDR 표기 필요 (최소 /26, 예: 172.18.0.1/24) |
eci network subnet delete <name|uuid> | 서브넷 삭제 |
eci network nic create --name <n> --subnet <name|uuid> | 네트워크 인터페이스(NIC) 생성 (서브넷에 소속) |
eci network nic attach <name|uuid> --vm <name|uuid> / nic detach <name|uuid> | 네트워크 인터페이스를 가상머신에 연결/해제 |
eci network nic delete <name|uuid> | 네트워크 인터페이스 삭제 (연결 해제 먼저 필요) |
eci network ip create --pricing "Public IP" | 공인 IP 신규 할당 |
eci network ip attach <ip|uuid> --nic <name|uuid> / ip detach <ip|uuid> | 공인 IP를 네트워크 인터페이스에 연결/해제 |
eci network ip delete <ip|uuid> | 공인 IP 회수 (반납) |
스토리지 — 블록
| Command | Description |
|---|---|
eci storage block list | 블록 스토리지 볼륨 목록 조회 |
eci storage block create --name <n> --size-gib <N> --pricing "Block Storage" | 추가 데이터 볼륨 생성 (OS 디스크와 별개) |
eci storage block attach <name|uuid> --vm <name|uuid> / block detach <name|uuid> | 볼륨을 가상머신에 연결/해제 |
eci storage block delete <name|uuid> | 볼륨 삭제. 관련 스냅샷이 있으면 먼저 삭제해야 함 |
eci storage block snapshot create --name <n> --block <name|uuid> | 1회성 스냅샷 생성 (옵션 이름이 --block 인 것에 주의) |
eci storage block snapshot list --block-storage <name|uuid> | 특정 볼륨의 스냅샷 목록 조회 (옵션 이름이 --block-storage 로 다름) |
eci storage block snapshot delete <name|uuid> | 스냅샷 삭제 |
eci storage block scheduler create --name <n> --block <name|uuid> --cron <"..."> --max-snapshots <N> | 자동 스냅샷 스케줄러 등록 (cron 표현식 사용) |
eci storage block scheduler list --block-storage <name|uuid> | 스케줄러 목록 조회 |
eci storage block scheduler delete <name|uuid> | 스케줄러 삭제 |
스토리지 — 오브젝트
| Command | Description |
|---|---|
eci storage object list | 오브젝트 스토리지 버킷 목록 조회 |
eci storage object create --name <n> --size-gib <N> | 버킷 생성 (할당 용량 지정) |
eci storage object delete <name|uuid> | 버킷 삭제 |
eci storage object user list | 오브젝트 스토리지 전용 user 목록 조회 (IAM 분리) |
eci storage object user create --name <n> | user 생성 (S3 호환 자격 증명) |
eci storage object user delete <name|uuid> | user 삭제 (보유 중인 grant 먼저 회수 필요) |
eci storage object user grant list | 버킷-user 권한 매핑 목록 조회 |
eci storage object user grant create --bucket <name|uuid> --user <name|uuid> --permission read_write|read_only | 특정 user에게 버킷 접근 권한 부여 |
eci storage object user grant delete <uuid> | 권한 회수 (grant는 UUID 사용) |
스토리지 — PFS
| Command | Description |
|---|---|
eci storage pfs list | 병렬 파일 시스템(PFS) 목록 조회 |
eci storage pfs create --name <n> --size-gib <N> | PFS 생성. 조직 쿼터에 PFS capacity가 할당되어 있어야 함 |
eci storage pfs member create --pfs <name|uuid> --vm <name|uuid> | PFS에 가상머신 멤버 추가 (PFS는 여러 머신에서 동시 마 운트 가능) |
eci storage pfs delete <name|uuid> | PFS 삭제 |
vm-spec (launch 템플릿)
자주 쓰는 launch 옵션 묶음을 이름 붙여 로컬(~/.eci/config.yaml)에 저장해 두고 재사용.
| Command | Description |
|---|---|
eci vm-spec list / show <name> | 저장된 launch 템플릿 목록 / 개별 조회 (spec은 로컬 파일이라 이름만 사용) |
eci vm-spec save <name> [...flags] | launch 템플릿 저장 (인스턴스 타입 · 이미지 · 디스크 등). --force로 전체 덮어쓰기 |
eci vm-spec delete <name> | 템플릿 삭제 |
list · get 공통 옵션
| Option | Description |
|---|---|
--format {table,json,csv} | 출력 포맷 (기본 table). JSON/CSV는 스크립트 파싱용 |
--query col1,col2,... | 표시할 컬럼 직접 선택 (기본 컬럼셋 무시) |
--name-ilike <pattern> | 이름 부분 일치 검색 (대소문자 무시) |
--status <status> | 상태값으로 필터 |
--zone <name|uuid> | 특정 영역(zone)의 자원만 조회 |
--ids <uuid1,uuid2> | UUID 다건 지정 |
--tags <k=v> | 태그 키-값으로 필터 |
--created-ge / --created-le <iso8601> | 생성 시각 범위 (ISO8601 형식) |
JSON 출력에서는
*_id필드가 자동으로 이름으로 변환되어 표시됩니다 (zone_id→zone등).
환경 변수
| Variable | Description |
|---|---|
ECI_API_ENDPOINT | API 베이스 URL. config 파일보다 우선 |
ECI_API_TOKEN | Bearer 토큰. CI/컨테이너에서 주입 시 유용 |
ECI_ZONE_ID | 기본 영역(zone) — UUID 또는 이름 |
ECI_CONFIG | config 파일 경로 (기본 ~/.eci/config.yaml) |
ECI_DEBUG | 1이면 내부 경고를 stderr에 출력 (디버깅용) |
자주 쓰는 워크플로우
가상머신 생성 → 접속 → 정리
eci compute vm launch --name my-vm --instance-type C-2 --password '<password>' --wait
eci compute ssh my-vm
eci compute vm delete my-vm --cascade
저장된 spec으로 동일 사양 가상머신 여러 대 생성
eci vm-spec save my-spec --instance-type C-2 --image "Ubuntu 24.04 LTS (Standard)" --size-gib 20
eci compute vm launch --name my-vm-1 --spec my-spec --password '<password>'
eci compute vm launch --name my-vm-2 --spec my-spec --password '<password>'
추가 디스크 연결 및 자동 스냅샷 설정
eci storage block create --name data --size-gib 50 --pricing "Block Storage"
eci storage block attach data --vm my-vm
eci storage block scheduler create --name nightly --block data \
--cron "0 0 * * *" --max-snapshots 7
오브젝트 스토리지 버킷 생성 및 사용자 권한 부여
eci storage object create --name my-bucket --size-gib 100
eci storage object user create --name alice
eci storage object user grant create --bucket my-bucket --user alice --permission read_write