LoginSignup
0
0

AWS Systems Manager Session Managerでプライベートサブネット内のEC2へSSHポートフォーワーディング

Last updated at Posted at 2023-06-26

概要

ローカルマシンからプライベートサブネット内のEC2インスタンスへポートフォーワーディング接続を行い、ローカルマシンにインストールされた「pgAdmin 4」を使用して、Aurora PostgreSQLへ接続する手順について記載します。

以前に書いたこちらの記事ではEC2 Instance ConnectやSSHコンフィグの変更も必要でしたが、今回の手順では、AWS Systems Manager Session ManagerのみでSSHポートフォーワーディング接続が可能です。

前提

  • ローカルマシンにAWS CLIがインストール済みである事。
  • ローカルマシンにアクセスキー・シークレットキーおよび環境変数「AWS_PROFILE」が設定済みである事。
  • ローカルマシンにpgAdmin 4がインストール済みである事。
  • EC2インスタンスにSSMエージェントがインストール済みである事。
  • EC2インスタンスにIAMポリシー「AmazonEC2RoleforSSM」がアタッチ済みである事。

準備

以下のリンクからSessionManagerPluginのダウンロード、またはコマンドを実行してローカルマシンにセッションマネージャー用プラグインをセットアップ。

Windowsの場合

Macの場合

$ brew install --cask session-manager-plugin
$ session-manager-plugin --version
  1.2.463.0

VPCエンドポイントの作成

EC2インスタンスが属するプライベートサブネットに以下のVPCエンドポイント群を作成。

  • ssm.<AWSリージョン>.amazonaws.com
  • ssmmessages.<AWSリージョン>.amazonaws.com
  • ec2messages.<AWSリージョン>.amazonaws.com

ポートフォーワーディング接続

以下のコマンドでAurora PostgreSQLにポートフォーワーディング接続を実行、「Waiting for connections...」と表示されたらOKです。

$ aws ssm start-session \
          --target <EC2インスタンスID> \
          --document-name AWS-StartPortForwardingSessionToRemoteHost \
          --parameters 'portNumber=5432,localPortNumber=15432,host=<接続先DBエンドポイント名>'

上記コマンドの例ではローカルマシンのポートは「15432」でリッスン、接続先DBエンドポイントへはポート「5432」で接続しています。

pgAdmin 4の接続設定

ローカルマシンにインストールした「pgAdmin 4」を起動して、以下の画像の通り「Host name/address」に「localhost」、「Port」に「15432」を入力、Saveを実行して下さい。

Connectionタブ
2023062601.jpg

ポートフォーワーディング切断

「Ctrl + C」でキャンセルして下さい。

0
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
0
0