먼저 AWS 에 들어가 IAM 을 검색한다. 들어가고 사용자 클릭후 사용자 생성을 눌러준다.
그다음 사용자 이름을 적어주고 다음을 눌러준다.
직접 정책 연결을 눌러주고 .권한을 설정해준다
그렇게 권한 설정 후 만들고 나면 사용자에 아래와 같은 모습으로 생성된다.
사용자->액세스 키 만들기를 클릭해준다.
저거 하나만 체크하고 다음을 눌러준다.
그럼이제 액세스 키가 생성되고 하단 우측을 보시면 완료 버튼 옆에 .csv 파일 다운로드 버튼이 있는데
반드시 다운로드 해주시면 된다. 이 화면에서만 액세스 키를 다운받을 수 있고 키를 분실하였을 경우엔
새 액세스 키를 만들어야 하기 때문이다.
액세스 키를 다운받고 그 엑셀 파일을 일단 켜농길 바란다.
그다음 노드js를 다운 받아야 한다.
다음으로는 cmd(명령 프롬프트)를 연 후 위와 같이 명령어를 입력하여 serverless 프레임워크를 설치해주자.
serverless 는 API를 배포해주는 프레임워크이다.
설치 다한 후 serverless를 cmd 창에서 쳐주자
그리고 AWS/Python/Flask API를 선택한 후
이름 명을 지어주면 되는데, 이렇게 지어줘 되고,다르게 해도 상관없다.
그다음 Create A New APP 선택
Name Your New App 명을 이런식으로 지어주자.
Save AWS Credentials in a Local Profile 선택
아까 엑셀로 다운받은 것을 각각 잘 넣어줘야 하는데,csv 파일 보면 앞에 거의 대문자만 있는게 Key ID 고 그 / 뒤에 있는 부분이 Access Key 아이디라고 생각 하면 된다.
다 다운 받아지면 이러한 화면이 뜨는데, 배포할 준비가 되었다는 뜻이다.
이제 aws-recipe-server 폴더가 Github 폴더 다음 경로에 생겼을 것이다.
확인해 보면 잘 있다.
그 다음 VSC 코드를 키고 file - 오픈폴더 해서 이 파일을 열어준다.
가상환경 진입 ㄱㄱ해준다.
그 다음으로 serverless.yml 파일에 하단 문구를 붙여넣어준다.
package:
individually: true
exclude:
- node_modules/** # node_modules 폴더와 그 하위 모든 파일 및 디렉토리 제외
- .git/** # .git 폴더와 그 하위 모든 파일 및 디렉토리 제외
- tests/** # tests 폴더와 그 하위 모든 파일 및 디렉토리 제외
include:
- src/** # src 폴더와 그 하위 모든 파일 및 디렉토리 포함
- handler.py # 루트 디렉토리의 handler.py 파일 포함
- config/** # config 폴더와 그 하위 모든 파일 및 디렉토리 포함
이거 가져다가 붙이면 된다.
VScode 에서 Ctrl + shift + ` 로 cmd창을 열어준 다음 npm install serverless-wsgi --save-dev
문구를 입력해서 설치해준다.
최종적으로 sls deploy 하면 배포 끝이다.
이렇게 떠야 동작 잘된다는 뜻이다.
이제 저 주소를 복사해서 포스트맨에서 확인해보자.
주소 넣고 send 햇을 때 성공 메시지가 나오면 제대로 된게 맞다.
이제 내가 개발한 로그인,회원가입 등등의 파일을 이사 시켜주자
파일을 옮기는중..
파일 다 옮기고 나서 위에 화면처럼 requirements.txt 파일에 코드를 추가해줘야 한다.
flask-restful
mysql-connector-python
psycopg-binary
passlib
flask-jwt-extended
email-validator
serverless.yml 에 runtilme: python3.10으로 바꿔주고
추가해준다.
그리고 마지막으로 sls deploy 확인해본다.
로그인해서 access 키를 받은뒤
확인해보면 잘 작동되는 것을 볼수 있다...(여기까지 왔으면 다들 정말 고생 하셨습니다!!)
'RestfulAPI' 카테고리의 다른 글
Doker 설치하여 AWS에 있는 Lamda 에 배포하기 (2) | 2024.05.28 |
---|---|
Serverless Framework와 Github Acitons를 이용한 AWS 자동 배포 (0) | 2024.05.24 |
RestfulAPI Flask에서 JWT 사용하여 로그인 및 로그아웃하기 (2) | 2024.05.23 |
Flask에서 JWT 사용하여 회원가입 API 만들기 및 토큰처리 (2) | 2024.05.23 |
RestfulAPI Hashing 을 이용하여 단방향 암호화 하는방법 (0) | 2024.05.23 |