トンネリングを利用した Web UIアクセス

Prev Next

VPC環境で利用できます。

基本的には、クラスタの作成時に入力したクラスタ管理者のアカウントとパスワードを用いて Ambari Web UIにアクセスできます。ただし、HDFS NameNode UIなどの以下の Web UIは SSHトンネリングを介してのみアクセスできます。

  • HDFS NameNode UI
  • YARN Resource Manager UI
  • Spark Job History UI
  • Oozie Web UI
  • HBase Master UI

事前タスク

SSHトンネリングアクセスを行うには、以下のような事前タスクが必要です。

項目 説明 ガイド
ACG設定 当該クラスタの ACG設定にアクセスしようとするデバイスの IPアドレスと22番ポートを追加
  • アクセスソース: ユーザーの固定 IPアドレス( [myIp] ボタンをクリックして入力可能)
ファイアウォール設定(ACG)
認証キー 当該クラスタへのアクセスに必要な秘密鍵(.pem) クラスタの直接アクセス認証キーの管理
ドメイン 当該クラスタノードへのアクセスに必要なドメインアドレス クラスタの詳細情報確認

1.クラスタ内のドメイン確認

クラスタ内で割り当てられたドメインを確認する方法は、次の通りです。

  1. NAVERクラウドプラットフォームコンソールの VPC環境で、i_menu > Services > Big Data & Analytics > Cloud Hadoopメニューを順にクリックします。
  2. クラスタリストでクラスタを選択し、詳細情報のドメイン項目でドメインが割り当てられているか確認します。
    cloudhadoop-clusterlist-domein_ko

2.ACGルール設定

クラスタの ACGルールを変更する方法は、次の通りです。

  1. NAVERクラウドプラットフォームコンソールの VPC環境で、i_menu > Services > Compute > Server > ACGメニューを順にクリックします。
  2. アクセスしたいクラスタの ACGを選択し、 [ACG設定] ボタンをクリックします。
    cloudhadoop-server-acg1_ko
  3. 次の4つの情報を入力し、ACG Ruleを追加します。
    • プロトコル: TCP
    • アクセスソース: SSH通信を行うローカルデバイスの IPアドレス
    • 許可ポート: 22
    • メモ(任意)
      chadoop-3-3-02_ko

トンネル作成

トンネルは、以下の2つの方法の中からユーザー環境に応じて選択して作成できます。トンネリングが完了すると、ローカルから9876ポートに転送されるトラフィックがクラスタのエッジノードにルーティングされます。

方法1: SSHコマンドを使用したトンネル作成
方法2: PuTTYを使用したトンネル作成

方法1: SSHコマンドを使用したトンネル作成

Secure Shell(SSH)トンネリング{target="_blank"}は、ローカルコンピュータのポートを、Cloud Hadoopクラスタのドメインアドレスおよびポートが許可されたエッジノードに接続します。

ローカルポートに転送されたトラフィックは、SSHアクセスを通じてエッジノードにルーティングされます。まるでエッジノードから始まったかのように表示され、レスポンスはトンネルを介して再びルーティングされます。

以下の例の SSHコマンドを参照して SSHトンネルを作成します。

  • Cloud Hadoopで作成したクラスタの SSHユーザーは sshuserで、変更できません。
  • <PEM-FILE-PATH><CLUSTER-DOMAIN>に、事前タスクを行った認証キーとドメイン情報をそれぞれ入力します。
# ssh -i <PEM-FILE-PATH> -C2qTnNf -D 9876 sshuser@<CLUSTER-DOMAIN>
ssh -i ~/Download/sample-key.pem -C2qTnNf -D 9876 sshuser@pub-XXXX.hadoop.ntruss.com

上記のコマンドは、ローカルポート9876で SSHを通じてクラスタにトラフィックをルーティングします。オプションは次の通りです。

PORT 説明
D 9876 トンネルを通じてトラフィックをルーティングするローカルポート
C ウェブトラフィックはほとんどテキストであるため、すべてのデータを圧縮
2 SSHがプロトコルバージョン2だけ試すように強制
q 自動モード
T ポート転送後に偽の tty割り当てを無効化
n ポート転送後に STDINを読み込まない
N ポート転送後にリモートコマンドを実行しない
f バックグラウンドで実行

方法2: PuTTYを使用したトンネル作成

PuTTYを用いたトンネルの作成方法は、次の通りです。

  1. PuTTYを実行します(PuTTYをダウンロード)。
  2. Categoryポップアップで Sessionを選択し、各設定項目に以下のように入力します。
    • HostName(or IP address) : sshuser@DNS(sshuser@DNS のうち、DNSには当該クラスタのドメインアドレスを入力)
    • Port: 22
  3. Category画面で、Connection > SSH > Tunnels項目をクリックします。
  4. Options controlling SSH port forwarding様式に以下の情報を入力し、 [Add] ボタンをクリックします。
    • Source port: 送信するクライアントのポート(例) 9876)
    • Destination: 当該クラスタのドメインアドレス
    • Dynamic: 動的 SOCKSプロキシのルーティングを有効化
  5. Categoryウィンドウで Connection > SSH > Auth > Credentialsを選択します。
  6. Private key file for authenticationで、[Browse] ボタンをクリックして pemファイルを変換して作成した ppkファイルを選択し、[Open] ボタンをクリックします。
参考

PuTTY 0.78以前のバージョンの場合、Private key file for authenticationConnection > SSH > Authから選択できます。

参考

一度作られたトンネルは PuTTYでそのセッションを保存しておき、必要な時にロードしてアクセスできます。

  • セッションを保存するには、Load、save or delete a stored sessionSaved Sessionsの入力欄にセッション名を入力し、 [Save] ボタンをクリックします。
  • セッションを実行するには、Saved Sessionsリストにあるそのセッションを選択し、[Open] ボタンをクリックします。

ブラウザでトンネルを設定

この段階では、すべてのプラットフォームで同じプロキシ設定を提供する Mozilla Firefoxブラウザの使用をお勧めします。他の最新ブラウザ(e.g.Google Chrome)の場合、トンネルで動作させるには FoxyProxyなどの拡張機能が必要になる場合があります。

本ガイドでは、localhostと SOCKS v5プロキシトンネルを作成する際に許可されるポート(例: 9876)を使用してブラウザを構成する方法について説明します。

Firefox使用時

Firefoxブラウザでトンネルを設定する方法は、次の通りです。

  1. Firefoxブラウザで df-quick-start_i-firefox> 設定 > 一般をクリックし、ネットワーク設定[設定] ボタンをクリックします。
  2. 接続設定のポップアップで以下の画面のように設定し、 [確認] ボタンをクリックします。
    hadoop-chadoop-proxy1_ko

macOS Chrome使用時

macOS環境の Chromeブラウザでトンネルを設定する方法は、次の通りです。

  1. cmdを実行します。
  2. 以下のコマンドを入力して実行します。
/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --proxy server="socks5://127.0.0.1:9876"

Windows Chrome使用時

Windows環境の Chromeブラウザでトンネルを設定する方法は、次の通りです。

  1. Chromeアイコンを右クリックし、プロパティを選択します。
  2. [ショートカット] タブの対象(T) テキストの末尾に --proxy-server="socks5://127.0.0.1:9876"と入力し、 [確認] ボタンをクリックします。
    chadoop-2-1-106_ko

ブラウザからウェブ UIにアクセス

トンネリングを設定する前には Ambari Metrics > Quick Linksにあるページにアクセスできませんが、ブラウザ設定後は Web UIにアクセスできることを確認できます。例えば、Active ResourceManagerコンポーネントがホスト m-002-cluster-test-hdにある場合、http://m-002-cluster-test-hd:8088/clusterから Resource Manager UIにアクセスできます。

これまでトンネリングなしでアクセスできていた Web UIの場合、トンネリング以降は、既存のアドレスのドメインアドレスを、Private IPアドレスまたはホスト名に変更してからアクセスする必要があります。
例えば、従来はトンネリングなしで Ambari UIに http://pub-adqs.hadoop.ntruss.com:8443/#/loginといったアドレスにアクセスできたなら、トンネリング後は http://m-001-cluster-test-hd:8443/#/loginからアクセスできます。

注意

プロキシサーバを設定し、そのウェブブラウザをすべて再起動すると正常に動作します。