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

Prev Next

Classic環境で利用できます。

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

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

事前タスク

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

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

1.クラスタ内でパブリック IPアドレスが割り当てられたノードの確認

クラスタ内でパブリック IPアドレスが割り当てられたノードを確認する方法は、次の通りです。

  1. NAVERクラウドプラットフォームコンソールの Classic環境で、i_menu > Services > Big Data & Analytics > Cloud Hadoopメニューを順にクリックします。
  2. クラスタリストで当該クラスタを選択し、クラスタ詳細情報の**パブリック IPアドレス(割り当て済み)**項目でパブリック IPアドレスを確認します。
    chadoop-2-1-107_ko

2.ACGルール設定

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

  1. NAVERクラウドプラットフォームコンソールの Classic環境で、i_menu > Services > Compute > Server > ACGメニューを順にクリックします。
  2. アクセスしたいクラスタの ACGを選択し、 [ACG設定] ボタンをクリックします。
    chadoop-3-3-01_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クラスタに割り当てられたパブリック IPアドレスとポートが許可されたマスターノードに接続します。

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

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

  • Cloud Hadoopで作成したクラスタの SSHユーザーは sshuserで、変更できません。
  • <PEM-FILE-PATH><PUBLIC_IP>に、事前タスクを行った認証キーとパブリック IPアドレス情報をそれぞれ入力します。
# ssh -i <PEM-FILE-PATH> -C2qTnNf -D 9876 sshuser@<PUBLIC_IP>
ssh -i ~/Download/sample-key.pem -C2qTnNf -D 9876 sshuser@10.10.10.10

上記のコマンドは、ローカルポート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にはクラスタの Publicドメインまたは パブリック IPアドレスを入力)
    • Port: 22
  3. Category画面で、Connection > SSH > Tunnels項目をクリックします。
  4. Options controlling SSH port forwarding様式に以下の情報を入力し、 [Add] ボタンをクリックします。
    • Source port: 転送するクライアントのポート(例: 9876)
    • Destination: 当該クラスタの Publicドメインまたはパブリック IPアドレスを入力
    • Dynamic: 動的 SOCKSプロキシのルーティングを有効化
  5. Categoryポップアップで、Connection > SSHを選択して拡張し、Auth項目をクリックします。
  6. [Browse] ボタンをクリックして pemファイルを変換して作成した ppkファイルを選択し、[Open] ボタンをクリックします。
参考

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

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

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

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

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

Firefox使用時

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

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

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

注意

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