AWS 를 사용한 Serverless 아키텍쳐 적용해보기 1

Taro·2023년 12월 1일
0

serverless

목록 보기
1/1
post-thumbnail

Serverless framework란?

Serverless framework 는 서버없이 아키텍쳐를 운영해주는 프레임워크이며, serverless architecture용 라이브러리 라고 보면된다

1. serverless 설치

$ npm i -g serverless 

공식홈페이지 https://www.serverless.com/ 를 참고하여
우선 serverless 를 설치해준다

2. 템플릿 생성

$ sls create -t aws-nodejs -p sls-sample

sls = serverless , -t = --template , -p [폴더명]

이와같이 기본 handler 및 yml 파일이 생긴걸 확인 할 수 있다

3. Aws key 등록

$ sls config credentials --provider aws --key <Acesskey> --secret <SecretKey>

https://aws.amazon.com/ko/ 에서 iam 계정으로 key 생성후 입력해주면 된다
만약 이전에 등록했던 aws credential 이 있다면 기본적으로 '~/.aws/credentials' 파일에 [default] 값으로 세팅이 되어있어 새로운 credential 등록이 되지 않는다

이럴경우 2가지 방법이 있다
1. -o 옵션을 붙여서 위의 명령어 실행
2. 직접 credentials 파일 수정 후 [default] 밑에 파일삽입

$ sls config credentials --provider aws --key <Acesskey> --secret <SecretKey> --overwrite

위의 명령어로 덮어씌워주면 된다

4. deploy

$ sls deploy

잠깐! sls deploy 를 하기전에 region 과 rest api 를 세팅 해야한다 (안그러면 default region 인 버지니아에 생성됨)

#serverless.yml
service: sls-sample

frameworkVersion: "3"

provider:
  name: aws
  runtime: nodejs18.x
  stage: dev
  region: ap-northeast-2

functions:
  hello:
    handler: handler.hello
    events:
      - http:
          path: hello
          method: get

이전에 템플릿 생성시 만들어놓은 serverless.yml 파일의
region 과 events 를 설정
region: ap-northeast-2 는 Seoul
events: 함수를 실행하는 트리거

[공식문서]
https://www.serverless.com/framework/docs/providers/aws/guide/events

deploy 성공시 밑과 같은 화면이 나온다

5. Test

$ curl https: [deploy 한 서버주소]

실행시 밑과 같은 리턴값이 출력되는것을 확인 가능하다

Serverless framework 를 사용함으로써 API Gateway , S3 , lambda 등을 직접 만들필요없이 만들어줌으로써 좋은거같다

profile
기록하며 공부하는곳

0개의 댓글