ここでは、AWSでEC2のAPサーバーからRDSのPostgreSQLにつなぐ手順のメモをする。
前提として、RDSのPostgreSQLはパブリックアクセス不可、APサーバーと同じVPC、セキュリティグループという状態。
セキュリティグループで、APサーバーからPostgreSQL(ポート5432)への接続を許可する。
APサーバーに
yum install -y postgresqlでPSQLを入れる。サーバーは入れない。
で、このコマンドで接続できる。
psql -h endpointxxxxx.ap-northeast-1.rds.amazonaws.com -d dbname -U dbusername
ただ、毎度パスワードを聞かれるので面倒くさい。
そこで、普段使うユーザーでホームディレクトリに
- .pgpass (頭にドット)というファイルを作る
- アクセス権を600にする
- 中身に以下を書く。
endpointxxxxx.ap-northeast-1.rds.amazonaws.com:5432:dbname:dbusername:パスワード
これで、パスワードを聞かれなくなる。
なお、記述が間違っていると普通に無視される(エラーとか出ない)。自分は、ポート番号を書き忘れたりして「あっれー?なんでパスワード聞かれるんだ?」となった。
追記
上記の方法はどうもうまくいきにくい。以下の方がかんたん。
ホームにある.bashrcに、以下を書く。
export PGPASSWORD=password
=の横に空白とか入れるとダメ。
0 件のコメント:
コメントを投稿