본문 바로가기
Tech Notes

Google Cloud Run이란? 언제 쓰면 좋을까? 어떻게 쓰는 걸까?

by miracle-tech 2025. 7. 12.
728x90
반응형

이번엔 내가 직접 써보고 느낀 Google Cloud Run에 대해 정리해볼게.

Cloud Run은 구글 클라우드에서 제공하는 서버리스 컨테이너 실행 서비스야.
한마디로 말하면:

“도커 컨테이너만 있으면 자동으로 서버리스 배포 끝!”

 


1️⃣ Cloud Run이란? 🚀

Cloud Run은 Docker 컨테이너를 서버리스로 실행해주는 서비스야.
즉, 컨테이너 이미지만 있으면 서버 인프라(가상머신, Load Balancer, 스케일링) 관리가 필요 없어!

  • 요청이 오면 자동으로 컨테이너가 실행됨
  • 사용자가 없으면 자동으로 0으로 줄어들어 비용 절감
  • 트래픽이 늘어나면 자동으로 여러 인스턴스로 확장됨

2️⃣ 언제 쓰면 좋을까? 🔥

Cloud Run은 이런 상황에서 딱 좋아!

Docker로 만든 앱이 있다!
→ 언어나 프레임워크 상관없이 Docker 컨테이너로 감싸기만 하면 OK

 

짧은 작업, 간단한 API 서버
→ FastAPI, Flask, Express, Next.js API Routes 등과 잘 맞음.

 

서버 유지관리 없이 스케일링 필요
→ 갑자기 트래픽이 몰려도 자동으로 처리해줌.

 

정적 호스팅 + 동적 API 따로 관리할 때
→ 프론트는 Firebase Hosting, 백엔드는 Cloud Run! 조합이 깔끔해.


3️⃣ Cloud Run의 핵심 특징 ✨

  • 🐳 완전한 컨테이너 지원: Python, Node.js, Go, Java 등 상관없이 Docker만 있으면 됨.
  • 서버리스 자동 스케일링: 사용량 0이면 과금 0원.
  • 🌍 HTTPS 자동 제공: 무료 HTTPS 인증서 제공, Load Balancer 설정 필요 없음.
  • 🔒 IAM & 인증 관리: 공개/비공개 API 제어 가능.
  • 🔗 다른 GCP 서비스와 연동: Cloud Storage, Pub/Sub, Firestore와 쉽게 연동.

4️⃣ Cloud Run 간단 사용 흐름 🛠️

  1. 🧑‍💻 앱 만들기
    FastAPI 같은 서버 코드를 준비한다.
  2. 🐳 Dockerfile 작성
    앱을 컨테이너 이미지로 만든다. (이때 Docker Desktop 같은 것을 로컬에서 실행시켜야한다!)

3. 🔨 이미지 빌드 & 푸시 (소스 수정 후 이후 과정을 반복한다)

ex) docker build --no-cache -t gcr.io/myproject/myapp:latest .

      docker push gcr.io/myproject/myapp:latest          

 

4. 🚀 Cloud Run에 배포

 

ex) gcloud run deploy myapp --image gcr.io/myproject/myapp:latest --platform managed --region asia-northeast3 --allow-unauthenticated --set-env-vars BASE_URL=https://test.asia-northeast3.run.app


5️⃣ 직접 써본 느낌 👀

  • 배포 속도가 정말 빠름! gcloud run deploy 한 번이면 끝.
  • 설정이 간단해서 서버리스 맛보기로 최적.
  • 비용도 사용한 만큼만 나오니까 개인 프로젝트나 소규모 API 서버로 딱.
  • 단점이라면, 디스크에 영구 저장 불가능!
    이미지 같은 파일은 반드시 Cloud Storage에 올려야 한다는 점.

✅ 요약

🔑내용
무슨 서비스? 컨테이너 서버리스 실행
언제 좋아? 간단한 API, 자동 스케일링 필요할 때
뭘 준비해? Dockerfile
디스크는? 영구저장 ❌ Cloud Storage 사용 권장
배포는? gcloud run deploy 한 번이면 끝!
728x90