6
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

【覚え書き】AWS Elastic BeanstalkからRDSへ接続

Last updated at Posted at 2013-04-30

※ローカル環境で、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を作成するときに登録したものを使う。

6
6
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
6
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?