要件
インターネットへのアウトバウンドが禁止されているサブネットに配置されたRDSに対して、同サブネットに配置されたEC2(B)からpsqlしたい。
そのため、Bにpsqlを導入する。
条件
インターネットへアウトバウンドできるEC2インスタンス(A)が用意されていて、BはAからのインバウンドを受け付けている。
EC2はAmazonlinux2023とする。
やり方
まずは手元にマシンからAにSSHして、ビルドを行う
# 必要なパッケージをインストール
sudo yum install -y gcc readline-devel zlib-devel bison flex
# ソースコードをダウンロード
curl -O https://ftp.postgresql.org/pub/source/v15.3/postgresql-15.3.tar.gz
# ソースコードを解凍
tar -xzf postgresql-15.3.tar.gz
cd postgresql-15.3
# ビルド、10分くらいかかります
./configure
make
# 必要なバイナリをインストール
make install
ビルドが成功したら圧縮します。
# 必要なファイルを再度圧縮
cd /usr/local/pgsql
tar -czvf psql-15.3.tar.gz bin lib share
AからBにSCPで送信します。
# パソコンBにコピー
scp psql-15.3.tar.gz user@amazonlinux_b_ip_address:/path/to/destination
Bでpsqlを再度インストールします。
# 圧縮ファイルを解凍
tar -xzf psql-15.3.tar.gz
# bin, lib, shareディレクトリが存在するか確認
ls bin lib share
# ファイルを適切な場所にコピー
sudo cp -r bin /usr/local/pgsql/
sudo cp -r lib /usr/local/pgsql/
sudo cp -r share /usr/local/pgsql/
# 環境変数を設定
echo 'export PATH=$PATH:/usr/local/pgsql/bin' >> ~/.bashrc
source ~/.bashrc
# インストール確認
psql --version