Apache GuacamoleでVPC内のWindowsにブラウザからRDP接続してみた(後編) | DevelopersIO

Apache GuacamoleでVPC内のWindowsにブラウザからRDP接続してみた(後編) | DevelopersIO

はじめに

こんにちは。最近文庫本のカバーをハードカバーに付け替えるワークショップに参加してきました。 2時間ちょっとかかってなかなか大変だったのですが自分で選んだ紙や栞紐を使った本が出来上がったときにはとても嬉しかったです。

cdn-ssl-devio-img.classmethod.jp/wp-content/uploads/2017/12/IMG_0362-320×427.jpg 320w, cdn-ssl-devio-img.classmethod.jp/wp-content/uploads/2017/12/IMG_0362-768×1024.jpg 768w, cdn-ssl-devio-img.classmethod.jp/wp-content/uploads/2017/12/IMG_0362-960×1280.jpg 960w” sizes=”(max-width: 640px) 100vw, 640px” class=”” style=”max-width: 100%; margin: 0.5em auto; display: block; height: auto;”>

さて前回の続きです。Guacamoleを使ってWindowsにリモートデスクトップ接続してみます。

Guacamoleにログインする

Guacamoleにログインします。ログイン画面のURLはALBのDNS名に下記のようにguacamoleというパスを加えます。

図のようなログイン画面が表示され、下記のアカウントでログインします。

ユーザー名: guacadmin
パスワード: guacadmin

cdn-ssl-devio-img.classmethod.jp/wp-content/uploads/2017/12/login-320×200.png 320w, cdn-ssl-devio-img.classmethod.jp/wp-content/uploads/2017/12/login-768×480.png 768w, cdn-ssl-devio-img.classmethod.jp/wp-content/uploads/2017/12/login-960×600.png 960w, cdn-ssl-devio-img.classmethod.jp/wp-content/uploads/2017/12/login.png 1280w” sizes=”(max-width: 640px) 100vw, 640px” class=”” style=”max-width: 100%; margin: 0.5em auto; display: block; height: auto;”>

コネクションの作成

ログイン後の画面の右側から「Settings」を選択し「Connections」タブを表示し、「Create Connection」から接続設定を作成します。

パラメータの設定

接続名、接続先のホスト名、ポート番号(3389)、ユーザー名、パスワードをなどを入力します。 ここで「Ignore server certificate」をチェックしないと証明書の検証エラーのため接続できませんでした。

cdn-ssl-devio-img.classmethod.jp/wp-content/uploads/2017/12/02_parameters-320×228.png 320w, cdn-ssl-devio-img.classmethod.jp/wp-content/uploads/2017/12/02_parameters-768×546.png 768w, cdn-ssl-devio-img.classmethod.jp/wp-content/uploads/2017/12/02_parameters-960×683.png 960w, cdn-ssl-devio-img.classmethod.jp/wp-content/uploads/2017/12/02_parameters.png 1094w” sizes=”(max-width: 640px) 100vw, 640px” class=”” style=”max-width: 100%; margin: 0.5em auto; display: block; height: auto;”>

必要な情報を入力したら作成画面の下部にあるボタンで保存します。

保存するとリストに作成したコネクションが表示されます。

cdn-ssl-devio-img.classmethod.jp/wp-content/uploads/2017/12/03_connection_created-320×191.png 320w, cdn-ssl-devio-img.classmethod.jp/wp-content/uploads/2017/12/03_connection_created-768×458.png 768w, cdn-ssl-devio-img.classmethod.jp/wp-content/uploads/2017/12/03_connection_created-960×573.png 960w, cdn-ssl-devio-img.classmethod.jp/wp-content/uploads/2017/12/03_connection_created.png 1254w” sizes=”(max-width: 640px) 100vw, 640px” class=”” style=”max-width: 100%; margin: 0.5em auto; display: block; height: auto;”>

接続してみる

コネクション作成時に使った右側のメニューに作成したコネクションが追加されています。メニューから選択するとRDPセッションが開始されます。

cdn-ssl-devio-img.classmethod.jp/wp-content/uploads/2017/12/04_0_newconnection-320×320.png 320w, cdn-ssl-devio-img.classmethod.jp/wp-content/uploads/2017/12/04_0_newconnection-200×200.png 200w, cdn-ssl-devio-img.classmethod.jp/wp-content/uploads/2017/12/04_0_newconnection-400×400.png 400w” sizes=”(max-width: 458px) 100vw, 458px” class=”” style=”max-width: 100%; margin: 0.5em auto; display: block; height: auto;”>

cdn-ssl-devio-img.classmethod.jp/wp-content/uploads/2017/12/04_rdp_session-320×197.png 320w, cdn-ssl-devio-img.classmethod.jp/wp-content/uploads/2017/12/04_rdp_session-768×474.png 768w, cdn-ssl-devio-img.classmethod.jp/wp-content/uploads/2017/12/04_rdp_session-960×592.png 960w” sizes=”(max-width: 640px) 100vw, 640px” class=”” style=”max-width: 100%; margin: 0.5em auto; display: block; height: auto;”>

見慣れたデスクトップが表示されました!

はまったところ

今回実際にやってみてはまったところをまとめておきます。

  • コネクション作成時に「Ignore server certificate」をチェックしないと証明書の検証エラーが発生する
  • docker-composeでコンテナをフォアグラウンドで起動したときtmuxを使っているとログが正しく表示されない
  • 一度RDPセッションを開始した後ブラウザをリロードしたり、ログインすると設定画面ではなくRDPセッションが表示される
  • 上記の対策として設定画面を表示したい場合は/guacamole/#/settings/mysqlにアクセスする

最後に

2回に分けてApache GuacamoleをAWS上で構築する手順について紹介しました。

実際に運用するためには今回検討しなかった下記の点について考慮が必要でしょう。

  • Guacamoleのユーザー管理をAD連携で行いたい
  • Guacamoleの死活監視
  • MySQL/PostgresqlにコンテナではなくRDSを使う
  • Connectionにアカウント情報を保存せず、ユーザーに入力させる or SSOなどができないか検討する

9月ごろにApache Guacamoleのことを知ってから試してみようかなとずっと考えていたので、年内に触ることができてすっきりしました。