본문으로 건너뛰기
runlot

쿼터

무료 요금제는 파일 스토리지 10 GiB를, Pro는 100 GiB를 포함합니다. 그 이상은 무료는 업로드를 거절하고 Pro는 차액을 청구합니다. 어느 쪽이든 파일을 읽고 삭제할 수 있습니다.

항목무료프로
스토리지10 GiB100 GiB 포함
포함량을 넘으면업로드 거절GiB·월당 $0.015, 지출 한도까지
객체 수제한 없음제한 없음
키 길이1024바이트1024바이트
목록 페이지당 개수기본 100개, 최대 1,000개동일

쿼터를 초과하면

여기서 두 요금제가 갈라집니다.

무료에서 쿼터는 벽입니다. 10 GiB에 이르면 put과 presign(PUT)이 507 quota_exceeded로 거절됩니다. 요금 청구로 바뀌는 일은 없습니다.

Pro에서 쿼터는 청구 항목입니다. 100 GiB를 넘어도 업로드는 계속되고, 넘은 만큼은 초과 사용량으로 청구됩니다. 거절은 조직의 지출 한도에 이르렀을 때만 일어납니다. 아래를 참고하세요.

두 요금제 모두 차단되는 것은 쓰기뿐입니다.

작업무료, 쿼터 초과Pro, 쿼터 초과Pro, 지출 한도 도달
put507 quota_exceeded동작, 청구됨507 quota_exceeded
presign(PUT)507 quota_exceeded동작, 청구됨507 quota_exceeded
get, head, list, delete, presign(GET)계속 사용 가능계속 사용 가능계속 사용 가능

용량이 가득 찬 상태에서도 파일을 조회하고 삭제할 수 있어야 공간을 확보할 수 있습니다.

try {
  await env.storage.put(key, body);
} catch (e) {
  if ((e as { status?: number }).status === 507) {
    return new Response("Storage is full", { status: 507 });
  }
  throw e;
}

Pro 초과 사용량은 이렇게 청구됩니다

스토리지는 카운터가 아니라 게이지이므로, 청구되는 것은 최고치도 합계도 아닌 한 달 동안 보유한 양의 평균입니다. 서비스는 조직의 객체 바이트를 한 시간에 한 번 표본으로 재고 표본들을 평균합니다. 그 평균에서 100 GiB를 넘는 부분을 GiB·월당 $0.015로 청구하며, GiB 단위로 내림합니다. 두 바이트를 넘긴 조직에 청구 항목이 생기지는 않습니다.

가격과 포함량은 같은 단위 GiB(230바이트)를 쓰므로 "100 GiB 포함, 3 GiB 초과"가 읽히는 대로 계산됩니다.

초과 사용량은 요청과 CPU 초과 사용량과 같은 월 합계에 더해지고, 지출 한도가 판단하는 것이 바로 그 합계입니다. 한도는 기본적으로 켜져 있으며 고정 요금 위로 월 $20입니다. 합계가 한도에 이르면 조직은 다음 달 1일까지 지출을 멈춥니다. 요청에는 429 budget_exhausted로 응답하고, 업로드는 무료 프로젝트가 쿼터에서 보는 것과 같은 507 quota_exceeded로 거절됩니다. 그동안에도 읽기와 삭제는 계속됩니다.

현재 사용량 확인

runlot storage status
runlot storage status --json
runlot usage

대시보드의 파일 저장소 탭에서도 같은 값을 확인할 수 있고, 위의 두 동작 중 어느 것이 내 요금제에 적용되는지도 적혀 있습니다.

알림

둘 다 조직의 admin에게 가고, 종류마다 프로젝트당 24시간에 한 번만 전송됩니다. 대시보드의 조직 화면에서도 확인할 수 있습니다.

알림시점
storage_near_quota사용량이 쿼터의 **90%**에 도달함. 두 요금제 모두 전송됩니다.
storage_quota_hit업로드가 실제로 507로 거절됨. 무료만 해당합니다. Pro에서 507은 지출 한도를 뜻하고, 그때의 알림은 한도를 명시하는 budget_exhausted입니다.

이 페이지의 목차