2017-11-29 14 views
0

하나의 AWS 계정으로 RDS MySQL 데이터베이스를 만들었습니다. 이 DB가 열리 며 Workbench 또는 다른 데스크탑 응용 프로그램으로 연결할 수 있습니다.불가능한 RDS 연결 AWS Lambda의 MySQL

다른 AWS 계정을 가지고 있는데, 첫 번째 계정에서 RDS DB에 연결할 람다 함수를 만들려고합니다.

나는 타임 아웃을 할 때마다 불가능하기 때문에 그렇게 보입니다.

import com.amazonaws.services.lambda.runtime.Context; 
import com.amazonaws.services.lambda.runtime.RequestHandler; 

import java.sql.DriverManager; 

public class DBTest implements RequestHandler<String, String> { 

    @Override 
    public String handleRequest(String input, Context context) { 
     context.getLogger().log("Input: " + input+"\n"); 

     try { 
      StringBuilder url = new StringBuilder(); 

      url.append("jdbc:mysql://"). 
       append("jackdbinstance.********.eu-west-1.rds.amazonaws.com:3306/"). 
       append("TestLambdaDB"+"?"). 
       append("user=******&"). 
       append("password=*******"); 


      DriverManager.getConnection(url.toString()); 

      return "DB connected"; 
     } catch (Exception e) { 
      return e.toString(); 
     } 
    } 
} 

난 아무 문제없이 내 바탕 화면의 자바 응용 프로그램에서 연결할 수 있습니다 동일한 코드를 사용 :

은 여기 내 람다 자바 코드입니다.

내가 람다에 대한 VPC, 내가 할당 된 512Mb의 메모리를 사용하지 않는, 제한 시간이 30 초 설정

수 누군가 도와 줘요 (내보기에서 충분히입니다)?

+0

Workbench를 데이터베이스에 연결하는 방법은 무엇입니까? 워크 벤치를 인스턴스의 포트 3306에 직접 연결할 수 있습니까 (ssh, 포트 전달 등)? 그렇다면 전체 인터넷이 포트 3306에서도 인스턴스에 연결할 수 있습니까? – dashmug

+3

RDS MySQL에 첨부 된 VPC 보안 그룹을 확인 했습니까? lamba가 사용하는 amazon IP 주소를 차단하고있을 수 있습니까? 처음 RDS를 만들었을 때 기본적으로 새로운 보안 그룹이 생성되고 해당 보안 그룹에는 데스크톱 IP 주소가 자동으로 추가됩니다. – Rodel

+1

감사합니다. 귀하의 대답은 도움이되었습니다. 단 하나의 IP가있었습니다. –

답변

1

RDS 인스턴스의 보안 그룹 구성에 문제가 연결되었습니다. 하나의 IP 만 연결했는데 어떻게 든이 규칙은 RDS 인스턴스를 만들 때 자동으로 설정됩니다.