지난번에는 비어있는 템플릿을 배포하였습니다. 이번에는 내가 그동안 만든 앱을 배포해보겠습니다.
1. 배포용 서버리스 앱을 하나 다시 만듭니다.
- 저같은 경우 aws-recipe-flask-app 으로 만들겠습니다.
2. 비쥬얼 코드로 비어있는 이 템플릿을 열어서 내가 만든 앱의 파일들을 복사합니다.
3. .gitignore 파일에 다음과 같이 추가합니다.
4. 복사한 코드를 로컬에서 테스트합니다.
5. 정상적으로 확인이 되었다면 배포합니다.
6. 배포된 주소를 확인하고 테스트를 진행합니다.
* 테스트를 하면서 분명 에러가 발생할 것 입니다.
7. 에러 확인을 위해 aws cloudwatch 로 갑니다.
반드시 lambda 로 적힌 앱으로 들어가야 합니다. 지금 같은 경우 저는 aws-recipe-flask-app 이기때문에
첫번째 노란색 줄친 곳으로 들어가겠습니다.
로그 스트림에서 에러가 있는 부분을 확인합니다.
모듈이 없다고 오류가 뜨게 됩니다.
이는 lambda에 모듈 설치가 되지 않아서 발생하는 일로 모듈을 설치해줘야 합니다.
8. lambda 에 모듈 설치하기
비쥬얼 스튜디오 코드에서 requirements.txt 파일을 열어줍니다.
여기에 내가 설치했던 라이브러리의 이름을 넣어줍니다.
그리고 다시 배포하면 라이브러리가 설치되며 테스트 또한 정상적으로 작동하게 됩니다.
*** 수업 중 배포방법 메모장
우리가 만든 앱(서버) 을 AWS Lambda에 배포
1. 서버리스 앱 만든다.
2. cmd 에서 로컬로 템플릿을 생성
3. 템플릿을 aws 에 배포 (실제론 수행안해도됨 테스트용도로만)
- sls deploy ( = serverless deploy)
4. 포스트맨으로 테스트해본다.
5. aws 배포용 깃허브 레파지토리를 만든다.
6. 서버리스 템플릿 폴더에 있는 것들을, 새로운 레파지토리로 모두 이동
7. 새로운 레파지토리를 visual studio code 로 열고
8. .gitigonore 파일에, node_modules를 타이핑하고 저장
9. commit - push
10. 파이썬 인터프리터 가상환경을 맞게 설정
11. 로컬에서 만든 레시피서버 소스코드를 , 지금만든 레파지토리로 복사해서 넣는다.
( 비쥬얼 스튜디오 코드를 2개 열어서 작업하는게 편함)
12. 새 레파지토리 소스코드를 로컬에서 먼저 테스트
13. 로컬에서는 정상작동하나 deploy 에서는 에러가 뜬다.
14. requirements에 내가 설치한 라이브러리를 작성하여 lambda에도 설치하게 만든다.
'개발 > 백엔드' 카테고리의 다른 글
server - aws lambda layer 추가 (0) | 2023.01.11 |
---|---|
server - AWS lambda 배포 지역 변경하기. (credentials 에러) (0) | 2023.01.11 |
server - lambda(serverless) 수동배포 설정하기 (0) | 2023.01.10 |
server - jwt token 없이 접근을 허락하는 방법 (0) | 2023.01.10 |
server - login을 위한 token 설정 및 logout 을 위한 token 방지 (0) | 2023.01.05 |