AWS lambda elasticache dev and deploy with serverless framework

x·2021년 10월 7일
0

준비
1. serverless 계정 및 설치
2. aws 계정

단계

  • 터미널에서 sls 입력 후 AWS - Node.js - Express API 선택
  • npm init, 프로젝트 초기 설정
  • npm i redis로 redis 설치
  • redis 사용하는 코드 작성
  • redis를 로컬에 설치 후 로컬에서 테스트
  • AWS elasticache 설정(VPC 생성, 보안그룹, 서브넷 설정, elasticache 생성, IAM role 생성 후 lambda에 부여)
  • sls deploy로 프로젝트 배포
  • postman 호출
  • 로그 확인

VPC 생성

AWS VPC에서 이름, IPv4 지정 후 VPC 생성

서브넷 생성

subnet 2개 생성(가용 영역이 서로 달라야함) : VPC 지정, IPv4 CIDR 블록 지정

라우팅 테이블 설정

라우팅 테이블 생성, 서브넷 연결에 명시적 서브넷 연결(명시적 연결이 없는 서브넷 -> 명시적 서브넷 연결)

VPC 보안 그룹 생성

VPC -> 보안 그룹 -> 보안 그룹 생성
inbound rules -> 0.0.0.0/0 추가

elasticache 생성

redis -> 생성 -> subnet 지정

lambda 설정

AWS lambda -> 구성 -> 권한 -> 역할 이름 클릭 -> 정책 연결
lambda, elasticache는 동일 VPC에 속해야하므로 VPC 설정이 필요하다.
lambda role에 AWSLambdaVPCAccessExecutionRole 정책을 연결해야 한다.

AWS lambda -> 구성 -> VPC, 서브넷, 보안그룹 지정

test 환경 배포 sls deploy
prod 환경 배포 sls deploy --stage prod

주의할 점

sls deploy 를 하면 lambda 함수에 연결된 VPC가 제거된다. 배포 후 반드시 VPC를 다시 지정해줘야한다.
참고
참고

0개의 댓글