- 印刷する
- PDF
トンネリングを用いたウェブUIアクセス
- 印刷する
- PDF
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番ポートを追加 | ファイアウォールの設定(ACG) |
認証キー | 当該クラスタへのアクセスに必要なプライベートキー(.pem) | クラスタの直接アクセス認証キーの管理 |
Publicドメイン | 当該クラスタノードへのアクセスに必要なPublicドメインアドレス クラスタの詳細情報のPublicドメイン項目で確認可能 | クラスタの詳細情報の確認 |
グローバルIP | 当該クラスタノードへのアクセスに必要なグローバルIP クラスタの詳細情報のグローバルIP項目で確認可能 | クラスタの詳細情報の確認 |
1. クラスタ内でグローバルIPが割り当てられたノードの確認
クラスタ内でグローバルIPが割り当てられたノードを確認する方法は、以下のとおりです。
- NAVERクラウドプラットフォームコンソールでServices > Big Data & Analytics > Cloud Hadoopメニューを順にクリックします。
- クラスタリストでそのクラスタを選択し、クラスタ詳細情報の**グローバルIP(割り当て済み)**項目でグローバルIPを確認します。
2. ACGルールの設定
クラスタのACGルールを変更する方法は、以下のとおりです。
- NAVERクラウドプラットフォームコンソールで、Services > Compute > Server > ACGメニューを順にクリックします。
- アクセスしたいクラスタのACGを選択し、 [ACG設定] ボタンをクリックします。
- 以下の4つの情報を入力し、ACG Ruleを追加します。
- プロトコル:TCP
- アクセスソース:SSH通信を行うローカルデバイスのIP
- 許可ポート:22
- メモ(任意)
トンネルの作成
トンネルは、以下の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 | ウェブトラフィックはほとんどテキストであるため、すべてのデータを圧縮 |
2 | SSHがプロトコルバージョン2だけ試すように強制 |
q | 自動モード |
T | ポート転送後に偽のtty割り当てを無効化 |
n | ポート転送後にSTDINを読み込まない |
N | ポート転送後にリモートコマンドを実行しない |
f | バックグラウンドで実行 |
方法2:PuTTYを用いたトンネルの作成
PuTTYを用いたトンネルの作成方法は以下のとおりです。
- PuTTYを実行します。 (PuTTYのダウンロード)
- Category画面でSessionを選択し、各設定項目に以下のように入力します。
- HostName (or IP address):
sshuser@DNS
(sshuser@DNS
のうち、DNS
にはクラスタのPublicドメインまたはグローバルIPを入力) - Port:
22
- HostName (or IP address):
- Category画面で、Connection > SSH > Tunnels項目をクリックします。
- Options controlling SSH port forwarding様式に以下の情報を入力し、 [Add] ボタンをクリックします。
- Source port:転送するクライアントのポート(例:9876)
- Destination:そのクラスタのPublicドメインまたはグローバルIPを入力
- Dynamic:動的SOCKSプロキシのルーティングを有効化
- Category画面で、Connection > SSHを選択して拡張し、Auth項目をクリックします。
- [Browse] ボタンをクリックしてPEMファイルを変換して作成したPPKファイルを選択し、[Open] ボタンをクリックします。
- PEMファイルの変換に関する詳細は、認証キー(PEM)の変換をご参照ください。
一度作られたトンネルはPuTTYでそのセッションを保存しておき、必要なときにロードしてアクセスできます。
- セッションを保存するには、Load, save or delete a stored sessionのSaved Sessions入力欄にセッション名を入力し、 [Save] をクリックします。
- セッションを実行するには、Saved Sessionsリストにあるそのセッションを選択し、 [Open] ボタンをクリックします。
ブラウザでトンネルを設定
この段階では、すべてのプラットフォームで同じプロキシ設定を提供するMozilla Firefoxブラウザの使用を推奨します。 Google Chromeなどの他の最新のブラウザでは、トンネルで作動するためにFoxyProxyなどの拡張が必要な場合があります。
このガイドでは、localhostとSOCKS v5プロキシトンネルを作成する際に許可ポート(例:9876)を使ってブラウザを構成する方法について説明します。
Firefoxを使用する場合
Firefoxブラウザでトンネルを設定する方法は、以下のとおりです。
- Firefoxブラウザで設定 > 一般をクリックし、ネットワークの設定の [設定] ボタンをクリックします。
- 接続の設定ポップアップで以下の画面のように設定し、 [確認] ボタンをクリックします。
macOS + Chromeを使用する場合
macOS環境のChromeブラウザでトンネルを設定する方法は、以下のとおりです。
- cmdを実行します。
- 以下のコマンドを入力して実行します。
/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --proxy server="socks5://127.0.0.1:9876"
Windows + Chromeを使用する場合
Windows環境のChromeブラウザでトンネルを設定する方法は、以下のとおりです。
- Chromeアイコンを右クリックしてプロパティを選択します。
- ショートカットタブの**対象(T)**のテキストの最後に
--proxy-server="socks5://127.0.0.1:9876"
と入力し、 [確認] ボタンをクリックします。
ブラウザからウェブ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
からアクセスできます。
プロキシサーバを設定し、そのウェブブラウザをすべて再起動すると正常に動作します。