본문 바로가기
공부/AWS

[AWS] 카톡분석 프로젝트-1 / Lambda 시작하기

by 로디네로 2022. 5. 31.
반응형

 

웹서버 구축을 위해 EC2 를 사용하려다가 Lambda로 급선회했다.

먼저 Lambda를 포스팅한 후 다시 EC2를 포스팅 해보려 한다.

 


 

EC2 -> Lambda 로 변경한 이유


우선 내가 구현해보려는 서비스는 많은 리소스를 필요로 하지 않는다.

EC2는 가상 컴퓨터 자체를 24시간 임대하는것이기 때문에 사용자가 서비스에 접근하지 않아도 비용이 들고, 트래픽에 따른 성능의 Scaling 작업이 필요하다.

Lambda는 사용자가 접근했을 때만 비용이 발생하고 Auto Scaling을 지원한다.
대신 한번에 15분의 러닝타임만을 제공한다.

또한 AWS에는 많은 서비스들이 있지만 아래 사진을 보면 EC2는 OS~Application 단을, Lambda는 Application 단만 구현하면 되는것을 알 수 있다.

간단한 서비스를 제공하는데 큰 힘을 뺄 필요가 없다고 생각한다. (FaaS 서비스의 장점 이용)

https://medium.com/harrythegreat/%EB%82%B4%EA%B2%8C-%EC%95%8C%EB%A7%9E%EB%8A%94-aws-%EC%BB%B4%ED%93%A8%ED%8C%85-%EC%84%9C%EB%B9%84%EC%8A%A4-%EC%B0%BE%EA%B8%B0-bfd2c409273c

 


 

Lambda 시작하기


User - API route - Lambda - S3
(사용자 - 라우팅 - 람다 - 저장소)

위 구조로 간단히 프로젝트의 기틀을 만들어보자.

1. Lambda 를 검색해 들어온 페이지에서 우측 함수 생성을 누른다.

 


 

2. 함수 이름을 작성하고 런타임 종류를 골라준다.

 


 

3. 아래와 같은 페이지가 만들어진다.


 

4. 생성된 lambda 함수는 어떤 트리거가 발생했을 때 불러올 수 있게끔 만들어 줄 것이다.

- 이번 장에서는 API Gateway 트리거를 발생시켜줄 것이다.

 

- 아래와 같이 람다 함수가 생성되었음을 알 수 있다.

 

- 이벤트(트리거)가 발생하면 아래와 함수를 돌려서 내용을 출력해준다. (아래에서 확인해보자)

 


 

5. API Gateway 추가
- 사용자가 접근할 수 있는 길을 열어주는 작업

- Lambda 함수의 트리거로 추가해줄 것이다.


5.1  API Gateway 탭에 접근해서 API생성 버튼을 눌러준다


5.2 REST API를 선택해주자 (구축)


5.3   새 API생성 후 리소스를 생성해주자

- 작업 - 리소스 생성 -  이름을 적어주고 생성한다

 

5.4 만들어준 리소스 하위에 메서드를 생성해준다.
- transactions 선택 - 작업 - 메서드 생성 - GET 생성 (생성한 transaction 리소스에 GET 메서드를 달아준다)
- Lambda 함수 Lambda 프록시 통합 사용 - lambda함수 선택 (내가 사용하고자 하는) - 저장



5.5 API를 배포해준다.
- 작업 - API배포 선택 - 새 스테이지 - 스테이지 이름 작성 후 배포

 


 

6. API Gateway 테스트 해보기

 

6.1 API Gateway 탭에 접근한다

- 스테이지 - 하위GET 선택

 

6.2 위 URL의 transaction 이후에 사용자 쿼리를 입력하여 특정한 정보를 주자 (4. 내용의 소스코드 참조)

~~~.amazonaws.com/test/transaction?transactionId=5&type=PURCHASE&amount=500

- 위와 같이 transactionId = 5 / type = PURCHASE / amount = 500 으로 정보를 주었다. 

- ? 이후의 사용자 쿼리부분을 웹 어플리케이션에게 GET 방식으로 전달해주었다.

 

6.3 계획했던 출력이 그대로 보이는지 확인한다.


 

 

오늘은 Lambda 생성부터 API Gateway 를 추가하는데 까지 해봤다.

 

 

 

다음장 : 

 

[AWS-lambda] Lambda 구축하기-2

이전장 에서는 Lambda 함수를 만들고 API Gateway 트리거를 추가해줬다. Lambda 로 변경한 이유 우선 내가 구현해보려는 서비스는 많은 리소스" data-og-host="dbstndi6316.tistory.com" data-og-source-url="http..

dbstndi6316.tistory.com

 

 

 

 

반응형

댓글