LoginSignup
1
3

More than 5 years have passed since last update.

多段プロキシーでMySQLに接続するメモ

Last updated at Posted at 2018-01-13

多段プロキシーでMySQLに接続するメモ

はじめてQiitaに書いてみる。
とりあえず多段プロキシーでMySQLに繋がないといけなかったので、設定のメモだけ

最近多段プロキシーでMySQLにアクセスしないといけなくなったので、忘れないように設定等をメモしてみる

※Qiitaってmermaid.js使えないのか...

用語・略語

  • A5: SQL開発ツール(Windows用)
  • VB: VirtualBox
  • AP: アプリケーション

概要

環境

  • クライアント側
    • A5でMySQLに接続する
    • クライアントOSはWindows10
    • VirtualBoX上でCentOS7を起動
  • サーバー側
    • 踏み台サーバー経由でAPサーバーへ接続
    • APサーバーからしかMySQLに接続出来ない

IPアドレス(説明のために適当に記載)

  • Windowsクライアント: 192.168.0.10
  • CentOS(VB): 192.168.56.200
    • ホストオンリーアダプターにWindows側から接続
  • 踏み台サーバー: 192.168.0.100
  • APサーバー: 192.168.0.101
  • MySQLサーバー: 192.168.0.102

接続方法

  • まずCentOSからMySQLに直接接続するためのSSHトンネルを作成する
    • CentOS7のポート10000がMySQLのポート3306に接続される
  • クライアントからは、SSHトンネル経由でCentOSに接続
    • CentOS7のポート10000に接続

概要図

※Qiitaでは、mermaid.js使えないのは辛い。他で作って図だけ挿入
スクリーンショット 2018-01-14 3.09.30.png

CentOS .ssh以下の設定

configの設定

踏み台サーバーへのログインは公開鍵でログインする

.ssh/config
Host fumidai
  Hostname 192.168.0.100
  User user100
  IdentityFile=~/.ssh/id_rsa_fumidai

Host ap_server
  Hostname 192.168.0.101
  User user101
  ProxyCommand ssh fumidai nc %h %p

トンネル(2)の作成

ssh -f -N -C -L 10000:MySQLサーバー:3306 APサーバー

実際にはIPアドレスで以下のように指定

ssh -f -N -C -L 10000:192.168.0.102:3306 192.168.0.101

トンネル(1)経由でA5からMySQLサーバーへ接続

A5にはトンネル経由の接続が設定可能なので、A5のSSHトンネルの設定は以下

  • SSH2ホスト名:192.168.56.200
  • ユーザーID: User10
    • CentOS7のユーザーID
  • パスワード: CentOS7のパスワード
  • パスワード認証で接続

まとめ

  • とりあえず上記設定で、A5から直接MySQLサーバーに接続出来た
  • ERMaster等で接続する場合は、WindowsマシンからCentOS7に対してSSHトンネルを先に作成する必用がある
    • putty等でトンネリング設定をして接続しておけば良いはず
  • Macの場合は、CentOSで設定したsshトンネリングを直接記載すれば良いだけなので、より簡単に接続出来る
    • ※もう開発にWindowsマシン使うのやめたい!(切実な思い)
1
3
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
3