Windows Azure上のLinuxにリモートデスクトップで接続する


Windows Azure上のLinuxにはsshでアクセスしてCUIで利用することが多いのではないかと思いますが、Oracle DatabaseではインストールのためにGUIが必要になるなど、どうしてもGUIが利用したい場合もあります。

そのようなときのために、Windows Azure上のLinuxにリモートデスクトップで接続して、GUIアプリケーションを利用するための最低限の方法を紹介します。

さて、LinuxのGUIアプリケーションを外部から利用するためには、X Window(X11)やVNC、リモートデスクトップなどを利用することができます。

私も最初はX Windows (Windows側のXサーバーにはCygwinのX.orgを利用)でチャレンジしたのですが、オンプレミス側のネットワークがNATで構成されているため、ルーターにポートマッピングの設定もしくはAzure仮想ネットワークのVPNの設定が必要になってしまったり、いざ接続すると遅すぎて耐えられないといったもので、利用を断念しました。

そこで、ここでは、リモートデスクトップを利用する方法を紹介します。(VNCクライアントからの接続は気が向いたら書くかもしれません。)

本コンテンツの動作確認環境

  • Windows Azure側
    • CentOS 6.3
      • Ubuntuでも同様の設定で動作するのを確認しています。
    • xrdp
  • オンプレミス側
    • Windows 8
    • OS標準のリモートデスクトップ(8アプリ/デスクトップアプリどちらでもOK)

設定はAzure上で稼働しているLinuxに対して行っていきます。

  1. yumでxrdpをインストールできるようにするため、epelリポジトリを追加します。
    $ sudo rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
  2. xrdp, vnc server, xtermをインストールします。

    $ sudo yum install xrdp tigervnc-server tigervnc-server-module xterm
  3. xrdpサービスを起動します。
    $ sudo service xrdp start

    必要に応じて、OS起動時のxrdpサービス自動起動の設定をchkconfigコマンドで実施します。

    $ sudo chkconfig --level 3 xrdp on
  4. RDPを受け付けるため、iptablesの設定を変更します。
    変更するファイルは/etc/sysconfig/iptablesです。
    INPUTのREJECTの直前の行に、TCP3389番ポートを受け付ける設定を追記します。

    ……
    -A INPUT -m state --state NEW -m tcp -p tcp --dport 3389 -j ACCEPT
    -A INPUT -j REJECT –reject-with icmp-host-prohibited
    ……
  5. iptablesの設定変更を有効にするため、サービスを再起動します。
    $ sudo service iptables restart
  6. Windows Azureの管理ポータルでEndpointを設定します。
    1. 対象の仮想マシンの設定ページで、『エンドポイント』メニューを選択し、『+追加』をクリックします。
      Add Endpoint
    2. エンドポイントの追加ウィザードでエンドポイントを追加し、TCPプロトコルで3389番ポートを指定します。
      • 「仮想マシンにエンドポイントを追加します」ページ
        • 『エンドポイントの追加』を選択
      • 「エンドポイントの詳細を指定します」ページ
        • 名前:RDP (任意の名前でOK)
        • プロトコル:TCP
        • パブリックポート:3389 (接続時に指定するなら、他の値にしてもOK)
        • プライベートポート:3389

      設定の結果、以下の画像の状態になります。
      xrdp-endpoint02

ここまでの設定でリモートデスクトップで接続できるようになります。
この状態だと、Window Managerが入ってなかったり、日本語の入力に問題があったりと、完全ではありませんが、とりあえずGUIでアプリケーションをインストールするくらいなら問題ないかな?と。
(すいません、サボリです。細かい設定は他の方々が書かれているxrdpのコンテンツをご参照ください。)

それではリモートデスクトップで接続してみましょう。

接続後のログイン画面
xrdp-rdp02

Oracle Database 12cのインストーラー(Oracle Universal Installer)を起動してみましたよ。
xrdp-rdp03



コメントをどうぞ