[Serverless Framework] Lamba 폭발 속도 개발

왜 Serverless Framework일까요?

제가 Terraform+GiitHub Actions에 Lambda 코드를 구축했지만 개발 효율이 매우 떨어지고 Terraform의 기술량도 많아져서 간단하게 관리할 수 없다는 것이 단점입니다.하지만 이번 Serverless Framework를 사용하면 폭발 속도와 간단한 개발이 가능하다.
개발 프로그램
AWS CLI 설정
이 글은 심층 해설을 하지 않으니 이 글을 참고하여 설정해 주십시오.
Serverless Framework 설치
$ brew install serverless
Go 템플릿으로 프로젝트 작성
다음 명령을 실행하면 goo 파일 등을 자동으로 생성할 수 있습니다.
$ sls create -u https://github.com/serverless/serverless-golang/ -p project-name
serverless.yml 편집
기본적으로 us-east-1에서 생성되기 때문에 ap-northeast-1로 설정합니다
serverless.yml
provider:
  name: aws
  region: ap-northeast-1
  runtime: go1.x
Go의 모듈 관리
$ go mod init serverless
$ go get github.com/aws/aws-lambda-go/lambda
셸 스크립트 생성 및 실행
고 파일을 만들고 프로그래밍하기 전의 명령을 설명했습니다.
재촉이 끝나면 재촉하러 간다!!!이렇게 말하다.귀엽네.
cd.sh
#!/bin/sh

GOOS=linux go build -o bin/main

echo "build done !!!"

sls deploy

say "deploy done !!!"
다음 명령을 사용하여 실행합니다.
$ sh cd.sh
Lambda 함수 호출
다음 명령을 사용하여 Lambda 함수를 실행할 수 있습니다.만약 잘 응답할 수 있다면 프로젝트는 성공할 것이다.
$ sls invoke -f <function_name>
API Gateway와의 협력
다음 기술을 통해 람바다와 손쉽게 REST API를 공동 제작할 수 있다.
디버그 후 터미널에 끝점 URL이 표시됩니다.
serverless.yml
functions:
  # 関数名
  sample:
    handler: bin/main
    events:
      # API Gateway
      - http:
          path: /message
          method: get
          integration: lambda
EventBridge와의 협력
매일 오전 10시에 Lambda 함수 실행
serverless.yml
events:
      # EventBridge
      - schedule: cron(0 1 * * ? *)
환경 삭제
sls remove

좋은 웹페이지 즐겨찾기