VPC의 Lambda 인스턴스에서 DynamoDB에 연결하려면 어떻게 해야 합니까?

2분 분량
0

Amazon DynamoDB를 Amazon Virtual Private Cloud(Amazon VPC)의 AWS Lambda 인스턴스와 통합하려고 합니다.

해결 방법

사전 요구 사항:

DynamoDB에 Lambda 연결

다음 단계를 완료하십시오.

  1. Lambda 콘솔을 엽니다.
  2. 탐색 창에서 **Functions(함수)**를 선택합니다.
  3. **Create function(함수 생성)**을 선택합니다.
  4. **Author from scratch(새로 작성)**를 선택합니다.
  5. **Basic information(기본 정보)**에서 다음을 구성합니다.
    **Function name(함수 이름)**에 함수의 이름을 입력합니다.
    **Runtime(런타임)**에서 런타임 옵션을 선택합니다. 이 예제에서는 Python 3.12가 사용됩니다.
    **Architecture(아키텍처)**에서 x86_64를 선택합니다.
  6. **Advanced settings(고급 설정)**에서 다음을 구성합니다.
    **Enable VPC(VPC 활성화)**를 선택한 다음, 사용할 VPC를 선택합니다.
    **Subnets(서브넷)**에서 프라이빗 서브넷만 선택합니다.
    **Security groups(보안 그룹)**에서 기본 보안 그룹을 선택합니다.
  7. **Create function(함수 생성)**을 선택합니다.
  8. Function details(함수 세부 정보) 페이지의 **Code source(코드 소스)**에서 다음 코드를 입력합니다.
    import json
    import boto3
    
    client = boto3.client('dynamodb')
    
    def lambda_handler(event, context):
        response = client.get_item(
            TableName='Music',
            Key={
                'Artist': {
                    'S': 'No One You Know',
                },
                'SongTitle': {
                    'S': 'Call Me Today',
                },
            }
        )
    
        print(response)
    
        return {
            'statusCode': 200,
            'body': json.dumps('Success!')
        }
    참고: TableNameKey를 사용자 값으로 바꿉니다.
  9. **Deploy(배포)**를 선택합니다.
  10. 함수를 테스트합니다.
    참고: 함수를 테스트하려면 Lambda의 AWS Identity and Access Management(IAM) 역할에 적절한 권한이 있어야 합니다. 자세한 내용은 AWS Lambda에서 권한 관리를 참조하십시오.

추가 문제 해결

VPC에 연결된 Lambda 함수의 문제를 해결하려면 다음 작업을 수행하십시오.

  • Lambda 함수에서 퍼블릭 서브넷에 대한 연결을 모두 제거합니다. 퍼블릭 서브넷에 연결하면 트래픽이 퍼블릭 서브넷을 통과하려고 시도하므로 간헐적인 시간 초과 문제가 발생할 수 있습니다.

  • DynamoDB의 게이트웨이 엔드포인트가 올바르게 구성되어 있는지 확인합니다.

  • Lambda 함수와 연결된 프라이빗 서브넷을 업데이트하여 DynamoDB VPC 게이트웨이 엔드포인트를 통해 라우팅합니다. 이러한 엔드포인트에는 Lambda와 DynamoDB 간의 보안 그룹 설정 구성을 간소화하는 AWS 관리형 접두사 목록이 있습니다.
    프라이빗 서브넷 라우팅 테이블 예시:

    Route Table: rtb-12345
    Destination        Gateway     Status
    10.0.0.0/16         local      active
    pl-1234           vpce-1234    active
  • 모든 트래픽을 허용하도록 Lambda 보안 그룹 규칙을 업데이트합니다.

관련 정보

콘솔을 사용하여 Lambda 함수 생성

Amazon VPC 엔드포인트를 사용하여 DynamoDB에 액세스

네트워킹 및 VPC 구성

AWS 공식
AWS 공식업데이트됨 3달 전