🀄

AWS プライベートVPC内のDBに安全に接続する

2022/06/15に公開

準備するもの

  • EC2
  • Session Manager
  • Aurora

EC2

パブリックVPC内にEC2を用意します。
気が向いたら詳細は後ほど記載します。

Aurora

プライベートVPC内に用意します。
詳細は後ほど記載します。

Session Manager

こちらのサービスを使うことで、EC2のポートを開けたり、SSH キーを管理したりする必要がなくなります。

セットアップ手順を参考にセットアップする。

プラグインインストール方法

Homebrewでpython3インストールしていたため、以下コマンドで実行。

sudo /usr/local/bin/python3 sessionmanager-bundle/install -i /usr/local/sessionmanagerplugin -b /usr/local/bin/session-manager-plugin

以下を実行することで、localhost経由でDBアクセス

 aws ssm start-session \
   --target <踏み台EC2のインスタンスID> \
   --document-name AWS-StartPortForwardingSessionToRemoteHost \
   --parameters '{"host":["<RDSエンドポイント>"], "portNumber":["<リモートポート>"], "localPortNumber":["<ローカルポート>"]}'

DBパスワードはSecrets Managerで補完しているので、取得する。

DBクライアント(DBeaver)で接続する絵。ローカルポートを13306で設定。

Discussion