2017-02-07 2 views
1

AWS 람다를 사용하여 기기에서 수신 한 위도/경도의 주소를 계산하고 싶습니다. lat/long을 수신 할 때마다 AWS lambda를 호출하여 API를 호출하여 주소를 계산 한 다음 MYSQL 데이터베이스에 주소를 저장하려고합니다 (여기서 Amazon을 사용하지 않음). 내 데이터베이스 서버 (someIP)를 AWS 람다와 연결할 수 있습니까?AWS 람다 사용

+2

구체적인 질문은 AWS 람다 함수를 MySQL 데이터베이스에 연결하는 것입니다. (기능의 언어도 지정하십시오). 이 경우 [this] (http://stackoverflow.com/q/31809890/1535071)가 도움이되지 않습니까? – imTachu

+0

MySQL 데이터베이스가 AWS 안에 있지 않습니까? 인터넷에서 액세스 할 수 있습니까? –

+0

@ Michael-sqlbot 맞습니다. –

답변

0

예. 가능합니다.

이전에는 지원되지 않았지만 요즘에는 람다 함수에서 SQL 연결을 사용할 수 있습니다. guide을 참조하십시오.

람다 함수 내에서 연결을 열기 때문에, 당신이 당신의 람다 함수의 실행 시간을 증가해야한다는 그러나 명심하는 것은 약간의 시간

0

예, 드리겠습니다을합니다. Node.js를 위해 여기에 예제 :

var mysql = require('mysql'); 
this.getDBConnection = function (infoDict) { 
    var connection = mysql.createConnection({ 
     host: infoDict.DB_HOST, 
     user: infoDict.DB_USER, 
     password: infoDict.DB_PASSWORD, 
     database: infoDict.DB_NAME 
    }); 
    return connection; 
}, 
this.closeDBConnection = function (connection) { 
    connection.end(function (r) { 
     if (r) { 
      connection.destroy(); 
     } 
    }); 
} 

두 가지가 확인이 :

  • 당신이 당신의 MySQL 데이터베이스가 호스팅되는 IP에 연결 아웃 바운드를 사용할 수 있는지 확인해야합니다.
  • MySQL이 원격 연결을 허용합니다.
0

은 Franklins의 대답에 추가하려면 :

  1. 은 향상된 보안을위한 VPC 내부의 람다를 실행합니다. DB가 VPC 내부에서 실행중인 경우 제한된 SecurityGroup을 만들어 EC2에 액세스 할 수 있습니다. AWS 외부에있는 경우 알려진 탄성 IP로 NAT 게이트웨이를 통해 경로를 만들 수 있습니다.이 경로를 사용하면 다시 한 번 액세스를 제한 할 수 있습니다.
  2. DB에 대한 연결을 닫아야합니다. 그렇지 않으면 람다가 종료되지 않고 시간 초과 오류가 발생합니다.