본문으로 건너뛰기

큐브

볼륨

인스턴스보다 오래 남는 디스크

어느 인스턴스와도 분리된 큐브의 디스크: 모든 데이터는 계층형 스토리지에, 원하는 만큼은 머신의 NVMe에.

문서 읽기

숫자로 보는 볼륨

캐시 없이 데이터 GB-월당
$0.02
전부 NVMe에 둘 때 GB-월당
$0.08
쓰기·읽기 비용
$0

세 단계로

명령줄, API, SDK, MCP 서버에서 똑같이 호출하며, 여기서 볼륨은 drive라고 부릅니다.

시작하기 전에

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 DriveMount, 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 drives create --name data \
      --size-bytes 10GiB
    curl $API/drives -H "$AUTH" \
      --json '{"name": "data", "size_bytes": 10737418240}'
    drive = glac.drives.create(name="data", size_bytes=10 << 30)
    const drive = await glac.drives.create(
      { name: "data", sizeBytes: 10 * 2 ** 30 });
    drive_create {"name": "data", "size_gib": 10}
  2. 마운트하고 쓰기

    샌드박스 안, 원하는 경로에.

    glac sandboxes create --name web \
      --drive data:/data
    glac sandboxes exec web -- \
      sh -c 'echo kept > /data/note'
    curl $API/sandboxes -H "$AUTH" --json '{"name": "web",
      "drives": [{"drive": "data", "path": "/data"}]}'
    curl $API/sandboxes/web/run -H "$AUTH" \
      --json '{"command": "echo kept > /data/note"}'
    mount = DriveMount("/data", drive)
    sbx = glac.sandboxes.create(drives=[mount])
    sbx.run("echo kept > /data/note")
    const mount = { path: "/data", drive: drive.id };
    const sbx = await glac.sandboxes.create(
      { drives: [mount] });
    await sbx.files.write("/data/note", "kept\n");
    drive_attach {"drive": "data", "sandbox": "web",
                  "path": "/data"}
    sandbox_run {"sandbox": "web",
                 "command": "echo kept > /data/note"}
  3. 넘겨주기

    담긴 데이터 그대로 다음 샌드박스로.

    glac drives detach data web
    glac sandboxes create --name next \
      --drive data:/data
    glac sandboxes exec next -- \
      cat /data/note
    curl -X DELETE $API/sandboxes/web/drives/data -H "$AUTH"
    curl $API/sandboxes -H "$AUTH" --json '{"name": "next",
      "drives": [{"drive": "data", "path": "/data"}]}'
    glac.drives.detach(sbx, drive)
    nxt = glac.sandboxes.create(drives=[mount])
    print(nxt.run("cat /data/note").stdout)
    await glac.drives.detach(sbx, drive);
    const nxt = await glac.sandboxes.create(
      { drives: [mount] });
    console.log(await nxt.files.readText("/data/note"));
    drive_detach {"drive": "data", "sandbox": "web"}
    drive_attach {"drive": "data", "sandbox": "next",
                  "path": "/data"}

볼륨은 분리할 때까지 한 번에 샌드박스 하나에만 속합니다. 볼륨이 있는 큐브는 인스턴스가 하나입니다.

주요 기능

  • 쓰기와 캐시된 읽기는 NVMe 속도로, 캐시할 양은 직접 고릅니다.

  • 데이터와 캐시만큼 과금: 시간 단위로 세며, 크기나 읽기로는 과금하지 않습니다.

  • 모든 쓰기는 1초 안에 계층형 스토리지로, 250 ms마다 내보냅니다.

  • 리전 안의 어느 머신에든 마운트, 블록은 읽히는 대로 따라옵니다.

  • 볼륨의 스냅샷, 포크, 복원: 아무것도 복사하지 않습니다.

  • 스냅샷 하나를 여러 샌드박스에서 읽기 전용으로 동시에 마운트할 수 있어, 가중치와 데이터셋에 알맞습니다.

문서 읽기

이해를 돕기 위한 예시 그림

상태를 보존하는 방법 고르기

플랫폼이 프로그램의 상태를 보존하는 세 가지 방법과 각각의 쓰임.

보존하는 것용도
잠자기메모리, 프로세스, 디스크를 그대로쓰지 않는 사이의 인스턴스나 샌드박스
스냅샷한 시점의 샌드박스 전체되돌아갈 지점, 또는 여러 사본의 출발점
볼륨어느 인스턴스와도 분리된 디스크인스턴스보다 오래 남는 파일: 데이터베이스, 작업 공간, 데이터셋

주요 용도

  • 큐브 위의 데이터베이스

    Postgres, MySQL, Redis를 큐브로 실행하고, 데이터는 볼륨에.

    glac drives create --name data \
      --size-bytes 5GiB --region eu
    glac deploy redis:7 --name cache \
      --port 6379 --public false \
      --region eu --drive data:/data
  • 옮겨 다니는 작업 공간

    에이전트의 파일이 리전 안 어느 머신으로든 샌드박스를 따라갑니다.

    glac drives detach work old
    glac drives attach work new:/work
    glac sandboxes exec new -- ls /work
  • 오래가는 캐시

    패키지와 빌드 캐시를 다음 샌드박스로 이어 가므로, 실행할 때마다 캐시가 채워진 상태로 시작합니다.

    glac drives create --name deps \
      --size-bytes 20GiB
    glac sandboxes create --name ci \
      --drive deps:/root/.cache

가격과 한도

데이터와 캐시만큼 시간 단위로 과금하며, 쓰기나 읽기에는 과금하지 않습니다. 전체 가격과 요금제

과금 대상계산 방식가격
데이터1볼륨에 담긴 전체 데이터, 계층형 스토리지에 보관$0.00000761 / 100만 GB-밀리초$0.00000000761 / GB-초$0.0000274 / GB-시간$0.02 / GB-월
NVMe 캐시1머신의 NVMe에 두는 부분, 직접 정한 크기만큼, 쓰기·읽기 요금 없음$0.0000228 / 100만 GB-밀리초$0.0000000228 / GB-초$0.0000822 / GB-시간$0.06 / GB-월

한 달 가격

100 GB를 한 달 내내 보관할 때, 캐시를 세 가지 방식으로 둔 경우입니다. 쓰기와 읽기는 무료입니다.

  • 전부 NVMe에

    $8.00

    100 GB × ($0.02 + $0.06)

    모든 읽기가 NVMe 속도로.

  • 균형, 25% 캐시

    $3.50

    100 GB × $0.02 + 25 GB × $0.06

    25%는 NVMe에, 나머지는 네트워크 속도로 읽습니다.

  • 캐시 없음

    $2.00

    100 GB × $0.02

    모든 읽기가 네트워크 속도로.

무료유료
볼륨프로젝트당3500개, 요청 시 추가 가능
최대 볼륨 크기10 GiB1 TiB
전체 볼륨 합계프로젝트당15 GiB제한 없음

엔터프라이즈 계정은 협의에 따라 볼륨 하나에 최대 16 TiB까지 가능합니다. 인스턴스 하나에는 볼륨을 최대 8개 마운트합니다.

데이터 보관 방식

먼저 머신에 기록되고, 기록되는 대로 계층형 스토리지에 복사됩니다.

  • 먼저 머신에

    쓰기는 머신의 NVMe에 기록되며, 머신에 있는 데이터를 읽을 때는 머신 밖으로 나가지 않습니다.

  • 1초 안에 외부 저장소로 복사

    250 ms마다 내보내며, 아직 보내지 않은 가장 오래된 쓰기가 900 ms가 되면 새 쓰기는 기다립니다.

  • 머신을 잃었을 때의 손실

    직전 순간의 상태로 돌아옵니다. 같은 방식으로 복사되는 샌드박스 디스크는 41번의 손실에서 최대 1.0초 분량의 쓰기만 잃었습니다.

  • 쓰기는 한 번에 한 곳에서만

    머신 하나가 리스를 보유하며, 갱신하지 못하면 쓰기를 멈춥니다.

  • 프로젝트 키로 봉인

    모든 메가바이트를 프로젝트의 키와 AES-256-GCM으로 암호화합니다.

  • 한 곳에 보관

    데이터 센터 한 곳에 보관하며, 옮기지 않는 한 다른 리전에는 두지 않습니다.

더 읽어 보기

플랫폼