AWS Toolkit - VSCode에서 Serverless 다루기

Human Being·2022년 3월 27일
0

AWS

목록 보기
6/6
post-thumbnail

준비

aws cli를 설정해둔 사람만이 할 수 있다
이외에도 sam cli, docker를 미리 설치해두자

설치 방법

VScode 확장에서
AWS Toolkit을 검색해서 설치하기

살펴보기

설치를 완료하면 오른쪽 탭에 aws 마크가 생성되고
해당 탭을 누르면 내 아이디로 생성된 AWS 서비스와 자원들이 보인다

Lambda 생성

해당 목록에서 우클릭하여 Create Lambda SAM Application을 클릭하자

처음에 어떤 환경으로 설정할 지 나오는데
detectron2나 yolo 관련으로 설정한다면
무난하게 python3.9(Image)를 추천한다

그 다음에도 여러 단계가 있는데 알아서 선택하기를...
생성이 완료되면 sam init으로 생성한 구조와 동일한 폴더가 생긴다
이는 VScode에서 폴더로 새 창 열듯이 해당 폴더에 접근하면 된다

Lambda 배포

Lambda 항목을 우클릭했을 때 나오는 것 중
Deploy SAM Application을 클릭하면 된다
그 후에 나오는 대로 선택하면 자동으로 생성된다

주의할 점은 Image로 첫 생성을 한 경우이다
이 때는 AWS ECR 서비스를 통해 도커 이미지를 거기에 올리고
이를 SAM CLI가 자동으로 Role을 생성해서
해당 Role을 가지고 Lambda를 생성하는 과정을 거친다

그냥 정리하면 도커 이미지를 올릴 ECR을 준비하자는 것뿐이고
이미지를 담을 폴더, 즉 repository를 생성해야한다

ECR은 무엇이냐면
Elastic Container Registry로
Docker hub인데 AWS에서 다루는 것이라고 생각하고 넘어가보자

Lambda를 올릴 리전과 같은 곳으로 접속하고
Create Repository를 눌러서 생성한다
파란색 상자 안에는 repository의 이름이 있는데
나중에 배포할 때 어느 곳에 Image를 올릴까요 물어볼 때
해당 이름을 선택하면 된다

repository 생성 시 주의할 점은
Visibility Setting을 Private로 해야 image를 Lambda로 생성할 수 있다
이름도 잘 정해두시고...

여기까지 설정을 다 했다면
VScode로 돌아와서
Deploy SAM Application을 진행하면 된다

중간에 S3 bucket에 대한 질문이 있는데
이미 만들어진 bucket에 저장하고 싶다면 나오는 것 중 선택하면 되고
아니면 생성하는 버튼을 눌러서 진행하면 된다
해봐야 build 및 deploy에 관한 template 파일이 올라가는 것뿐이며
절대 코드 전체가 올라가지 않으니 기존 코드는 잘 저장해두자

혹시 이미 만들어둔 bucket이 안 보인다면
이는 Lambda를 생성할 곳과 bucket이 있는 곳의 region이 달라서 그렇다
어쩔 수 없다
Lambda를 다른 region에 생성하던가
그냥 bucket을 해당 region에 생성하던가

만약 Lambda를 다른 region에 생성한다면
aws cli의 aws configure 설정에서 region name을 바꿔주고
다시 깔끔하게 생성해서 가거나
template.yml 파일을 수정해서 가면 될 것이다
이 부분은 해보지 않아서 확답 불가

0개의 댓글