windows で AWS RDS MySQL データベースに HeidiSQL で SSH 接続するやり方

MySQL

仕事でwindowsマシンに HeidiSQL を使って Amazon RDSMySQL データベースに SSH 経由で接続する環境を構築したのだけど嵌ったので同じようなことで躓いている方への参考と自分用のメモにログを残しておこうと思う。

この記事では『AWS RDS MySQL データベースに HeidiSQL で SSH 接続するやり方』の方法だけについて書いているので、AWS上にEC2やRDSの構築が済んでて SSH 接続が可能な状態を前提としてすすめていきます。

HeidiSQL とは

HeidiSQL は無料で使えるデータベース接続ソフトです。windowsマシンを使う場合この HeidiSQL はつかやすいのでおすすめでもある。

主な利用用途としてはサーバー上のデータベースに接続して新しくデータベースの構築やユーザー、テーブルの作成やデータの登録、更新、削除といった一通りの操作をGUIですることができます。SQL文がわからなくても使えるので便利です。※SQL文も実行可能です。

HeidiSQL の良い所は操作しやすい UI につきると思います。

以下のリンクからインストーラをダウンロードして、インストールしましょう。

Download HeidiSQL

HeidiSQL の設定

HeidiSQL 画面

これが HeidiSQL のインストールが終わって起動後の画面。左下の新規ボタンをクリックして接続したいデータベース情報を入れていきます。

設定

RDSに接続する際の設定タブの内容は以下を参照。

ネットワーク種別MySQL(SSH tunnel)を選択
ホスト名 / IPAmazon RDS の Endpoint を指定
ユーザーデータベースのユーザー名
パスワードデータベースのパスワード
ポートデータベースのポート番号(3306)

指定する必要がなければデータベースとコメント欄は入力しないでOKです。

SSH トンネル

EC2 に接続するために SSH 情報を入力しましょう。僕は SSH トンネルの設定で躓いた。難しく考えすぎてputtyであちゃこちゃやって接続できね〜となった。

普段使い慣れていないマシンとツールだったのでと言い訳をしておこう。指示通りやればなんのことはなく簡単だった。(笑)

plink.exeplink.exe をダウンロードというリンクを押してダウンロードすればOK!ダウンロードが出来たらファイルと虫眼鏡のアイコンをクリックしてパスを指定。
SSHホスト + ポートEC2 の SSH ホストとポート番号を指定します。
ユーザー名EC2 に接続する時のユーザー名を入力。
パスワードSSH のパスワードが設定されている場合は入力。
plink.exe のタイムアウト時間デフォルトの設定だとタイムアウトするので30にする。
秘密鍵ファイルSSH の鍵ファイルを指定します。ec2 からダウンロードする。 pem 形式だと失敗します。ここも躓いた点。 pem を ppk 形式にPuTTYgenというツールを使って変換して秘密鍵ファイルのあるパスを設定。
ローカルポートこちらはデフォルトの値でOK。

上記の設定ができたら完了。

あとは開くのボタンをクリックすればデータベースへ接続できます。

自分にあった HeidiSQL の設定方法の情報がなく一苦労したけどなんてことはなく簡単。

ポイントは以下の3つです。

  • pem を ppk に変換すること
  • 設定タブのホスト名/IP に Amazon RDS の Endpoint を指定
  • plink.exe をダウンロードしてファイルのパスを指定する

会社のスタッフに環境を構築しないといけないのだけどパソコンがwindowsで良いツールがないかなと思われていた方や Amazon RDS for MySQL のデータベースに HeidiSQL で SSH 接続するやり方がわからない方は参考にしてみてください。