[파이썬] AWS Lambda와 API Gateway를 활용한 웹 서비스 구축

AWS Lambda는 서버리스 아키텍처를 구축하는 데 매우 유용한 서비스입니다. 이를 활용하여 쉽고 빠르게 웹 서비스를 구축할 수 있습니다. API Gateway는 사용자의 요청을 Lambda 함수로 전달해주는 역할을 합니다. 이번 튜토리얼에서는 Python을 사용하여 AWS Lambda와 API Gateway를 활용하여 간단한 웹 서비스를 구축하는 방법을 알아보겠습니다.

1. AWS Lambda 함수 만들기

먼저 AWS 콘솔에 로그인하고 Lambda 서비스로 이동합니다. 클릭하여 “함수 생성”을 선택합니다.

1.1 Amazon Linux 2 기반 런타임 선택

Lambda 함수의 런타임으로는 Python 3.7을 선택합니다. 이를 위해 함수 생성 페이지의 “런타임” 드롭다운에서 “Python 3.7”을 선택합니다.

1.2 코드 작성 및 업로드

함수 코드 작성란에 아래의 예시 코드를 작성합니다.

import json

def lambda_handler(event, context):
    return {
        'statusCode': 200,
        'body': json.dumps('Hello from AWS Lambda!')
    }

이 코드는 Lambda 함수가 실행될 때마다 “Hello from AWS Lambda!”라는 텍스트를 반환합니다. 코드를 작성한 후, “배포 패키지 및 업로드” 옵션에서 .zip 파일을 업로드하거나, 직접 코드를 복사하여 편집기에 붙여넣습니다.

1.3 함수 테스트

함수를 테스트하기 위해 “테스트 이벤트 구성”을 선택합니다. 기본 템플릿 중 하나를 선택하고 테스트 이벤트 이름을 입력하여 “생성” 버튼을 클릭합니다. “테스트” 버튼을 클릭하여 정상적으로 작동하는지 확인할 수 있습니다.

2. API Gateway 구성

2.1 REST API 생성

AWS 콘솔로 돌아가서 API Gateway 서비스로 이동합니다. “새 API 생성”을 클릭하고 REST API 옵션을 선택합니다.

2.2 리소스 구성

리소스를 추가하기 위해 리소스 옵션을 선택하고 “리소스 추가” 버튼을 클릭합니다. 새 리소스를 만들면 URL 경로를 지정할 수 있습니다.

2.3 메소드 추가

새로운 리소스를 만든 후, 리소스에 대한 메소드를 추가합니다. 예를 들어 GET 메소드를 추가하기 위해 “GET”을 클릭하고, “GET” 메소드를 생성합니다.

2.4 통합 유형 설정

AWS Lambda 함수를 통합하기 위해, 메소드 편집기에서 “통합 요청”을 클릭합니다. “AWS 서비스”를 선택하고, “Lambda”를 선택합니다. 이후 “Lambda 리전”과 “Lambda 함수”를 선택합니다.

2.5 배포

마지막으로, API의 변경 내용을 배포합니다. “작업”에서 “배포”를 선택합니다.

3. 웹 서비스 테스트

API Gateway 제공하는 엔드포인트 URL을 사용하여 웹 서비스를 테스트할 수 있습니다. 웹 브라우저에서 엔드포인트 URL에 접속하고 응답이 “Hello from AWS Lambda!”인지 확인합니다.

이제 당신은 AWS Lambda와 API Gateway를 통해 웹 서비스를 구축하는 방법을 알고 있습니다. 이 강력한 조합을 사용하여 다양한 유형의 웹 애플리케이션을 구축하고 확장할 수 있습니다.