
・Amazon LightsailのphpMyAdminに接続したいんだけど。。
・色々調べて試したんだけど上手くphpMyAdminに接続できない
・ITスキルに自信がないので、画像が多いと嬉しいな
こういった疑問に答えます。
【完全初心者向け】Amazon Lightsail のphpMyAdminにセキュアに接続する方法

Amazon LightsailにはデフォルトでphpMyAdminが設定されていますが、アクセスしようとする『For security reasons, this URL is only accessible using localhost (127.0.0.1) as the hostname.』となり、アクセスできません。

phpMyAdminを直接利用できるように設定を変更することもできますが、なぜ、デフォルトでphpMyAdminに接続が出来ないのかというと、やはりセキュリティ的に宜しくないということでしょう。
利用者側は安心は安心ですが、「では、どうやってphpMyAdminに接続するの?」となるかと思います。
これを解決する方法が、ターミナルソフトでポートフォワードを設定して接続する方法です。
自宅が固定IPサービスを利用していたり、企業の固定IPアドレスなどLightsailに接続するIPが固定されている場合には、設定を変更してしまうのも有りでしょう。
一方で、ターミナルソフトでポートフォワードを利用してLightsailのphpMyAdminに接続するメリットは、インスタンス側の設定は不要で、且つ、ターミナルソフトで接続中のみだけphpMyAdminに接続ができるため、セキュリティ的にも不安がありません。
phpMyAdminとは?
ところで、「そもそもphpMyAdminとは?」という方もいらっしゃるかと思いますので、少し解説します。
phpMyAdminは古くから人気のある、MySQLをウェブブラウザで管理できるツールで、PHPで実装されています。
ツールの名前から判断できるかと思いますが、『phpで実装された、mysqlを操作するadminツール』です。
phpMyAdminを利用することで、SQL文を記述することなくMySQLのデータベースに対して様々な操作が行えるだけでなく、ユーザが任意のSQL文を記述して実行することが出来ます。
やはり、データベースを画面操作(GUI)で操作できるツールは便利な一方、悪意のある攻撃があった場合にはデータベースを削除されてしまうことさえありますので、常にセキュリティを意識しておく方がよいでしょう。
なお同様のツールとしては以下があります。
- phpPgAdmin (PgはPostgreSQLの略)
- phpMSAdmin (MS はMicrosoft SQL Serverの略)
- phpOracleAdmin (Oracleは、Oracle社のデータベースの略)
主にRDBMSの管理ツールですね。
Amazon Lightsail 上の phpMyAdmin への接続準備
Amazon Lighsailにターミナルソフト(PuTTY)で接続する方法はAmazonがしっかり解説してくれていますが、実はPuTTYで接続するよりもTera termで接続する方がステップが少なく簡単です。
日本語がちょっと変ですね。

ということで、今回はTera termで接続する手順で解説します。
Tera Term をお持ちでない方は以下からどうぞ。

SSHでの接続に必要な情報(事前準備)
接続には以下の情報が必要なので、先に確認しておきましょう。
- 接続先のLightsail のIPアドレスを確認
- Lightsail が起動しているリージョンの確認
- 接続するユーザ名(bitnami)のパスワードの確認
1. 2. はLightsailのコンソールにアクセスすると、簡単に確認ができます。

次に、オレンジのアイコンをクリックしてLightsailのインスタンスを起動します。

インスタンスを起動するとアカウント(bitnami)が確認できますので、以下のコマンドを実行してアカウントのパスワードを確認します。
# cat bitnami_application_password
赤枠がパスワードです。

以上で事前の確認項目は完了です。
次に、Tera termでLightsailに直接接続するためのSSHキーを準備します。
SSH プライベートキーのダウンロード
接続用のプライベートキーの入手法は2つあります。
- デフォルトのプライベートキーの利用
- プライベートキーを新たに作成
今回は1. デフォルトのプライベートキーを利用します。
プライベートキーは以下の手順で準備ができます。
先ほどと同様にLightsailのコンソールにアクセスし、右上の『アカウント』からメニューを表示させ、リストから『アカウント』を選びます。

表示された画面の『SSHキー』タブを選択すると、SSHキーのダウンロードができます。

今回使用しているLigitsailは東京リージョンのため、東京の『ダウンロード』を選択し、SSHキー『LightsailDefaultKey-ap-northeast-1.pem』をダウンロードします。
ダウンロードが完了したら、分かりやすいフォルダーに保存しておきましょう。
Tera termでLightsailのインスタンスに接続する
前段の準備が完了したら、Tera termでLightsailのインスタンスに接続します。
『Windowキー』を押し『ここに入力して検索』に『tera』と入力するとteraが付くアプリケーションが表示されますので、『tere term』を選択して『エンター』実行します。

Tera termが起動したら、先ほど調べておいたIPアドレスを入力して『OK』を選択します。

次に、ユーザ名(bitnami)とパスフレーズ(パスワード)、そして先ほどダウンロードしたSSHキーを選択して『OK』を選択します。

すると、Tera termでLighsailのインスタンスに接続が出来ます。

以上で、Tera termでの接続は完了です。
今後は、AWSコンソールにログインしなくてもLighsailのインスタンスに直接ログインできます。
ポートフォワードの設定とphpMyAdminへの接続
さて、本記事のメインであるphpMyAdminに接続します。
接続済みのTera termの『設定』『SSH転送』を選択します。

すると、SSHポート転送の画面が表示されるので『追加』を選択します。

次に『ローカルのポート』と『リモート側のポート』を設定します。
ここではそれぞれ、8888と443を設定しています。
設定したら『OK』を選択して完了です。

『OK』で設定を完了すると、設定した情報が以下のように反映されます。
設定が反映されていることを確認したら『OK』を選択します。

ポートフォワードの設定はこれで完了ですので、phpMyAdminに接続してみましょう。
以下のURLにブラウザからアクセスしてみましょう。
遂にphpMyAdminの管理画面が表示されました。
ユーザ名は『root』、パスワードは『bitnamiのパスワード』を有力して『実行』を選択します。

無事、phpMyAdminに接続できました!

以上で完了です。
Tips
ポートフォワードを設定したにもかかわらず上手くphpMyAdminにアクセスできない場合には、ポート番号を8888から例えば10000番など違うポート番号にしていみるのも良いです。
まとめ
今回は、Amazon Lightsailで利用できるphpMyAdminにセキュアに接続する方法を解説しました。
CLIでデータベースの操作に慣れている方はphpMyAdminは不要かもしれませんが、GUIの操作は直感的に操作が可能なため、利用できるなら利用した方が楽でしょう。
次回以降では、LighsailでのphpMyAdminの便利な利用方法をご紹介できればと思います。
本ブログでは今回のようなブログの小技をご紹介していますので、是非参考にして頂ければと思います。
