[파이썬] AWS Lambda와 Amazon RDS 연동

AWS Lambda와 Amazon RDS를 연동하여 데이터베이스 작업을 수행하는 것은 많은 애플리케이션에 필요한 기능입니다. 이 블로그 포스트에서는 Python을 사용하여 AWS Lambda 함수와 Amazon RDS 데이터베이스를 연결하는 방법에 대해 알아보겠습니다.

Lambda 함수 설정

첫째로, AWS Lambda 함수를 생성하고 설정해야 합니다. AWS 콘솔에서 Lambda 서비스로 이동하여 함수를 생성하고 다음과 같은 설정을 수행합니다:

  1. 함수 생성: 원하는 함수 이름을 지정하고, 런타임으로 Python 3.7을 선택합니다.
  2. 권한 설정: 역할을 선택하거나 새로 생성하여 필요한 권한을 부여합니다. Amazon RDS에 접근할 수 있는 역할이 있어야 합니다.
  3. 트리거 설정: Lambda 함수가 어떤 이벤트를 트리거로 실행되어야 하는지 설정합니다. 예를 들어, API Gateway로부터의 HTTP 요청을 트리거로 설정하는 것이 일반적입니다.

모듈 설치

Lambda 함수에 필요한 추가적인 Python 모듈을 설치해야 합니다. 이 예시에서는 pymysql을 사용하여 Amazon RDS와 연동할 것입니다. 다음 명령어로 이 모듈을 설치합니다:

pip install pymysql

Lambda 함수 코드 작성

이제 Lambda 함수 코드를 작성합니다. 아래는 Python에서 Lambda 함수를 작성하는 예시입니다:

import pymysql

def lambda_handler(event, context):
    # RDS 연결 설정
    conn = pymysql.connect(
        host='your_rds_host',
        user='your_rds_username',
        password='your_rds_password',
        db='your_rds_database',
        charset='utf8mb4',
        cursorclass=pymysql.cursors.DictCursor
    )
    
    try:
        # RDS 쿼리 수행
        with conn.cursor() as cursor:
            sql = "SELECT * FROM your_table"
            cursor.execute(sql)
            result = cursor.fetchall()
            
            # 결과 처리
            for row in result:
                print(row)
    finally:
        # 연결 종료
        conn.close()

위 코드에서 your_rds_host, your_rds_username, your_rds_password, your_rds_database, your_table을 실제 Amazon RDS 인스턴스 및 데이터베이스에 맞게 바꿔주어야 합니다. 이 코드는 주어진 테이블에서 모든 데이터를 선택하고 결과를 출력하는 간단한 예시입니다.

테스트 및 배포

Lambda 함수 코드를 작성한 후, 함수를 테스트하고 배포해야 합니다. AWS 콘솔에서 다음과 같은 단계를 따릅니다:

  1. 테스트: Lambda 함수의 테스트 이벤트를 작성하여 실행해볼 수 있습니다. 이를 통해 코드의 작동 여부를 확인할 수 있습니다.
  2. 배포: Lambda 함수를 배포하여 실제로 사용할 수 있게 됩니다. AWS Lambda 콘솔을 통해 쉽게 배포할 수 있습니다.

마무리

이제 Python을 사용하여 AWS Lambda와 Amazon RDS를 연동하는 방법에 대해 알아보았습니다. 이를 통해 데이터베이스 작업을 수행하는 Lambda 함수를 구축할 수 있게 되었습니다. AWS RDS와 Lambda를 함께 사용하면 확장성이 높고 비용 효율적인 서버리스 애플리케이션을 구축할 수 있습니다.