Haeminway haeminway
English
기술 노트로
1 분 분량

GAS를 졸업해야 할 때: 한계 신호와 외부 DB 이전

GAS는 짧은 자동화에 강하고 장시간·대량·다수 동시에 약하다. 할당량은 계정 단위로 공유된다. 한계 신호를 미리 알고 이전 계획을 세워라.

GAS는 짧은 자동화와 Workspace 연동에 강하고, 장시간·대량·고동시성에 약하다. 처음엔 무료로 완벽히 돌다가, 규모가 커지면 한계에 부딪힌다. 그 신호를 미리 알면 갑작스러운 중단 대신 계획된 이전을 할 수 있다.

이전을 검토할 신호

  • 데이터 양: 수십만 행을 넘어 시트가 느려진다 → 외부 DB(Cloud SQL·BigQuery·Firestore).
  • 동시성: 동시 실행 30/user 천장에 부딪힌다 → 큐·외부 백엔드.
  • 실행 시간: 6분으로 안 끝나는 작업이 늘어난다 → Cloud Run 같은 durable 백엔드.
  • 쿼리: 복잡한 조인·집계가 필요하다 → 시트는 DB가 아니다.

정직한 함정: 할당량은 계정 단위 공유

여러 고객 앱을 한 구글 계정에 올리면 할당량이 합산된다. 트리거 총 실행시간(소비자 ~90분/일), 동시 실행 30, UrlFetch·메일 한도가 모든 앱에 공유된다. 한 고객의 무거운 작업이 다른 고객 앱을 멈출 수 있다. 데이터 보관 책임도 한 계정에 묶인다.

계정 전략 (대량 생성은 답이 아니다)

  • 무료 지메일은 인증 한계·어뷰징 탐지로 막 만들 수 없고, 자동·대량 생성은 약관 위반(계정 정지=데이터 증발) 이다.
  • 가벼운 앱은 공용 관리 계정에 묶고, 무겁거나 민감한 앱만 전용 계정으로 격리한다.
  • 합법적 다수 발급이 필요하면 Google Workspace(도메인, 계정당 요금)로 간다.

깊이: 무엇이 “무거운가”

할당량은 주로 예약 실행·대량 메일·잦은 외부 호출에서 터진다. 사람이 열어서 저장·출력하는 가벼운 앱은 잘 안 건드린다. 그래서 “이 앱이 무거운가 + 데이터가 민감한가”를 수주 시점에 판단한다.

핵심 한 줄: 한계 신호(양·동시성·시간·쿼리)를 미리 알고, 무거운 것만 격리·이전하라.

자주 묻는 질문

GAS에서 외부 DB로 이전을 검토해야 하는 신호는 무엇인가요?
수십만 행을 넘어 시트가 느려지거나, 동시 실행 30/user 천장에 부딪히거나, 6분 안에 끝나지 않는 작업이 생기거나, 복잡한 조인·집계가 필요해질 때입니다.
여러 고객 앱을 한 구글 계정에 올리면 어떤 문제가 생기나요?
할당량이 계정 단위로 합산되므로, 한 고객의 무거운 작업이 다른 고객 앱을 멈출 수 있습니다. 트리거 총 실행시간(소비자 ~90분/일), 동시 실행 30, UrlFetch·메일 한도가 모든 앱에 공유됩니다.
할당량 문제를 피하려면 구글 계정을 대량으로 만들면 되나요?
아닙니다. 자동·대량 생성은 약관 위반이며 계정 정지 시 데이터가 증발합니다. 무겁거나 민감한 앱만 전용 계정으로 격리하고, 합법적으로 다수 계정이 필요하면 Google Workspace로 가야 합니다.