본문으로 건너뛰기

큐브

큐브

어떤 컨테이너 이미지든, 요청마다 깨어납니다

이미지를 고유 주소가 있는 앱으로 실행합니다. 인스턴스는 요청이 오면 깨어나고, 요청이 멈추면 잠들며, 멈췄던 지점에서 이어 갑니다.

문서 읽기

숫자로 보는 큐브

인스턴스를 깨우는 시간1
3.5 ms
요청 간격이 길 때, 잠들기 전 대기 시간2
0 ms
배포 롤백에 필요한 호출 수
1회

세 단계로

명령줄, API, SDK, MCP 서버에서 똑같이 호출합니다.

시작하기 전에

API 키를 GLAC_API_KEY에 넣으세요.

curl -fsSL https://glac.ai/install.sh | sh
export GLAC_API_KEY=ak_...
API=https://api.glac.ai/v1
AUTH="Authorization: Bearer $GLAC_API_KEY"
from glac import Glac
glac = Glac()
import { Glac } from "glac";
const glac = new Glac();
# give your agent the tools (Claude Code here)
claude mcp add glac -e GLAC_API_KEY=ak_... -- npx glac-mcp
  1. 이미지 배포하기

    버전이 준비되면 고유 주소에서 트래픽을 받습니다.

    glac deploy ghcr.io/acme/api:1.4 \
      --name api --port 8080
    curl $API/apps -H "$AUTH" --json '{"name": "api",
      "image": "ghcr.io/acme/api:1.4", "port": 8080}'
    app = glac.cube.deploy("ghcr.io/acme/api:1.4",
                           name="api", port=8080)
    const app = await glac.cube.deploy("ghcr.io/acme/api:1.4",
      { name: "api", port: 8080 });
    cube_deploy {"app": "api", "image": "ghcr.io/acme/api:1.4",
                 "port": 8080}
  2. 호출하기

    첫 요청이 인스턴스를 깨웁니다.

    curl https://api-‹project›.glac.run/
    curl https://api-‹project›.glac.run/
    import urllib.request
    print(urllib.request.urlopen(app.url).status)
    console.log((await fetch(app.url)).status);
    # from a sandbox made for the one command
    sandbox_run {"command":
      "curl -s https://api-‹project›.glac.run/"}
  3. 지켜보기

    요청마다 한 줄로, 인스턴스를 깨웠는지와 깨우는 데 걸린 시간을 알려 줍니다.

    glac cube logs api -f
    curl -N "$API/apps/api/logs?follow=true" -H "$AUTH"
    for line in app.logs(follow=True):
        print(line)
    for await (const line of app.logs({ follow: true }))
      console.log(line);
    cube_logs {"app": "api", "kinds": ["requests"]}

‹project›는 프로젝트 ID의 여섯 글자입니다. API에서는 큐브를 앱(app)이라고 부릅니다.

주요 기능

  • 요청이 멈추면 잠들고, 다음 요청에는 3.5 ms 만에 깨어납니다.1

  • 배포마다 버전 하나: 준비되면 트래픽이 옮겨 가고, 호출 한 번으로 되돌립니다.

  • 키마다 인스턴스 하나: 첫 요청이 만들며, 메모리와 디스크도 각자 따로입니다.

  • 리전별 확장: 요청이 오는 대로 인스턴스가 시작되며, 허용한 최대 수까지 늘어납니다.

  • 자체 도메인: 인증서를 대신 발급하고 갱신합니다.

  • Compose 파일을 가져오면 서비스마다 큐브가 되며, 각 서비스에는 이름으로 접근합니다.

문서 읽기

이해를 돕기 위한 예시 그림

비교

서비스를 운영하는 흔한 두 방식과 비교합니다.

상시 가동 서버0까지 축소되는 컨테이너큐브
한동안 조용하다가 들어온 첫 요청즉시 응답이미지에서 다시 시작하는 동안 대기3.5 ms 만에 깨어남1
유휴 상태의 메모리와 프로세스유지사라짐잠든 동안 유지: 1시간, 키별 인스턴스라면 살아 있는 동안 내내
유휴 상태일 때 내는 비용전부없음CPU 비용 없음, 보관하는 데이터만
다른 사용자와의 격리 방식가상 머신대개 공유 커널전용 microVM

주요 용도

  • API와 웹 앱

    CPU는 실제로 일한 밀리초만 과금하고, 요청 사이에는 잠듭니다.

    glac deploy ghcr.io/acme/web:2.0 \
      --name web --port 3000
    curl https://web-‹project›.glac.run/
  • 사용자나 에이전트마다 백엔드 하나

    키마다 인스턴스 하나, 메모리와 디스크도 각자 따로입니다.

    glac.cube.deploy(
      "ghcr.io/acme/agent:3",
      name="agent", port=8080,
      keys={"from": {"header": "User"}})
  • 배치 작업

    끝까지 실행한 뒤 멈추는 이미지.

    glac deploy ghcr.io/acme/report:1 \
      --name report --kind job
    glac cube logs report -f

가격과 한도

모든 제품과 마찬가지로 사용한 큐브 리소스만큼 과금합니다. 전체 가격과 요금제

과금 대상계산 방식가격
CPUCPU가 실제로 일한 시간, 밀리초 단위$0.01 / 100만 CPU-밀리초$0.00001 / CPU-초$0.036 / CPU-시간$26.28 / CPU-월
메모리잡아 둔 메모리, 128 MiB 단위로 밀리초마다$0.00222 / 100만 GiB-밀리초$0.00000222 / GiB-초$0.008 / GiB-시간$5.84 / GiB-월
요청큐브로 들어오거나 샌드박스 링크를 거치는 요청당$0.30 / 100만 건
송신 트래픽북미 · 유럽북미와 유럽에서 나가는 GB당$0.004 / GB
송신 트래픽아태아시아 태평양에서 나가는 GB당$0.01 / GB
잠든 동안 보관3잠든 인스턴스가 보관하는 데이터와 스냅샷$0.00000761 / 100만 GB-밀리초$0.00000000761 / GB-초$0.0000274 / GB-시간$0.02 / GB-월
로그3큐브가 출력해 보관하는 로그, 출력된 크기 그대로$0.00000761 / 100만 GB-밀리초$0.00000000761 / GB-초$0.0000274 / GB-시간$0.02 / GB-월

한 달 비용 계산

실제 워크로드와 그 한 달 비용을 유료 요금제와 무료 요금제로 계산합니다.

JSON을 받아 JSON을 돌려주고, 데이터베이스 호출이 한두 번 있습니다.

인스턴스는 하루 평균 23.8시간 깨어 있고, 그 밖에 0.21시간은 메모리에 일시 정지되어 있습니다. CPU에는 요청 자체가 쓰는 시간 외에 요청당 0.61 ms가 더해집니다. 요청 사이에 깨어 있는 시간과, 멈췄다 깨어날 때마다 드는 시간입니다.

한 달은 30일, 계정에 이 워크로드만 있다고 가정합니다. 출처

유료 요금제 한 달 비용

$5.00

요청 100만 건당 $0.39

  • CPU1107만 CPU-밀리초$0.11
  • 메모리90 GiB-시간$0.72
  • 요청1000만건의 요청$3.00
  • 송신 트래픽6 GB$0.02
정가로 계산한 사용량
$3.85
유료 요금제 포함분
−$3.85
유료 요금제 기본료
$5.00

무료 요금제 한도를 넘는 항목: 요청.

무료유료
큐브계정당10500
큐브 하나의 인스턴스리전별 최대5500
동시에 깨어 있는 수인스턴스와 샌드박스5500
최대 인스턴스 크기2 vCPU, 4 GiB8 vCPU, 16 GiB
변수와 시크릿큐브당64128
로그 보관 기간3일30일

격리

인스턴스마다 가상 머신을 두고, 보관하는 모든 데이터를 프로젝트의 키로 봉인합니다.

보안
  • 전용 microVM

    커널까지 따로 있는 Firecracker microVM으로, 이미지에서 부팅합니다.

  • jail로 한 번 더 격리

    비어 있는 루트, 권한 없는 사용자, 별도의 리소스 한도.

  • API로만 접근

    명령과 파일은 네트워크가 아니라 내부의 에이전트를 거칩니다.

  • 허용한 네트워크만

    프로젝트마다 프라이빗 네트워크, 접근할 수 있는 호스트는 규칙으로 정합니다.

  • 프로젝트 키로 봉인

    디스크, 잠든 메모리, 스냅샷, 로그를 머신 밖으로 나가기 전에 봉인합니다.

  • 정해진 것만 여는 키

    API 키는 프로젝트 하나를 범위(scope)가 허용하는 만큼만 열며, 키가 한 일은 감사 로그에 기록됩니다.

더 읽어 보기

플랫폼