본문 바로가기
IT 프로그래밍 관련/API server ( Flask )

AWS Lambda 이용 Serverless Application

by 지나는행인 2021. 4. 19.
728x90

람다를 이용하여 배포를 해보려고 한다.

 

이때 손쉽게하기 위하여 프레임워크를 이용하는데 , Serverless를 이용한다. 

 

Serverless는 배포 관련한 복잡한 절차들을 손쉽게 할 수 있게 해주는 어플리케이션이다.

 

사용하기에 앞서 ,  AWS IAM의 권한을 필요로 한다. 

 

AWS 홈페이지에 접속하여,  콘솔 로그인을 한뒤 IAM 을 찾아 들어가준다.

 

사용자 탭으로 들어가 , 사용자 추가를 선택한다.

 

* 사용자 추가 화면

적당히 이름을 지어준 후 , 프로그래밍 방식 엑세스로 선택 후 다음,

 

 

* 권한 설정

권한 설정 부분에서 기존 정책 직접 연결로 가서,

 

제일 위에 있는 AdministratorAccess 선택후 다음,

 

그 후에 계속 다음을 누르면 아래와 같은 화면이 나오는데 , 

 

엑세스 ID키는 중요하니 CSV 파일로 저장해 놓도록 한다.

 

그러면 IAM 설정은 끝이 났고 , 이제 서버리스 환경을 작업해 준다.

 

먼저 서버리스를 이용하려면 npm 을 설치해야한다.

 

nodejs.org/en/

 

사이트로 이동하여 다운로드를 받고 , 실행시켜 설치까지 완료한다.

 

설치 후엔, 아나콘다프롬프트를 열고 , 

 

서버리스 프레임워크를 설치한다.

 

위와 같은 명령어로 설치 한다.

 

설치 완료 후, 

 

아래의 홈페이지로 이동하여, 회원가입을 한다. (serverless 홈페이지)

 

구글 아이디가 있기때문에 구글 아이디로 로그인을 하겠다.

 

 

 

 

구글로 로그인 이후에는

 

apps 화면에서 create app 화면으로 진행하고, 그 안에서 플라스크로 진행을 할 거니 파이썬 플라스크를 찾아 클릭한다.

 

 

그러면 애플리케이션 이름을 정하는 란이 뜨는데, 적당히 이름을 작성한다.

 

위와 같은 화면이 나오면 AWS  select  를 누르고 Add new provider를 선택하여, 

 

이름을 정해주고 , create 를 누르면

 

아래와 같이 화면이 바뀐다.

 

아래 파란칸에 체크를 해주고 스택 생성을 누른다.

 

이제 기다리면 IAM 도 화면이 바뀌고, serverless 화면도 바뀌는데

 

화면이 이렇게 바뀌면, 아나콘다프롬프트로 다시 가서 

 

본인이 작업할 폴더로 이동 후에 ,

 

install 과 deploy 의 명령어를 실행한다.

 

* install 성공화면
* deploy 성공화면

위와같은 화면이 나왔다면 성공이다!

 

위의 화면에서 endpoints의 주소가 바로 내가 사용할 주소가 되겠다.

 

이제 내가 설정한 폴더로 가면 , 내가 정했던 이름의 폴더가 하나 생겼을 것이다.

 

그 폴더를 비주얼 스튜디오로 연다.

 

그리고 app.py 파일을 보면 이미 작업이 되어 있는데, 내가 받은 주소로 들어가보면 그 안에 작성된 코드가 화면에 출력된다.

 

작업이 이 폴더에서 작업하고, 기본 설정으로 , 난 플라스크를 파이썬 3.7 버전으로 작업하였으니, 

 

serverless.yml파일의 runtime 부분에 python3.8 을 python3.7로 바꿔주었다.

 

그리고 코드를 바꾼 뒤 업데이트된 내용으로 배포를 하려면 , 

 

새 터미널을 열고 , sls deploy 명령을 실행하면, 바뀐 코드로 실행되는것을 볼수 있다.

 

* 재 배포 성공!

댓글