SSH トンネリングを使用して Apache Ambari Web UI、JobHistory、NameNode、Apache Oozie、およびその他の Web UI にアクセスするUse SSH Tunneling to access Apache Ambari web UI, JobHistory, NameNode, Apache Oozie, and other web UIs

HDInsight クラスターは、インターネット経由で Apache Ambari Web UI にアクセスできますが、一部の機能には SSH トンネルが必要です。HDInsight clusters provide access to the Apache Ambari web UI over the Internet, but some features require an SSH tunnel. たとえば、Apache Oozie サービスの web UI は、SSh トンネルせず、インターネット経由でアクセスできません。For example, the web UI for the Apache Oozie service cannot be accessed over the internet without an SSh tunnel.

SSH トンネルを使用する理由Why use an SSH tunnel

Ambari のメニューのいくつかは、SSH トンネル経由でのみ機能します。Several of the menus in Ambari only work through an SSH tunnel. これらのメニューは、ワーカー ノードなどの他のノード上で実行している Web サイトとサービスに依存します。These menus rely on web sites and services running on other node types, such as worker nodes.

次の Web UI には SSH トンネルが必要です。The following Web UIs require an SSH tunnel:

  • JobHistoryJobHistory
  • NameNodeNameNode
  • スレッド スタックThread Stacks
  • Oozie Web UIOozie web UI
  • HBase Master と Logs の UIHBase Master and Logs UI

クラスターをカスタマイズするスクリプト アクションを使用する場合、インストールするサービスまたはユーティリティで Web UI を公開するには、SSH トンネルが必要です。If you use Script Actions to customize your cluster, any services or utilities that you install that expose a web service require an SSH tunnel. たとえば、スクリプト アクションを使用して Hue をインストールする場合、SSH トンネルを使用して Hue Web UI にアクセスする必要があります。For example, if you install Hue using a Script Action, you must use an SSH tunnel to access the Hue web UI.

重要

仮想ネットワーク経由で HDInsight に直接アクセスできる場合は、SSH トンネルを使用する必要はありません。If you have direct access to HDInsight through a virtual network, you do not need to use SSH tunnels. 仮想ネットワーク経由で HDInsight に直接アクセスする例については、「オンプレミス ネットワークへの HDInsight の接続」をご覧ください。For an example of directly accessing HDInsight through a virtual network, see the Connect HDInsight to your on-premises network document.

SSH トンネルとはWhat is an SSH tunnel

Secure Shell (SSH) のトンネリングHDInsight 上のヘッド ノードにローカル コンピューター上のポートを接続します。Secure Shell (SSH) tunneling connects a port on your local machine to a head node on HDInsight. ローカル ポートに送信されるトラフィックは、ヘッド ノードへの SSH 接続を介してルーティングされます。Traffic sent to the local port is routed through an SSH connection to the head node. 要求は、ヘッド ノードから送信された場合と同じように解決されます。The request is resolved as if it originated on the head node. 応答は、トンネル経由でワークステーションにルーティングされます。The response is then routed back through the tunnel to your workstation.

前提条件Prerequisites

  • SSH クライアントAn SSH client. ほとんどのオペレーティング システムには、ssh コマンドによる SSH クライアントが用意されています。Most operating systems provide an SSH client through the ssh command. 詳細については、HDInsight での SSH の使用に関するページを参照してください。For more information, see Use SSH with HDInsight.

  • SOCKS5 プロキシを使用するように構成できる Web ブラウザー。A web browser that can be configured to use a SOCKS5 proxy.

    警告

    Windows インターネット設定に組み込まれている SOCKS プロキシサポートは SOCKS5 をサポートしていないため、このドキュメントの手順では機能しません。The SOCKS proxy support built into Windows Internet settings does not support SOCKS5, and does not work with the steps in this document. 以下のブラウザーは Windows のプロキシ設定に依存するため、現時点ではこのドキュメントの手順には使用できません。The following browsers rely on Windows proxy settings, and do not currently work with the steps in this document:

    • Microsoft EdgeMicrosoft Edge
    • Microsoft Internet ExplorerMicrosoft Internet Explorer

    Google Chrome も Windows のプロキシ設定に依存します。Google Chrome also relies on the Windows proxy settings. ただし、SOCKS5 をサポートする拡張機能をインストールできます。However, you can install extensions that support SOCKS5. FoxyProxy Standard をお勧めします。We recommend FoxyProxy Standard.

SSH コマンドを使用してトンネルを作成するCreate a tunnel using the SSH command

次のように ssh コマンドを使用して、SSH トンネルを作成します。Use the following command to create an SSH tunnel using the ssh command. sshuser を実際の HDInsight クラスターの SSH ユーザーに置き換えます。また、sshuser は、HDInsight クラスターの名前に置き換えます:Replace sshuser with an SSH user for your HDInsight cluster, and replace clustername with the name of your HDInsight cluster:

ssh -C2qTnNf -D 9876 sshuser@clustername-ssh.azurehdinsight.net

このコマンドは、ローカル ポート 9876 へのトラフィックを SSH 経由でクラスターにルーティングする接続を作成します。This command creates a connection that routes traffic to local port 9876 to the cluster over SSH. オプションは次のとおりです。The options are:

  • D 9876 - トンネル経由でトラフィックをルーティングするローカル ポートです。D 9876 - The local port that routes traffic through the tunnel.
  • C - すべてのデータを圧縮します (Web トラフィックの大部分はテキストであるため)。C - Compress all data, because web traffic is mostly text.
  • 2 - SSH プロトコル バージョンを強制的に 2 のみに指定します。2 - Force SSH to try protocol version 2 only.
  • q - Quiet モードです。q - Quiet mode.
  • T - pseudo-tty の割り当てを無効にします (ポートの転送だけを行うため)。T - Disable pseudo-tty allocation, since you are just forwarding a port.
  • n - STDIN を読み取らないようにします (ポートの転送だけを行うため)。n - Prevent reading of STDIN, since you are just forwarding a port.
  • N - リモート コマンドを実行しません (ポートの転送だけを行うため)。N - Do not execute a remote command, since you are just forwarding a port.
  • f - バックグラウンドで実行します。f - Run in the background.

コマンドが完了すると、ローカル コンピューターのポート 9876 に送信されるトラフィックは、クラスターのヘッド ノードにルーティングされるようになります。Once the command finishes, traffic sent to port 9876 on the local computer is routed to the cluster head node.

PuTTY を使用してトンネルを作成するCreate a tunnel using PuTTY

PuTTY は、Windows 用のグラフィカル SSH クライアントです。PuTTY is a graphical SSH client for Windows. PuTTY に慣れていない場合は、PuTTY のドキュメントを参照してください。If you are not familiar with PuTTY, see the PuTTY documentation. PuTTY を使って SSH トンネルを作成するには、次の手順のようにします。Use the following steps to create an SSH tunnel using PuTTY:

セッションの作成または読み込みCreate or load a session

  1. PuTTY を開いて、左側のメニューで [セッション] が選択されていることを確認します。Open PuTTY and ensure Session is selected on the left menu. セッションが既に保存されている場合は、[保存されたセッション] リストからセッション名を選択し、[読み込み] をクリックします。If you have already saved a session, select the session name from the Saved Sessions list and click Load.

  2. まだ保存されたセッションがない場合は、接続情報を入力します。If you don't already have a saved session, enter your connection information:

    • [ホスト名] (または IP アドレス) - HDInsight クラスターの SSH アドレスHost Name (or IP address) - The SSH address for the HDInsight cluster. (mycluster-ssh.azurehdinsight.net など)。For example, mycluster-ssh.azurehdinsight.net
    • [ポート] - 22Port - 22
    • [接続の種類] - SSHConnection Type - SSH
  3. [保存]Click Save

    SSH セッションを作成する

  4. ダイアログの左にある [カテゴリ] セクションで、[接続][SSH] の順に展開し、[トンネル] を選択します。In the Category section to the left of the dialog, expand Connection, expand SSH, and then select Tunnels.

  5. [SSH ポートの転送を管理するオプション] フォームに次の情報を入力します。Provide the following information on the Options controlling SSH port forwarding form:

    • [ソース ポート] - 転送するクライアント上のポートSource port - The port on the client that you wish to forward. (9876 など)。For example, 9876.

    • [宛先] - HDInsight クラスターの SSH アドレスDestination - The SSH address for the HDInsight cluster. (mycluster-ssh.azurehdinsight.net など)。For example, mycluster-ssh.azurehdinsight.net.

    • [動的] - 動的な SOCKS プロキシを有効にします。Dynamic - Enables dynamic SOCKS proxy routing.

      トンネリング オプションの画像

  6. [追加] をクリックして設定を追加し、[開く] をクリックして SSH 接続を開きます。Click Add to add the settings, and then click Open to open an SSH connection.

  7. プロンプトが表示されたら、サーバーにログインします。When prompted, log in to the server.

ブラウザーからトンネルを使用するUse the tunnel from your browser

重要

このセクションの手順では、Mozilla FireFox ブラウザーを使用します。Mozilla FireFox はすべてのプラットフォームで同じプロキシ設定を提供するからです。The steps in this section use the Mozilla FireFox browser, as it provides the same proxy settings across all platforms. その他の最新ブラウザー (Google Chrome など) では、トンネルを使用するために FoxyProxy などの拡張機能が必要になる場合があります。Other modern browsers, such as Google Chrome, may require an extension such as FoxyProxy to work with the tunnel.

  1. ブラウザーを、localhost とトンネルの作成時に使用したポートを SOCKS v5 プロキシとして使用するように構成します。Configure the browser to use localhost and the port you used when creating the tunnel as a SOCKS v5 proxy. Firefox の設定は次のようになります。Here's what the Firefox settings look like. 9876 以外のポートを使用する場合は、そのポート番号に変更します。If you used a different port than 9876, change the port to the one you used:

    Firefox の設定の画像

    注意

    リモート DNS を選択すると、ドメイン ネーム システム (DNS) 要求は HDInsight クラスターを使用して解決されます。Selecting Remote DNS resolves Domain Name System (DNS) requests by using the HDInsight cluster. この設定は、クラスターのヘッド ノードを使って DNS を解決します。This setting resolves DNS using the head node of the cluster.

  2. https://www.whatismyip.com/ などのサイトにアクセスして、トンネルが動作することを確認します。Verify that the tunnel works by visiting a site such as https://www.whatismyip.com/. 返される IP は、Microsoft Azure データ センターで使用されるものです。The IP returned should be one used by the Microsoft Azure datacenter.

Ambari Web UI を使用して確認するVerify with Ambari web UI

クラスターが確立したら、次の手順で、Ambari Web からサービス Web UI にアクセスできることを確認します。Once the cluster has been established, use the following steps to verify that you can access service web UIs from the Ambari Web:

  1. ブラウザーで、http://headnodehost:8080 に移動します。In your browser, go to http://headnodehost:8080. この headnodehost アドレスはトンネル経由でクラスターに送信され、Ambari が実行されているヘッド ノードに解決されます。The headnodehost address is sent over the tunnel to the cluster and resolve to the head node that Ambari is running on. プロンプトが表示されたら、クラスターの管理者ユーザー名 (admin) とパスワードを入力します。When prompted, enter the admin user name (admin) and password for your cluster. Ambari Web UI からもう一度入力を求められることがあります。You may be prompted a second time by the Ambari web UI. その場合は、情報を再入力します。If so, reenter the information.

    注意

    http://headnodehost:8080 のアドレスを使用してクラスターに接続する場合は、トンネル経由で接続しています。When using the http://headnodehost:8080 address to connect to the cluster, you are connecting through the tunnel. 通信は、HTTPS ではなく SSH トンネルを使って保護されます。Communication is secured using the SSH tunnel instead of HTTPS. HTTPS を使用してインターネット経由で接続するには、https://clustername.azurehdinsight.net を使用します。ここで、clustername はクラスターの名前です。To connect over the internet using HTTPS, use https://clustername.azurehdinsight.net, where clustername is the name of the cluster.

  2. Ambari Web UI でページの左側にある一覧から [HDFS] を選択します。From the Ambari Web UI, select HDFS from the list on the left of the page.

    HDFS が選択された画像

  3. HDFS サービスの情報が表示されたら、 [Quick Links] を選択します。When the HDFS service information is displayed, select Quick Links. クラスターのヘッド ノードの一覧が表示されます。A list of the cluster head nodes appears. ヘッド ノードのいずれかを選択し、 [NameNode UI] を選択します。Select one of the head nodes, and then select NameNode UI.

    QuickLinks メニューが展開された画像

    注意

    [Quick Links](クイック リンク) を選択すると、待機インジケーターが表示されることがあります。When you select Quick Links, you may get a wait indicator. この状態は、低速のインターネット接続を使っている場合に発生する可能性があります。This condition can occur if you have a slow internet connection. サーバーからデータが取得されるまで 1 ~ 2 分待ってから、改めて一覧を表示してみてください。Wait a minute or two for the data to be received from the server, then try the list again.

    [Quick Links](クイック リンク) メニューの一部のエントリが、画面の右側で切れている場合があります。Some entries in the Quick Links menu may be cut off by the right side of the screen. その場合は、マウスを使ってメニューを拡大し、右矢印キーを使って画面を右にスクロールして、メニューの残りを表示します。If so, expand the menu using your mouse and use the right arrow key to scroll the screen to the right to see the rest of the menu.

  4. 次の図ようなページが表示されます。A page similar to the following image is displayed:

    NameNode UI の画像

    注意

    このページの URL に注意してください。http://hn1-CLUSTERNAME.randomcharacters.cx.internal.cloudapp.net:8088/cluster のようになっています。Notice the URL for this page; it should be similar to http://hn1-CLUSTERNAME.randomcharacters.cx.internal.cloudapp.net:8088/cluster. この URI は、ノードの内部の完全修飾ドメイン名 (FQDN) を使っているので、SSH トンネルを使うことによってのみアクセスできます。This URI is using the internal fully qualified domain name (FQDN) of the node, and is only accessible when using an SSH tunnel.

次の手順Next steps

SSH トンネルを作成して使う方法を学習したので、Ambari を使う他の方法を以下のドキュメントで参照してください。Now that you have learned how to create and use an SSH tunnel, see the following document for other ways to use Ambari:

SSH の使用方法の詳細については、HDInsight での SSH の使用に関するページをご覧ください。For more information on using SSH with HDInsight, see Use SSH with HDInsight.