トンネリングを用いたウェブUIアクセス
    • PDF

    トンネリングを用いたウェブUIアクセス

    • PDF

    Article Summary

    Classic環境で利用できます。

    基本的には、クラスタの作成時に入力したクラスタ管理者のアカウントとパスワードを用いてAmbariウェブUIにアクセスできます。 ただし、HDFSネームノードUIなど以下のウェブ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クラウドプラットフォームコンソールでServices > Big Data & Analytics > Cloud Hadoopメニューを順にクリックします。
    2. クラスタリストでそのクラスタを選択し、クラスタ詳細情報の**グローバルIP(割り当て済み)**項目でグローバルIPを確認します。
      chadoop-2-1-107_ko.png

    2. ACGルールの設定

    クラスタのACGルールを変更する方法は、以下のとおりです。

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

    トンネルの作成

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

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

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

    SSH(Secure Shell)トンネリングは、ローカルのポートを通じて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ウェブトラフィックはほとんどテキストであるため、すべてのデータを圧縮
    2SSHがプロトコルバージョン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.png

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

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

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

    注意

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


    この記事は役に立ちましたか?

    What's Next
    Changing your password will log you out immediately. Use the new password to log back in.
    First name must have atleast 2 characters. Numbers and special characters are not allowed.
    Last name must have atleast 1 characters. Numbers and special characters are not allowed.
    Enter a valid email
    Enter a valid password
    Your profile has been successfully updated.