🐶

[AWS]Session Managerを使用して、プライベートEC2に接続しRDSへローカル接続する

2023/02/20に公開

概要

  • 作業PCからSession Managerを利用してプライベートサブネットのEC2にSSH
  • 作業PC内からDBクライアントツールを使用して、SSHトンネルでRDSに接続

前提

  • Session Managerから接続できるEC2
  • 上記EC2から接続可能なRDS

AWS CLIのインストール

ドキュメントに従いインストールする
https://docs.aws.amazon.com/ja_jp/cli/v1/userguide/install-windows.html

Session Managerプラグインのインストール

ドキュメントに従いインストールする
https://docs.aws.amazon.com/ja_jp/systems-manager/latest/userguide/session-manager-working-with-install-plugin.html

ポートフォワードコマンドを実行する

INSTANCE_ID、PROFILE、RDS_ENDPOINTは個人の環境で適時変更

$ aws ssm start-session --target [INSTANCE_ID] --profile [PROFILE] \
--document-name AWS-StartPortForwardingSessionToRemoteHost \
--parameters '{\"host\":[\"[RDS_ENDPOINT]\"],\"portNumber\":[\"3306\"],\"localPortNumber\":[\"3306\"]}'

※Windowsで実行したため「"」はエスケープが必要(環境に合わせてコマンド修正)

クライアントツールで接続

後は使用するクライアントツールから接続する(画像はA5M2)

参考サイト

https://aws.amazon.com/jp/blogs/news/use-port-forwarding-in-aws-systems-manager-session-manager-to-connect-to-remote-hosts-jp/
https://dev.classmethod.jp/articles/aws-ssm-support-remote-host-port-forward/

Discussion