※ローカル環境で、node.jsを使って開発してるときのお話。
http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create_deploy_nodejs.rds.html
に書いてあるサンプル
var mysql = require('mysql');
var connection = mysql.createConnection({
host : process.env.RDS_HOSTNAME,
user : process.env.RDS_USERNAME,
password : process.env.RDS_PASSWORD,
port : process.env.RDS_PORT
});
って、つまり、シェルの環境変数に設定しとけってことのようだ。
こんな感じ。
$ export RDS_HOSTNAME=hogehoge.us-west-2.rds.amazonaws.com
$ export RDS_USERNAME=username
$ export RDS_PASSWORD=pass
$ export RDS_PORT=3306
ホストネームに設定するのは、"Services"->"RDS"->"DB Instances"から
EB(Elastic Beanstalk)に結びつけられてるデータベースを選ぶと、
下にいろいろ表示されたなかの"Endpoint:"のとこの長いやつ。
これだけだと、セキュリティの問題(?)で接続できないので、
左側にある"DB Security Groups"を選ぶ。
すると、右側にセキュリティグループが表示されるから、
EBに結びつけられたデータベース用のを選ぶ。
で、下に詳細が表示されるので、"CIDR/IP"の説明欄に表示されている
自分のPCのIPアドレスをいれて、"Add"ボタンを押す。
これで接続出来るようになったけど、常時接続じゃないとか
プロクシとか使ってる場合は別の方法を考えたほうがいいだろう。
あとは、直接MySQLに接続したいときには次のようにする。
mysql -u username -p --host=hogehoge.us-west-2.rds.amazonaws.com
すると無事、EB用のMySQLに接続できるので、"CREATE DATABASE"したり、
"CREATE TABLE hoge"できるようになる。
ユーザーネームとパスワードは、RDSを作成するときに登録したものを使う。