아마존 AWS 람다로 웹 서비스 만들기

서버리스 컴퓨팅이란 컴퓨터가 없이 컴퓨터를 사용하는 게 아니라 적시 적소에 특정한 서비스를 관리하지도 않고 운영한다는 개념이라고 하는군요. 비용도 절감되고 코드에만 신경 쓰면 되기 때문에 서버의 관리가 전혀 필요 없습니다. 물론 제약도 있지만 그 제약에 비해서 얻게 되는 이점이 상당히 크다고 생각합니다. 언제 어디서든 걱정 없이 서버에 코드를 배포하고 테스트할 수 있으며 사용량에 관계없이 운영을 할 수 있기 때문입니다. 특히 아마존 람다(Lambda) 서비스는 매우 편리하게 단순한 절차로 테스트와 배포가 가능합니다. 오늘은 간단히 아마존 람다 서비스로 아주 간단하게 웹에서 JSON을 뱉는 형태의 통신을 만들어 보겠습니다.

 

람다 (Lambda) 서비스 생성

 

▼ 1. 모든 서비스 > 컴퓨팅 에서 Lambda 서비스를 선택합니다.

1. 아마존 AWS Lambda 서비스 실행


 

▼ 2. 람다 > 함수 페이지에서 함수 생성을 선택하고 새로운 함수를 생성합니다.

2. 람다 함수 생성


 

▼ 3. 함수 생성 페이지에서 새로 작성 메뉴를 누르고 함수 이름, 런타임을 선택합니다. 함수 이름은 API로 하고 런타임은 Node.js 로 해주겠습니다. 

3. 함수 새로 작성


 

▼ 4. 기본 실행 역할을 변경해줍니다. 기본 Lambda 권한을 가진 새 역할을 생성에 체크합니다. 우측 하단의 함수 생성 버튼을 눌러서 함수 생성을 완료합니다.

4. 람다 기본 실행 역할 설정


 

▼ 5. 함수 생성이 끝나면 index.js 파일과 함께 Node.js 환경이 구성됩니다. 현재는 메인 파일 하나만 등록되어 있고 에디터에서 파일을 추가 생성할 수 있습니다. index.js 파일을 선택해보겠습니다.

5. 실행 파일 선택


 

▼ 6. 다음 박스에 보면 간단한 응답에 대한 코드가 자동으로 쓰여 있습니다. 그대로 테스트 버튼을 눌러 테스트 이벤트를 만들어보겠습니다.

6. 코드 작성


 

▼ 7. 테스트 이벤트는 처음 람다에서 들어오는 핸들러에 들어갈 event 인자의 JSON 값입니다. 해당 값을 사용하지는 않을 것이기 때문에 그냥 이벤트만 작성하고 생성을 눌러줍니다.

7. 테스트 이벤트 구성


 

▼ 8. 이벤트가 만들어졌다면 테스트 버튼(1)을 눌러 테스트 합니다. 그럼 결과 값이 노출되는 것을 확인할 수 있습니다. 이제 실제로 웹에서 요청을 해보기 위해서 트리거 추가(2) 버튼을 눌러 트리거를 추가합니다.

8. 테스트 실행 및 트리거 추가


 

▼ 9. 추가 트리거는 여러가지가 있지만 그중에 웹에서 호출하기 위해 API 게이트웨이를 추가해줍니다.

9. API 게이트웨이 추가


 

▼ 10. API 생성을 선택하고 HTTP API를 선택합니다. REST API로 선택해도 상관없습니다.

10. 추가 트리거 작성


 

▼ 11. 아무나 접근할 수 있도록 보안을 열기로 변경합니다. 추가 버튼을 눌러서 트리거 생성을 완료합니다.

11. 트리거 구성


 

▼ 12. 트리거가 추가되면 람다 함수 개요에 포함됩니다.

12. API 게이트웨이 연결 완료


 

▼ 13. 이제 API 게이트웨이의 세부 정보를 열어보면 API 엔드포인트 링크가 생성된 것을 확인할 수 있습니다. 링크를 눌러 요청을 만들어봅니다.

13. API 엔드포인트 실행


 

▼ 14. 이제 웹 브라우저에서 처음 생성된 코드를 반환받을 수 있습니다.

14. HTTPS 요청 결과


 

▼ 15. AWS 람다 대시보드에서 보면 현재 만들어진 함수의 개수와 코드의 용량 및 기타 상태를 그래프로 볼 수 있습니다.

15. 람다 대쉬보드에서 상태확인

 

추후에는 어제 공부했던 다이나모 DB와 연동해서 간단한 REST API를 만들어보고 싶습니다. 예전에는 상상도 할 수 없는 방식의 서비스 구현이 가능하네요. 개인적인 생각이지만 아마도 이런 클라우드 환경이 발전하면서 개발 영역이 점차 소프트웨어 중심으로 변모할 것 같습니다. 이전에는 인프라나 서버 프로그래머도 매우 중요한 존재였다면 지금은 중요성이 점차 낮아질 수 있다고 생각됩니다.

댓글

Designed by JB FACTORY