メインコンテンツまでスキップ

치트시트(Cheat Sheet)

모든 명령을 한 페이지에서 확인할 수 있습니다. 자세한 옵션은 <command> --help로 확인이 가능합니다.

표기 안내
  • <x> — 사용자가 실제 값으로 채워 넣어야 하는 자리 (예: <name\|uuid>my-vm 또는 UUID)
  • <name\|uuid> — 자원의 이름 또는 UUID 둘 다 사용 가능
  • [...] — 생략 가능한 선택 옵션

설정

CommandDescription
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) 유효성을 한 번에 검증

메타데이터

CommandDescription
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 분리)

컴퓨트 — 가상머신

CommandDescription
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 spotSpot 가격 (가속기 인스턴스만 사용 가능)
--pricing-id <uuid>같은 인스턴스 타입에 pricing이 여러 개일 때 직접 지정
--spec <name>저장된 vm-spec 템플릿 적용
--no-spec이름이 default인 spec의 자동 적용을 끔
--no-public-ip네트워크 인터페이스만 생성, 공인 IP는 생략 (내부 통신만)
--no-network네트워크 인터페이스와 공인 IP 모두 생략
--no-start자원만 만들고 boot는 건너뜀 (GPU 비용 0으로 유지)
--waitstatus: 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 옵션

컴퓨트 — 클러스터

CommandDescription
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>클러스터 삭제

네트워크

CommandDescription
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 회수 (반납)

스토리지 — 블록

CommandDescription
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>스케줄러 삭제

스토리지 — 오브젝트

CommandDescription
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

CommandDescription
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)에 저장해 두고 재사용.

CommandDescription
eci vm-spec list / show <name>저장된 launch 템플릿 목록 / 개별 조회 (spec은 로컬 파일이라 이름만 사용)
eci vm-spec save <name> [...flags]launch 템플릿 저장 (인스턴스 타입 · 이미지 · 디스크 등). --force로 전체 덮어쓰기
eci vm-spec delete <name>템플릿 삭제

list · get 공통 옵션

OptionDescription
--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_idzone 등).

환경 변수

VariableDescription
ECI_API_ENDPOINTAPI 베이스 URL. config 파일보다 우선
ECI_API_TOKENBearer 토큰. CI/컨테이너에서 주입 시 유용
ECI_ZONE_ID기본 영역(zone) — UUID 또는 이름
ECI_CONFIGconfig 파일 경로 (기본 ~/.eci/config.yaml)
ECI_DEBUG1이면 내부 경고를 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

관련 문서

  • 개요 — 설치 · 설정 · 명령 개요
  • 빠른 시작 — 워크플로우 3개 단계별