• 만검?
    • https://mangum.io 
    • ASGI 프레임워크 앱이~ AWS Lambda 에서 동작 하도록, 어뎁터 핸들링 제공.
      • functionUrl, apiGw, ALB, CF lambda@Edge 등등의 이벤트 지원.
      • Starlette, FastAPI, Quart, Django 등의 비동기 프레임워크 지원.
      • GZip, Brotli 기반의 "바이너리 미디어타입" 및 "페이로드 압축" 지원.
      • 기존 serverless.com, aws sam 등에 배포 및 구성툴 과 연동.
      • ASGI 'Lifespan Protocol' 지원 ???
    • fastAPI 배포 : https://velog.io/@insutance/simple-deploy-with-fastapi-mangum-lambda-sam
      • 1) npm 배포 : ???
      • 2) Mangum + AWS SAM 자동배포 : https://iwpnd.pw/articles/2020-01/deploy-fastapi-to-aws-lambda
      • 3) Mangum + AWS 수동배포 : https://www.deadbear.io/simple-serverless-fastapi-with-aws-lambda
  • 1) Adaptor
    • It is a configurable wrapper that allows any ASGI application (or framework) to run in an AWS Lambda deployment.
    • ...
  • 2) HTTP 스펙 지원
    • API GW 이벤트 : ...
    • HTTP GW 이벤트 : ...
    • ALB 이벤트 : ...
    • lambda@Edge 이벤트 : ...
    • 응답 관련 설정
      • Content-Type : text/... , json, xml, vnd.api+json, vnd.oai.openapi
      • Content-Encoding : gzip || br
    • HTTPCycle
      • is used by the adapter to communicate message events between the application and AWS.
      • It is a state machine that handles the entire ASGI request and response cycle.
      • run() -> recv() -> send()
    • HTTPCycleState
      • REQUEST, RESPONSE, COMPLETE
  • 3) ASGI Lifespan 프로토콜 지원
    • ...
  • 4) ASGI 프레임워크 지원
    • ...
  • ----------------------------------------------------------------------------------------------------
  • 예시)
    • https://velog.io/@hyoj0942/AWS-LambdaCDK-Docker-Fastapi로-서버리스-백앤드-배포하기1
  • ----------------------------------------------------------------------------------------------------
  • 확장팩) Fast Skeleton
    • 컨셉 : 
      • python + fastAPI 으로, API 및 Worker 개발을 원숭이 도 할 수 있게...
      • (mangum 덕분에 fastAPI 를 lambda 에 배포 할 수 있음)
    • 개발 :
      • PackageType : 
        • Zip :
          • sam local 기반으로 띄움
        • Image :
          • standalone 혹은 docker-compose 기반으로 띄움
    • CI/CD
      • 1안 : git -> circleCI -> sam-cli(검사,빌드,패키징,배포) -> AWS ServerlessApplication
        • sam validate -> template.yaml 검사
        • sam build -> .aws-sam 생성
        • sam package -> s3 업드로
        • sam deploy -> stack 배포
      • 2안 : git -> circleCI -> aws-cli -> docker -> sam-cli(검사,배포) -> AWS ServerlessApplication
        • aws ecr get-login-password | docker login -> ECR 로그인
        • docker build -> 이미지 생성
        • docker tag&push -> ecr 업로드
        • sam validate -> template.yaml 검사
        • sam deploy -> stack 배포 (parameter-overrides MyStage 및 MyVersion)
      • 3안 : git -> circleCI -> sam-cli(검사,빌드,푸쉬,배포) -> AWS ServerlessApplication
        • sam validate -> template.yaml 검사
        • sam build -> 이미지 생성 + ecr 업로드
        • sam deploy -> stack 배포
      • 4안 : git -> circleCI -> ECR 이미지 -> Kustomize 템플릿 수정 -> ArgoCD -> AWS EKS(k8s)
        • ...
    • ...

-끝-

'AWS' 카테고리의 다른 글

AWS Marketplace (AMI EC2Launch V2)  (0) 2023.03.05
AWS SAM 과 Lambda 이미지 커스텀  (0) 2022.08.31
Amazon EFS  (0) 2022.05.19
Amazon VPC  (0) 2022.04.29
Amazon CloudFront  (0) 2022.03.20

+ Recent posts