Louie NRT Story

[AWS 서버리스] 채팅 어플리케이션 - 01 본문

전기차충전기

[AWS 서버리스] 채팅 어플리케이션 - 01

hyeok0724.kim@gmail.com 2022. 9. 7. 19:59
반응형

작성일: 22년 9월 7일

PS.  유튜브를 통하여 Lambda, APIGateway, DynamoDB를 이용하여 채팅 서버를 만드는 것을 실습한 내용을 정리하였음

 

- 채팅 어플리케이션 - 02 -

https://louie0724.tistory.com/578

 

[AWS 서버리스] 채팅 어플리케이션 - 02

작성일: 22년 9월 8일 PS. 유튜브를 통해 생성과정을 따라해봄 채팅 어플리케이션 - 01 https://louie0724.tistory.com/577 [AWS 서버리스] 채팅 어플리케이션 - 01 작성일: 22년 9월 7일 PS.  유튜브를 통하여 L..

louie0724.tistory.com

 

- 채팅 어플리케이션 - 03 -

https://louie0724.tistory.com/579

 

[AWS 서버리스] 채팅 어플리케이션 - 03

작성일: 22년 9월 8일 PS. 유튜브에서 서버리스 예제를 따라함. 필자는 리엑트를 처음 해봐서 많은 시행착오가 있었음 -- [AWS 서버리스] 채팅 어플리케이션 - 01 -- https://louie0724.tistory.com/577 [AWS 서버.

louie0724.tistory.com

 

첨부파일

유튜버에서 제공해준 Lambda 업로드 코드

ChatAppBackendDemo.zip
2.23MB

 

Contents

1. IAM 역할생성

2. APIGateWay 생성

3. Lambda 생성

 

1. IAM 역할생성

 - "역할 만들기" 버튼을 클릭함

 - 일반 사용 사례에서 "Lambda" 를 선택 후 "다음" 버튼 클릭

 - AmazonAPIGatewayInvokeFullAccess, CloudWatchFullAccess, AmazonDynamoDBFullAccess 검색 후 체크함

 -  역할의 이름을 "chatapp-lambda-role" 입력하여 역할을 생성함

 - 생성한 역할은 APIGateway, CloudWatch, DynamoDB에 대한 권한을 가지고 있음을 확인 할 수 있음

 

 

2. APIGateWay 생성

1) Rest API 생성

 - REST API에서 "구축" 버튼 클릭함

 - 생성하고자 하는 API의 이름을 "chatapp-rest"로 입력하여 API를 생성함

2) WebSocket API 생성

 - WebSocke API에서 "구축" 버튼을 클릭함

 - "chatapp-websocket" 이름을 입력 후 라우팅은 기본값인 "request.body.action" 입력 후 "다음" 버튼 클릭함

 - 그 외에는 설정할 것 없고 스테이지에서 "dev" 입력 후 "다음" 버튼 클릭함

 

 

3. Lambda 생성

1) get 함수 생성 

- 함수이름을 "chatapp-message-get"으로 입력후 Nodejs.12.x 설정 후 위에서 생성한 역할을 선택 후 "함수 생성" 버튼을 클릭함

 - 기존에 공유 된 .zip 파일을 업로드 함

 - 함수의 런타임 설정에서 "편집" 버튼을 클릭함

 - "src/lambda/chat/get.handler" 입력 후 "저장" 버튼 클릭함

2) put 함수 생성

 - "chatapp-message-put" 이름 입력후 Nodejs.12.x 설정 후 위에서 생성한 역할을 선택 후 "함수 생성" 버튼을 클릭함

 - 이전과 동일하게 코드를 .zip 파일로 업로드 함

 - 함수의 런타임 편집에서 "src/lambda/chat/put.handler" 입력 후 "저장" 버튼 클릭함

 - 함수 구성에서 환경변수 "편집" 버튼을 클릭함

 - 환경변수의 값을 APIGateway의 ID 값으로 설정 후 "저장" 버튼 클릭함

※ socket_api_gateway_id를 입력 하는 이유는 코드상에서 해당 값을 환경변수에서 가져오기 때문임

3) Connect 함수 생성

 - "chatapp-onConnect" 이름 입력후 Nodejs.12.x 설정 후 위에서 생성한 역할을 선택 후 "함수 생성" 버튼을 클릭함

 - 코드는 위에서와 동일하게 .zip 파일로 업로드함

 - "src/lambda/chat/onConnect.handler" 입력 후 "저장" 버튼 클릭함

4) Disconnect 함수 생성

 - "chatapp-onDisconnect" 이름 입력후 Nodejs.12.x 설정 후 위에서 생성한 역할을 선택 후 "함수 생성" 버튼을 클릭함

 - 코드는 위에서와 동일하게 .zip 파일로 업로드함

 - "src/lambda/chat/onDisconnect.handler" 입력 후 "저장" 버튼 클릭함

 

Referece:

https://youtu.be/SPtRdnB5wSE

 

반응형
Comments