SSMを経由してGUIのDBクライアントからデータベースに接続する方法
前提
- SSM(Session Manager)が設定されていること
- AWS CLI がインストールされていること
- AWS アカウントにアクセスできること
- IAM ユーザーが必要な権限を持っていること
概要
EC2やRDSなどのAWSリソースに対して、SSHを公開せずSSMを用いて運用・保守を行う構成において、
SSMのポートフォワーディング機能を利用し、GUIのDBクライアント(例:Sequel Ace)から、データベースへ接続する例です。
手順
- AWS CLI を使用して、SSM セッションを開始
aws ssm start-session \ --target ${INSTANCE_ID} \ --document-name AWS-StartPortForwardingSession \ --parameters '{"portNumber":["3306"],"localPortNumber":["13306"]}' \ --region ${REGION}localPortNumber は必要に応じて変更。
- GUIのDBクライアント(例: Sequel Ace)を開き、以下の情報を入力
| 項目 | 値 |
|---|---|
| Host | 127.0.0.1 |
| Port | 13306 |
| Username | ${DB_USERNAME} |
| Password | ${DB_PASSWORD} |
| Database | ${DB_NAME} |
この例では、単一サーバー構成(サーバーとDBが同居)のケースを想定していますが、
RDS を使用する場合でも、HostをEndpointに変更して適切なポートを指定すれば同様に接続可能と思われます。