📚

良い感じに踏み台EC2サーバを経由して、Amazon RDSに接続したい

2023/09/28に公開

想定読者

  • Wi-Fiをつなぎ直す度にIPアドレスが変わってセキュリティグループの変更が面倒
  • 踏み台のEC2インスタンスIDがセキュリティアップデートで変わって接続先インスタンスIDの設定変更が面倒

結論

踏み台サーバインスタンスを用意して、下記を実行することで、localhost + localPortNumberで接続できる。
インスタンスの名前は、 bation としています。踏み台の作成については、こちらを参照ください。

aws configure --profile ****
# アクセスキーとシークレットキーを設定する
aws ssm start-session --target \
$(aws ec2 describe-instances --query 'Reservations[].Instances[?Tags[?Key==`Name`].Value|[0]==`bation`][].[InstanceId][]|[0]' --profile **** | sed s/\"//g) \
--document-name AWS-StartPortForwardingSessionToRemoteHost \
--parameters '{"host":["????.?????.ap-northeast-1.rds.amazonaws.com"],"portNumber":["5432"], "localPortNumber":["54321"]}' \
--profile ****

踏み台サーバにSSM経由で接続中は下記のようにHostとPortを指定することで接続できる。

Host: localhost
Port: 54321 (localPortNumber)

以上。

Discussion