Cloud SQLで動作するようにNode.JSを設定する方法の例に続いて、一般的には動作するようになっていますが、接続する方法のいくつかの回避策があります。 SQLサーバー。私は適切な方法でINSTANCE_CONNECTION_NAME
をcreateConnection()
メソッドの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サーバーへの着信トラフィックを許可できなくなるのではないかと心配しています。
良い点を、はい、見えます私はそれについて考えなかったけれど... –
正解? – Gary
まだ分かりません。回避策としてCompute Engineで実行して終了しました... –