Repolode
zappa

zappa/Zappa

Zappa는 관리할 서버 없이 Python WSGI·ASGI 웹 앱과 이벤트 기반 함수를 AWS Lambda 및 API Gateway에 배포합니다.

스타
3,700
포크
394
열린 이슈
22
마지막 커밋
29일 전

어떤 프로젝트인가요?

Zappa는 Python 애플리케이션과 가상 환경을 Lambda 호환 아카이브로 패키징한 다음, AWS에 Lambda 함수와 API Gateway 라우트, 관련 IAM 역할을 생성하는 배포 도구입니다. Flask, Django, Bottle, Pyramid 등의 WSGI 앱과 FastAPI, Starlette, Quart 등의 ASGI 앱을 지원합니다. 각 요청은 짧게 실행되는 Lambda 호출로 처리되므로 트래픽에 따라 앱을 확장할 수 있으며, 항상 실행 중인 서버가 필요하지 않습니다.

웹 호스팅 외에도 Zappa는 cron 또는 rate 표현식을 사용해 함수를 예약 실행할 수 있어 Celery beat 구성을 대체할 수 있습니다. 또한 S3 업로드, SNS 메시지, SQS 큐, DynamoDB 및 Kinesis 스트림 같은 AWS 이벤트를 통해 함수를 실행할 수 있습니다. 비동기 작업 실행, 함수 및 Django 관리 명령의 원격 호출, 로그 실시간 조회, 롤백, SSL 인증서를 적용한 커스텀 도메인도 제공합니다.

핵심 기능

  • 01WSGI(Flask, Django, Bottle, Pyramid) 및 ASGI(FastAPI, Starlette, Quart) 앱을 AWS Lambda에 배포합니다.
  • 02배포 과정에서 API Gateway 라우트와 IAM 역할을 자동으로 생성합니다.
  • 03cron 또는 rate 표현식을 사용해 함수를 예약 실행합니다.
  • 04S3, SNS, SQS, DynamoDB 등의 AWS 이벤트를 통해 함수를 실행합니다.
  • 05비동기 작업 실행, 원격 호출, Django 관리 명령 실행을 지원합니다.
  • 06ACM, Let's Encrypt 또는 직접 제공한 SSL 인증서를 사용해 커스텀 도메인을 설정할 수 있습니다.

활용 사례

  • 항상 실행 중인 서버 비용 없이 트래픽이 적은 Flask 또는 Django API를 호스팅합니다.
  • Celery 워커를 관리하지 않고 AWS에서 Python 작업을 주기적으로 실행합니다.
  • 예측하기 어려운 요청량에 따라 확장되는 FastAPI 서비스를 배포합니다.
  • Python 함수로 S3 업로드 또는 SQS 메시지를 처리합니다.

빠른 시작

  1. 1

    pip으로 프로젝트의 가상 환경에 Zappa를 설치합니다

    pip install zappa
  2. 2

    대화형 방식으로 배포 설정을 생성합니다

    zappa init
  3. 3

    앱을 AWS Lambda에 배포합니다

    zappa deploy <stage>

사용 전 알아둘 점

  • AWS 계정과 AWS 자격 증명이 필요하며, AWS Lambda와 API Gateway에서만 실행됩니다.
  • Zappa는 프로젝트 이름과 다른 이름의 가상 환경에 설치해야 합니다.
  • API Gateway는 요청 시간을 30초로 제한하며, 기본 IAM 정책은 권한이 지나치게 광범위합니다.

포함된 컬렉션

토픽

자주 묻는 질문

Zappa은(는) 무엇인가요?
Zappa는 관리할 서버 없이 Python WSGI·ASGI 웹 앱과 이벤트 기반 함수를 AWS Lambda 및 API Gateway에 배포합니다. Zappa는 Python 애플리케이션과 가상 환경을 Lambda 호환 아카이브로 패키징한 다음, AWS에 Lambda 함수와 API Gateway 라우트, 관련 IAM 역할을 생성하는 배포 도구입니다. Flask, Django, Bottle, Pyramid 등의 WSGI 앱과 FastAPI, Starlette, Quart 등의 ASGI 앱을 지원합니다. 각 요청은 짧게 실행되는 Lambda 호출로 처리되므로 트래픽에 따라 앱을 확장할 수 있으며, 항상 실행 중인 서버가 필요하지 않습니다.
Zappa은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
Zappa은(는) MIT 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
Zappa은(는) 아직 유지보수되고 있나요?
활발히 유지보수 중. Zappa의 마지막 커밋은 2026년 10월 8일입니다.
Zappa은(는) 어디에 사용할 수 있나요?
항상 실행 중인 서버 비용 없이 트래픽이 적은 Flask 또는 Django API를 호스팅합니다. Celery 워커를 관리하지 않고 AWS에서 Python 작업을 주기적으로 실행합니다. 예측하기 어려운 요청량에 따라 확장되는 FastAPI 서비스를 배포합니다. Python 함수로 S3 업로드 또는 SQS 메시지를 처리합니다.
Zappa는 어떻게 설치하나요?
pip으로 프로젝트의 가상 환경에 Zappa를 설치합니다: pip install zappa 대화형 방식으로 배포 설정을 생성합니다: zappa init 앱을 AWS Lambda에 배포합니다: zappa deploy <stage>
Zappa은(는) 어디서 받을 수 있나요?
소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/zappa/Zappa

요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.

관련 프로젝트