이 포스팅의 흐름은 Serverless => AWS Lambda => AWS API Gateway 순으로 진행된다.
1. Severless
2. AWS Lambda
3. AWS API Gateway
✅ Serverless
서버리스에 대해서 간단하게 요약하자면 관리할 서버가 없다는 뜻으로, 서버 인프라를 구축 운영관리 하지 않고도 코드 배포만으로 백엔드 애플리케이션을 구축할 수 있는 아키텍처라고 보면 될 것 같다. 그렇기 때문에 서버리스로 개발을 하면 서버 구축이나 운영에 대한 고민 없이 서비스 자체에 집중할 수 있다.
✅ AWS Lambda
AWS 람다는 서버를 관리하지 않고도 코드를 실행할 수 있게 해주는 컴퓨팅 서비스이다. 쉽게 말하면 람다는 코드로 이루어진 함수를 실행한다고 보면 될 것 같다. 이때 실행되는 함수를 흔히 람다 함수라고 말하며, 람다 함수는 특정 이벤트가 발생 되었을 때 실행된다. Gitbub Action CI/CD로 예를 들면 Push했을때 처럼 특정 이벤트가 발생할 때 실행된다고 보면 된다.
만약 람다로 Http 서버를 만든다고 가정하면 위와 같이 API Gateway를 통해 API가 호출되는 특정 이벤트를 연결해주면 람다 코드가 실행된다.
HTTP API 서버를 간단하게 만들어보자.
먼저 AWS에 접속해서 Lambda 함수를 생성한다.
함수의 용도를 설명하는 함수 이름과 함수를 작성하는 데 사용할 언어를 선택한다.
람다 함수를 생성하고 나면 아래와 같이 코드 소스를 작성할 수 있게 환경이 구성되며, 우리가 작성한 함수가 어떠한 이벤트 트리거에 의해 실행되게 된다.
만약 함수명이나 파일명을 변경하고 싶다면 아래와 같이 런타임 설정에서 편집을 클릭하면 함수명을 변경할 수 있는 폼이 나온다.
코드를 테스트해보고 싶다면 코드를 수정 후에 Deploy를 누르고 Test를 누르면 된다.
만약 처음 Test를 해보는거라면 아래와 같이 템플릿을 생성하라는 팝업 나오게 되고, 키 값을 설정해주면 된다.
그 이후에는 설정한 템플릿에 따라 코드를 작성해준다.
✅ AWS API Gateway
람다 함수 이벤트를 연결시키기 위해 생성한 람다함수에서 트리거 추가 버튼을 누른다.
트리거 추가를 누르면 구성탭에서 소스들을 선택할 수 있는데 우리는 API 게이트웨이를 사용할 것이므로 API 게이트웨이를 클릭해준다.
HTTP로 API를 호출할 것이므로 HTTP API를 선택해주고 보안탭에서의 보안 HTTP API를 인증하기 위한 방법으로 URL을 알고 있는 모든 사용자가 호출할 수 있도록 하고 싶다면 열기를 선택하면 된다. 추가 버튼을 누르면 API Gateway가 생성된다.
람다 함수를 생성했던 페이지의 구성탭에 들어가면 람다 함수의 API 트리거로 API Gateway가 연결되어 있는것을 확인 할 수 있다.
API 게이트웨이에 나와 있는 API엔드포인트를 URL에 입력해 접속하게 되면 람다에서 작성한 코드가 실행되게 된다.
이렇게 API 서버를 프로비전하지 않고 람다와 API Gate의 조합만으로 쉽게 API를 만들 수 있다.
'AWS' 카테고리의 다른 글
[AWS] AWS EC2란? (0) | 2023.03.09 |
---|---|
[AWS] Amazon RDS란? (0) | 2023.03.07 |
[AWS] AWS S3(Simple Storage Service)란? (0) | 2023.03.06 |
[AWS] IAM 이란? (2) | 2023.03.06 |