LoginSignup
1
0

More than 1 year has passed since last update.

AWS Systems Manager Session Maneger(SSM)を使ったRDSへの接続

Last updated at Posted at 2022-01-08

はじめに

  • 本記事では、プライベートサブネットに置いたRDSへのAWS Systems Manager Session Maneger(以降SSM)を使ったローカルからの接続方法について、備忘録も兼ねて書いていく。
  • これまでは、プライベートサブネットに置いてあるRDSへ接続するには、EC2を踏み台にしてSSHポートフォワーディングを行う必要があり、そのためにはEC2をパブリックサブネットに置き、SSH用のポートも開ける必要があった。
  • しかし、SSMを使えば、EC2をプライベートサブネットに置き、SSH用のポートを開けることもなく、EC2にローカルから接続できるようになり、セキュリティリスクも軽減させられるようになった。

実行環境について

  • Windowsで実行。

作成手順

RDS作成

  • プライベートサブネットにRDSを作成。
  • 作成方法については本記事では省略するが、気を付けるポイントを下記に書いておく。
    • RDSに付与するセキュリティーグループの設定。
      • インバウンドルールに、EC2に付与するセキュリティーグループから5432ポートへの接続の許可を入れておくこと。

EC2作成

  • 今回はプライベートサブネット内にEC2を作成。
  • EC2の作成方法については本記事では省略するが、気を付けるポイントを下記に書いておく。
    • キーペアは、SSHポートフォワーディング時に必要になるのでダウンロードしておくこと。
    • EC2に付与するIAMロールに下記のポリシーを付与しておくこと。
      • AmazonSSMManagedInstanceCore

VPCエンドポイントの作成

  • プライベートサブネット内のEC2でSSMを利用するには、AWS PrivateLinkを使う必要あり。
  • 下記3つのVPCエンドポイントを作成。
    • com.amazonaws.ap-northeast-1.ssm
    • com.amazonaws.ap-northeast-1.ssmmessages
    • com.amazonaws.ap-northeast-1.ec2messages
  • 作成方法については、下記を参照。

SSMの設定

host i-* mi-*
    ProxyCommand C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe "aws ssm start-session --target %h --document-name AWS-StartSSHSession --parameters portNumber=%p"

ローカルより接続

  • まずはSSMでプライベートサブネットに置いたEC2に接続できることを確認。
ssh -i {ダウンロードした秘密鍵のパス} ec2-user@{EC2インスタンスID}
  • 接続できたことを確認。
    タイトルなし3.png

  • SSHポートフォワーディングでトンネル開通。

    • 秘密鍵については、置き場所次第では権限エラーが出るので注意。
      • Windowsの場合は、ユーザー直下に置いていたら問題なさそう。
    • {}は除去すること。
ssh -i {ダウンロードした秘密鍵のパス} ec2-user@{EC2インスタンスID} -L {ローカルのポート}:{RDSのエンドポイント}:{RDSのポート}
  • 無事トンネルが開通したと思われるので、SQLエディタよりRDSに接続してみる。
    タイトルなし4.png

  • 今回はpsqleditより接続。

    • USER/PASSWORD/DB NAME:RDS作成時に設定したもの。
    • HOST:ローカルホストである「127.0.0.1」
    • PORT NO:sshコマンドで設定したローカル側のポート。 タイトルなし5.png
  • 無事に接続ができたことを確認。
    タイトルなし6.png

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0