技術

AWSのEC2からPostgreSQL(RDS)へ接続する方法

どうも、フリーランスのITエンジニア兼ブロガー兼投資家のKerubitoです。

記事のタイトルのまんまです。

「AWSのEC2からPostgreSQL(RDS)へ接続する方法」について備忘録として残しておきます。

環境周り

環境は以下となっています。

接続元端末:MacbookPro macOS Catalina 10.15.4
EC2   :Amazon Linux AMI release 2018.03
DB   :PostgreSQL(RDS)

手順

大まかな手順です。

1.sshでEC2に接続
2.EC2にpostgresqlをインストール
3.PostgreSQL(RDS)に接続

sshでEC2に接続

すでにsshでEC2に接続できている場合は飛ばしてください。

$ ssh ***@**** -i ~/.ssh/keys/***.pem

ssh ユーザー@ホスト -i ~/.ssh/keys/***.pem

事前にpemを準備しておきましょう。

EC2にpostgresqlをインストール

EC2からPostgreSQL(RDS)に接続するには、EC2にpostgresqlのクライアントをインストールする必要があります。

まずはモジュールの状況を確認。

postgresql95.x86_64 ***********.amzn1 amzn-updates
postgresql95-contrib.x86_64 ***********.amzn1 amzn-updates
postgresql95-devel.x86_64 ***********.amzn1 amzn-updates
postgresql95-docs.x86_64 ***********.amzn1 amzn-updates
postgresql95-libs.i686 ***********.amzn1 amzn-updates
postgresql95-libs.x86_64 ***********.amzn1 amzn-updates
postgresql95-plperl.x86_64 ***********.amzn1 amzn-updates
postgresql95-plpython26.x86_64 ***********.amzn1 amzn-updates
postgresql95-plpython27.x86_64 ***********.amzn1 amzn-updates
postgresql95-server.x86_64 ***********.amzn1 amzn-updates
postgresql95-static.x86_64 ***********.amzn1 amzn-updates
postgresql95-test.x86_64 ***********.amzn1 amzn-updates
postgresql96.x86_64 ***********.amzn1 amzn-updates
postgresql96-contrib.x86_64 ***********.amzn1 amzn-updates
postgresql96-devel.x86_64 ***********.amzn1 amzn-updates
postgresql96-docs.x86_64 ***********.amzn1 amzn-updates
postgresql96-libs.i686 ***********.amzn1 amzn-updates
postgresql96-libs.x86_64 ***********.amzn1 amzn-updates
postgresql96-plperl.x86_64 ***********.amzn1 amzn-updates
postgresql96-plpython26.x86_64 ***********.amzn1 amzn-updates
postgresql96-plpython27.x86_64 ***********.amzn1 amzn-updates
postgresql96-server.x86_64 ***********.amzn1 amzn-updates
postgresql96-static.x86_64 ***********.amzn1 amzn-updates
postgresql96-test.x86_64 ***********.amzn1 amzn-updates

上であれば、インストールするのは「postgresql96.x86_64」になるかと。

postgresql96.x86_64をインストールします。

yum install postgresql96.x86_64

ここで何も考えないでコマンドを叩くと「このコマンドを実行するには root である必要があります」とお叱りを受けます。

なので、一時的にrootになります。

sudo su -

Total download size: 5.5 M
Installed size: 21 M
Is this ok [y/d/N]: 

などと聞いてきますので「y」。

インストールがうまくいったら

Installed:
  postgresql96.x86_64 *:*.*..amzn1                                                                                                              
Dependency Installed:
  postgresql96-libs.x86_64 *:*.*..amzn1                                                                                                         

Complete!

となります。

PostgreSQL(RDS)に接続

EC2からPostgreSQL(RDS)に接続します。

psql -h ***.ap-northeast-1.rds.amazonaws.com  **** -U **** -d ***

psql -h エンドポイント -U ユーザ名 -d DB名

ポートなどの状況によっては、それぞれ指定しましょう。

-技術

Copyright© Kerubitoのブログ , 2020 All Rights Reserved.