どうも、フリーランスの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
事前にpemを準備しておきましょう。
EC2にpostgresqlをインストール
EC2からPostgreSQL(RDS)に接続するには、EC2にpostgresqlのクライアントをインストールする必要があります。
まずはモジュールの状況を確認。
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をインストールします。
ここで何も考えないでコマンドを叩くと「このコマンドを実行するには root である必要があります」とお叱りを受けます。
なので、一時的にrootになります。
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 エンドポイント -U ユーザ名 -d DB名
ポートなどの状況によっては、それぞれ指定しましょう。