한 회사에서 애플리케이션 백엔드를 EC2에서 서버리스로 전환하고 있습니다. 앱과 RDS for MySQL 인스턴스는 단일 VPC 내의 프라이빗 서브넷에 배포됩니다. 이 회사는 Lambda 함수가 DB 인스턴스에 연결되도록 해야 합니다. 어떤 접근 방식이 요구 사항을 충족합니까?
정답 선택
옵션을 탭하여 정답을 확인하세요.
정답: VPC에 Lambda 함수를 생성하고 실행 역할에 AWSLambdaVPCAccessExecutionRole 정책을 연결합니다. RDS 보안 그룹을 수정하여 Lambda 보안 그룹의 인바운드 액세스를 허용합니다..
이것이 정답인 이유
Lambda 함수가 VPC 내의 리소스(예: RDS 데이터베이스)에 액세스하려면 해당 VPC 내에서 실행되도록 구성되어야 합니다. 이를 위해 Lambda 함수를 VPC에 연결하고, 실행 역할에 AWSLambdaVPCAccessExecutionRole 정책을 연결해야 합니다. 이 정책은 Lambda 함수가 VPC 리소스에 액세스하는 데 필요한 네트워크 인터페이스를 생성할 수 있는 권한을 부여합니다. 또한, RDS 데이터베이스의 보안 그룹을 수정하여 Lambda 함수가 사용하는 보안 그룹으로부터의 인바운드 트래픽을 허용해야 합니다.
첫 번째 오답은 AWSLambdaBasicExecutionRole을 사용하는데, 이 역할은 VPC 리소스 액세스 권한을 포함하지 않습니다. 세 번째와 네 번째 오답은 Lambda 함수를 VPC 구성 없이 생성한다고 하는데, 이는 VPC 내의 RDS에 액세스할 수 없게 만듭니다. VPC 엔드포인트는 다른 AWS 서비스에 대한 프라이빗 연결을 제공하지만, Lambda 함수가 VPC 내의 리소스에 직접 액세스하는 데 사용되지 않습니다.