プライベートサブネットの中にあるRDSと接続する方法
AWSのプライベートサブネットの中にある方法を2つ解説します。
踏み台サーバーを使ってssh接続する方法
1. パブリックサブネット内にEC2に作成する
作成するときに注意することは
- パブリックサブネットに作成する
- パブリック IPv4 アドレスまたは、Elastic IP アドレスを持つ
- キーペアを作成する
2. RDSのセキュリティグループを設定する
EC2からRDSに接続するためには、RDSのセキュリティグループで、EC2からのアクセスを許可する設定を行う必要があります。
RDSのセキュリティグループ
インバウンドルールを追加
タイプ: MySQL/PostgreSQL など(使用するDBに合わせる)
ポート: 3306(MySQL)/ 5432(PostgreSQL)
ソース: Bastion Host のセキュリティグループ
3. EC2からRDSに接続する
EC2にSSHでログインして、RDSに接続します。
EC2にsshでログインできるかをテストします。
sshでRDSに接続します。
SSM(Simple System Manager)を使って接続する方法
1. RDSがあるプライベートサブネット内にEC2を作成する
- inputはhttpsでマイIPを設定
- SSM Agentがインストールされていることを確認する(Amazon Linux, Ubuntuならデフォルトでインストールされている)
- IAMロールにAmazonSSMManagedInstanceCore(SSMを利用するために必要な基本的なIAMポリシー)ポリシーをアタッチする
2. プライベートサブネットがあるVPCにNAT Gatewayを作成して、プライベートサブネットからインターネットにアクセスできるようにする
3. session-manager-plugin
をインストールする
4. SSMセッションを開始する
※ Session Manager が有効になるまで時間がかかる場合があります
5. RDSに接続する
これでlocalhost:5432
でRDSに接続できるようになります。