- 印刷する
- PDF
トンネリングを用いたウェブUIアクセス
- 印刷する
- PDF
VPC環境で利用できます。
基本的には、クラスタの作成時に入力したクラスタ管理者のアカウントとパスワードを用いて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) | クラスタの直接アクセス認証キーの管理 |
ドメイン | そのクラスタノードへの接続に必要なドメインアドレス | クラスタの詳細情報の確認 |
1. クラスタ内ドメインの確認
クラスタ内で割り当てられたドメインを確認する方法は、以下のとおりです。
- NAVERクラウドプラットフォームコンソールでServices > Big Data & Analytics > Cloud Hadoopメニューを順にクリックします。
- クラスタリストでそのクラスタを選択し、詳細情報のドメインエントリでドメインが割り当てられていることを確認してください。
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>
と<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を用いたトンネルの作成方法は以下のとおりです。
- PuTTYを実行します。(PuTTYのダウンロード)
- Category画面でSessionを選択し、各設定項目に以下のように入力します。
- HostName (or IP address):
sshuser@DNS
(sshuser@DNS
のうちDNS
にはそのクラスタのドメインを入力してください) - Port:
22
- HostName (or IP address):
- Category画面で、Connection > SSH > Tunnels項目をクリックします。
- Options controlling SSH port forwarding様式に以下の情報を入力し、[Add] ボタンをクリックします。
- Source port: 転送するクライアントのポート(例:9876)
- Destination: そのクラスタのドメインアドレス
- Dynamic: 動的SOCKSプロキシのルーティングを有効化
- Category画面で、Connection > SSH > Auth > Credentialsを選択してください。
- Private key file for authenticationで [Browse] ボタンをクリックし、pemファイルを変換して作成した ppkファイルを選択し、[Open] ボタンをクリックしてください。
- PEMファイルの変換に関する詳細は、認証キー(PEM)の変換をご参照ください。
PuTTY 0.78以前のバージョンでは、Private key file for authenticationは Connection > SSH > Authから選択できます。
一度作られたトンネルは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アイコンを右クリックしてプロパティを選択します。
- [ショートカット] タブのTargetテキストの末尾に
--proxy-server="socks5: // 127.0.0.1:9876"
[OK] ボタンを押します。
ブラウザからウェブUIにアクセス
トンネリングを設定する前はAmbari Quick Linksにあるページにアクセスできないのに、ブラウザを設定した後はウェブ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
からアクセスできます。
proxy-serverを設定し、そのウェブブラウザをすべて再起動すると正常に動作します。