LoginSignup
2
1

More than 3 years have passed since last update.

Google App Engine(GAE) スタンダード環境でSequelizeを使ってCloud SQL for MySQLへつなぐ

Last updated at Posted at 2019-02-15

Cloud SQL for MySQLへの接続にはまった為、メモとして残したいと思います。

前提条件

  • Node.js v10.x
  • Sequelize v4.42.0
  • Cloud SQL for MySQL v5.7
  • GAEとCloud SQL for MySQLは同じプロジェクトであること(パブリックIPが設定済みであること)

Sequelizeの設定例


const sequelize = new Sequelize('database', 'username', 'password', {
  dialect: 'mysql',
  host: 'localhost',
  dialectOptions: {
    socketPath: `/cloudsql/${process.env.INSTANCE_CONNECTION_NAME}`,
  },
})

GAEからCloud SQLに接続する際は基本的にCloud SQL Proxyを使用して接続するみたいです。。
その為、デフォルトのTCPソケット接続ではなくUNIXソケット接続に切り替えます。
重要なのはhostとdialectOptions内のsocketPathです。
hostはデフォルトがlocalhostなので未設定でもいいです。
dialectOptions内のsocketPathには「/cloudsql/」という文字列の後に
Cloud SQLのインスタンス接続名を入れます。
インスタンス接続名はCloud SQLの [概要] ページのプロパティに記載されています。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1