[파이썬] AWS Lambda와 CloudFormation을 통한 환경 변수 관리

환경 변수는 애플리케이션의 구성을 제어하고 동작을 조정하는 중요한 역할을 합니다. AWS Lambda와 CloudFormation을 사용하여 환경 변수를 쉽게 관리할 수 있습니다. 이 글에서는 AWS Lambda에서 환경 변수를 사용하는 방법과 CloudFormation을 통해 Lambda 함수를 배포하면서 환경 변수를 설정하는 방법을 살펴보겠습니다.

AWS Lambda에서 환경 변수 사용하기

AWS Lambda에서 환경 변수를 사용하는 가장 간단한 방법은 Lambda 함수의 구성에서 직접 설정하는 것입니다. AWS 콘솔에서 Lambda 함수를 작성하거나 수정할 때, 구성 탭에서 환경 변수 섹션을 찾을 수 있습니다. 여기에서 키-값 쌍으로 환경 변수를 설정할 수 있습니다.

예를 들어, 환경 변수 DB_HOST를 설정하고 싶다면 키에 “DB_HOST”를 입력하고 값에 실제 데이터베이스 호스트 주소를 입력합니다. 이제 Lambda 함수에서 os.getenv("DB_HOST")와 같은 방법으로 해당 환경 변수에 접근할 수 있습니다.

import os

db_host = os.getenv("DB_HOST")

Lambda 함수가 실행되면 자동으로 설정한 환경 변수에 접근할 수 있습니다. 이 방법은 AWS 콘솔에서 직접 관리할 수 있어 간단하고 편리합니다. 하지만 다른 환경에서 Lambda 함수를 배포하고 관리해야 하는 경우, CloudFormation을 사용하여 환경 변수를 관리하는 것이 더 효율적입니다.

CloudFormation을 통해 Lambda 함수 배포하면서 환경 변수 설정하기

CloudFormation은 AWS 리소스를 프로비저닝하고 관리하기 위한 서비스입니다. AWS Lambda 함수를 만들고 환경 변수를 설정하는 과정을 CloudFormation 템플릿으로 작성할 수 있습니다.

다음은 CloudFormation 템플릿 예시입니다.

Resources:
  MyLambdaFunction:
    Type: AWS::Lambda::Function
    Properties:
      FunctionName: my-lambda-function
      Runtime: python3.8
      Handler: index.lambda_handler
      Code:
        S3Bucket: my-deployment-bucket
        S3Key: lambda.zip
      Environment:
        Variables:
          DB_HOST: my-db-host

위 템플릿에서 Environment 섹션에서 Variables 콘텐츠를 사용하여 환경 변수를 설정할 수 있습니다. 여기에서도 키-값 쌍으로 환경 변수를 설정할 수 있습니다. 이제 CloudFormation 템플릿을 사용하여 Lambda 함수를 배포하면 설정한 환경 변수가 자동으로 적용됩니다.

환경 변수를 설정하는 CloudFormation 템플릿을 사용하면 코드 커밋과 배포 프로세스를 자동화할 수 있습니다. 다양한 환경에 대해 일관된 설정을 적용하고, 환경 변수를 안전하게 관리할 수 있습니다.

결론

환경 변수는 애플리케이션 개발과 배포에 있어 중요한 역할을 합니다. AWS Lambda와 CloudFormation을 통해 환경 변수를 쉽고 효율적으로 관리할 수 있습니다. Lambda 함수의 구성에서 직접 설정하거나, CloudFormation 템플릿을 사용하여 환경 변수를 설정할 수 있습니다. CloudFormation을 사용하면 일관된 설정을 쉽게 유지하고, 코드 배포 프로세스를 자동화할 수 있습니다.

이러한 환경 변수 관리 기술을 활용하여 안정적이고 유연한 애플리케이션을 개발하세요.