1

Cloud SQLで動作するようにNode.JSを設定する方法の例に続いて、一般的には動作するようになっていますが、接続する方法のいくつかの回避策があります。 SQLサーバー。私は適切な方法でINSTANCE_CONNECTION_NAMEcreateConnection()メソッドのoptions変数のsocketPathオプションに渡して接続できません。代わりに、一時的な回避策として、私は現在、サーバーのIPアドレスを指定し、VMのIPアドレスをサーバーのファイアウォール設定に入れて通過させます。Node.JSからGoogle Cloud SQLに接続する正しい方法

これはすべて機能しますが、AppEngineに公開する前に、これを適切にまとめようとしています。

どうすれば動作させることができますか?

次のコードは正常に動作します:

function getConnection() 
{ 
    const options = 
    { 
    host: "111.11.11.11", //IP address of my Cloud SQL Server 
    user: 'root', 
    password: 'somePassword', 
    database: 'DatabaseName' 
    }; 
    return mysql.createConnection(options); 
} 

しかし、チュートリアルで呼ばれ、私はTutorialからとGithub pageから組み合わせています次のコード、エラーを与えている:

function getConnection() 
{ 
    const options = 
    { 
    user: 'root', 
    password: 'somePassword', 
    database: 'DatabaseName', 
    socketPath: '/cloudsql/project-name-123456:europe-west1:sql-instance-name' 
    }; 
    return mysql.createConnection(options); 
} 

ここで私が取得していますエラー:

{ [Error: connect ENOENT /cloudsql/project-name-123456:europe-west1:sql-instance-name] 
    code: 'ENOENT', 
    errno: 'ENOENT', 
    syscall: 'connect', 
    address: 'cloudsql/project-name-123456:europe-west1:sql-instance-name', 
    fatal: true } 

何が間違っているのですか? IPアドレスをAppEngineに公開すると、SQLサーバーへの着信トラフィックを許可できなくなるのではないかと心配しています。

答えて

1

AppEngineアプリをSQLデータベースと同じ地域に配置していますか? 「coudのSQL」をテスト中(ヨーロッパ-west1)https://cloud.google.com/sql/docs/mysql/connect-app-engine状態で

ドキュメント「あなたのアプリケーションがCloud SQLインスタンスと同じ地域内になければなりません。

+0

良い点を、はい、見えます私はそれについて考えなかったけれど... –

+0

正解? – Gary

+0

まだ分かりません。回避策としてCompute Engineで実行して終了しました... –

2

私は、同様のエラーに会いました。

  • error message : Error: connect ENOENT /cloudsql/xxx-proj:us-central1:xxx-instance
  • ソリューション:

+----------------------------------------------------------+
wget https://dl.google.com/cloudsql/cloud_sql_proxy.linux.amd64 -O cloud_sql_proxy
chmod +x cloud_sql_proxy
sudo mkdir /cloudsql; sudo chmod 777 /cloudsql
./cloud_sql_proxy -dir=/cloudsql &

=> now node js server can connect to mysql

は、ガイドを参照してください:ヨーロッパ-West1-Cであることを起こるようhttps://cloud.google.com/appengine/docs/flexible/nodejs/using-cloud-sql

+0

提案をいただきありがとうございます。すぐに試してみましょう... –

関連する問題