Amazon RDS DB 인스턴스에 액세스할 때 Lambda의 일관된 연결 제한 시간 문제를 해결하려면 어떻게 해야 합니까?

최종 업데이트 날짜: 2020년 2월 27일

Amazon Relational Database Service(Amazon RDS) DB 인스턴스에 액세스하는 동안 AWS Lambda 함수에 일관된 연결 제한 시간 오류가 발생합니다. 이 오류를 해결하려면 어떻게 해야 합니까?

해결 방법

일관된 연결 제한 시간 오류는 사용 사례 및 Lambda 함수 구성에 따라 다양한 이유로 발생할 수 있습니다. 다음 단계에 따라 오류를 해결합니다.

참고: 간헐적 및 일시적 연결 제한 시간이 발생하는 경우 이벤트를 캡처하고 Lambda 함수의 오류 처리의 일부로서 이벤트를 다시 시도하십시오. 자세한 내용은 AWS Lambda에서 오류 처리 및 자동 재시도를 참조하십시오.

Lambda 함수 로그 확인

아직 로깅을 활성화하지 않았다면, 연결에 대한 로깅을 활성화한 다음 Lambda 함수의 로그를 검토하십시오. 자세한 내용은 Lambda 애플리케이션 모니터링 및 문제 해결을 참조하십시오.

VPC 구성 확인

다음 중 하나를 수행하십시오.

자세한 내용은 자습서: Amazon VPC에서 Amazon RDS에 액세스하도록 Lambda 함수 구성을 참조하십시오.

보안 그룹 규칙 생성

다음 중 하나를 수행하십시오.

  • 데이터베이스에 비공개로 액세스할 수 있고 Lambda 함수가 Amazon VPC에 있는 경우 DB 보안 그룹에 인바운드 규칙을 추가하여 VPC의 서브넷 또는 보안 그룹의 CIDR 범위에서 송신하는 트래픽을 허용합니다.
  • 데이터베이스에 공개적으로 액세스할 수 있고 Lambda 함수가 Amazon VPC에 있는 경우, DB 보안 그룹에 인바운드 규칙을 추가하여 VPC의 NAT 게이트웨이 또는 NAT 인스턴스에서 송신하는 트래픽을 허용합니다.

Lambda 함수 핸들러 업데이트

함수가 함수 핸들러 외부에서 데이터베이스 연결을 열고 연결을 닫지 않도록 Lambda 함수 코드를 업데이트합니다. Lambda가 컨테이너를 재사용하는 방식 때문에 컨테이너가 재사용될 때 Lambda는 함수 핸들러 외부에 있는 코드를 다시 초기화하지 않습니다.

EC2 인스턴스를 사용하여 연결

테스트로 Lambda 함수와 동일한 Amazon VPC 구성으로 Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스를 시작합니다. EC2 인스턴스에서 RDS DB 인스턴스로의 연결을 시도하십시오.

  • 데이터베이스에 연결할 수 있는 경우 연결 오류의 근본 원인은 Lambda 측에 있습니다. Lambda 네트워킹 문제에 대한 문제 해결을 계속합니다.
  • 데이터베이스에 연결할 수 없는 경우 근본 원인은 네트워킹 구성에 문제가 있는 것입니다.

자세한 내용은 Amazon RDS DB 인스턴스에 연결할 때 발생하는 문제를 해결하려면 어떻게 해야 합니까?를 참조하십시오.

Amazon RDS 프록시(평가판) 사용

RDS 데이터베이스에 대한 Amazon RDS 프록시 엔드포인트를 생성하여 Lambda 함수로부터의 데이터베이스 트래픽을 처리합니다. 자세한 내용은 AWS Lambda에서 Amazon RDS 프록시 사용을 참조하십시오.

참고: 평가판 기간 동안 Amazon RDS 프록시는 아시아 태평양(도쿄), EU(아일랜드), 미국 동부(오하이오), 미국 동부(버지니아 북부) 및 미국 서부(오레곤) AWS 리전에서 사용할 수 있습니다.