SSHでクラスタノードにアクセス

Prev Next

VPC環境で利用できます。

NAVERクラウドプラットフォームの Cloud Hadoopコンソールまたは Web UI(Ambari、Hueなど)で管理操作またはアプリケーションを送信できます。ただし、直接クライアントを実行するには、SSH方式でクラスタノードにアクセスします。

参考

クラスタに割り当てられたドメインに SSHアクセスすると、クラスタのエッジノードにアクセスすることになります。その他のノードは、エッジノードから SSHにアクセスできます。詳細は、2.クラスタノードにアクセスをご参照ください。

事前タスク

クラスタノードにアクセスするには、まず以下のようなタスクと準備が必要です。

項目 説明 ガイド
SSL VPN設定 外部から NAVERクラウドプラットフォーム内部に構成されたネットワークにセキュアアクセス
  • Subnetの Route Tableへの VPN帯域追加
  • SSL VPNクライアントのダウンロードとインストール、実行
SSL VPNご利用ガイド(VPC)
ACG設定 当該クラスタの ACG設定にアクセスしようとするデバイスの IPアドレスと22番ポートを追加
  • アクセスソース: ユーザーの固定 IPアドレス( [myIp] ボタンをクリックして入力可能)
ファイアウォール設定(ACG)
認証キー 当該クラスタへのアクセスに必要な秘密鍵(.pem) クラスタの直接アクセス認証キーの管理
ドメイン 当該クラスタノードへのアクセスに必要なドメインアドレス クラスタの詳細情報の確認

1.SSL VPN設定

外部から NAVERクラウドプラットフォーム内部に構成されたネットワークにセキュアアクセスするには、事前に SSL VPNを設定します。
次のコースで SSL VPN作成と設定を行います。

a.SSL VPN作成

  1. NAVERクラウドプラットフォームコンソールの VPC環境で、 i_menu > Services > Security > SSL VPNメニューを順にクリックします。
  2. [SSL VPN作成] ボタンをクリックして VPNを作成します。
    • ステータスが運用中に変わったら、作成が完了したことを意味します。
      cloudhadoop-sslvpn-create_ko
  3. SSL VPNの作成完了時に送信されるメールで、VPNアクセスパスを確認します。
    • SSL VPNアクセスパスを Subnetの Route Tableに追加します。必ずメールを確認してください。
      chadoop-3-2-04-01_ko
  4. 次のように運用中の SSL VPNを選択し、[ユーザー設定] ボタンをクリックします。
    chadoop-3-2-05-1_ko
  5. ユーザー設定ポップアップで SSL VPNユーザー情報を追加し、[適用] ボタンをクリックします。今後 VPNにアクセスするたびにユーザーが入力した Emailと SMSに OTP認証番号が送信されます。
    cloudhadoop-sslvpn-usersetting1_ko

b.Subnetの Route Tableへの VPN帯域追加

Subnetの Route Tableに VPN帯域を追加する方法は、次の通りです。

  1. NAVERクラウドプラットフォームコンソールの VPC環境で、 i_menu > Services > Networking > VPC > Route Tableメニューを順にクリックします。
    • 作成した Cloud Hadoopの Subnetごとに Route Tableが作成されていることが確認できます。
  2. アクセスする Route Tableを選択し、[Routes設定] ボタンをクリックします。
    chadoop-2-1-007_ko
  3. 次の3つの情報を入力し、Table Entryを作成します。
    • Destination: SSL VPNの IPアドレス Pool
    • Target Type: SSL VPN
    • Target Name: 上記で作成した SSL VPN
      chadoop-2-1-008_ko
  4. 他の Route Tableにも同じく行います。

c.SSL VPNクライアントダウンロード

作成した SSL VPNを用いて Cloud Hadoopクラスタにアクセスするには、クライアントプログラムをインストールします。

SSL VPNクライアントをダウンロードしてインストールする方法は、次の通りです。

  1. SSL VPNダウンロードで SSL VPN Agentをダウンロードします。
  2. 圧縮を解凍し、mac OSの場合は .dmgファイルを、Windowsの場合は .zipを使用してクライアントをインストールします。

インストールが完了すると、以下のようなアプリケーションが確認できます。
chadoop-3-2-02_ko

参考

mac OS Catalinaバージョンで、圧縮を展開する際にエラー22 有効でない変数エラーが発生することがあります。この場合は、デフォルトの Uninstaller(アーカイブユーティリティ)ではなく The Unarchiverのようなプログラムを使用してください。

d.SSL VPNクライアント実行とアクセス

インストールした SSL VPNクライアントを実行し、VPN作成時に選択した VPCにアクセスする方法は、次の通りです。

  1. インストールした SSL VPNクライアントを実行します。
  2. VPNを作成する時にメールで受け取った SSL VPNのパスを入力し、[Connect] ボタンをクリックします。
    chadoop-3-2-03_ko

OTP認証が完了すると、SSL VPNを通じて VPNの作成時に選択した VPCにアクセスできます。同じ VPC/Subnetにアクセスする場合は、ステップ a~dは最初の1回のみ必要です。

2.固定 IPアドレスを ACGに追加

クラスタ ACGに固定 IPを追加する方法は、次の通りです。

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

mac OS環境での SSHアクセス

iTerm2を用いたアクセス方法を説明します。他のプログラムを使用しても同じ動作を実行するのであれば、結果は同じです。

chmod 400 </path/to/pem-key>
ssh -i </path/to/pem-key>  sshuser@<cluster-domain>
参考

sign_and_send_pubkey: no mutual signature supportedエラーが発生した場合、~/.ssh/configファイルに以下の内容を追加してアクセスします。

Host *
    PubkeyAcceptedKeyTypes +ssh-rsa

Windows環境での SSHアクセス

PuTTYクライアントを用いたアクセス方法を説明します。他のプログラムを使用しても同じ動作を実行するのであれば、結果は同じです。

次のステップを順に行います。

1.認証キー(.pem)の変換

PuTTYでは、Cloud Hadoopで作成されたプライベートキー形式(.pem)を基本的にサポートしません。PuTTYが提供する PuTTYgenアプリケーションを使用し、認証キーを PuTTYで使用する形式(.ppk)に変換できます。PuTTYを使用してエッジノードに接続する前に、プライベートキーをこの形式(.ppk)に変換する必要があります。

  1. PuTTYgenを実行します。(puttygenダウンロード)
  2. Type of key to generateRSAを選択し、[Load] ボタンをクリックします。
  3. その認証キー(*.pem)を選択し、[開く] ボタンをクリックします。
    • pem形式のファイルを検索するには、すべてのタイプのファイルを表示するオプションを選択します。
    • pemファイルは現在クラスタに適用されている認証キーのファイル名であり、ユーザーのローカル PCにその pemファイルが保存されている必要があります。
    • pemファイルを紛失した場合は、コンソール > サーバアクセスの管理 > クラスタの直接アクセス認証キー管理メニューでアクセスする認証キーを変更できます。(クラスタの直接アクセス認証キー管理を参照)
  4. 完了の確認ポップアップの内容を確認し、[確認] ボタンをクリックします。
  5. [Save private key] ボタンをクリックし、PuTTYで使用できる ppk形式のファイルで保存します。
    • PuTTYgenでパスワードなしのキー保存に関する警告が表示されたら、[Yes] ボタンをクリックします。
    • 過去に作成した認証キーと同じ名前で保存します。PuTTYが自動で.ppkファイル拡張子を追加します。

2.クラスタノードにアクセス

  1. PuTTYを実行します。(PuTTYをダウンロード)
  2. Categoryポップアップで Sessionを選択し、各設定項目に以下のように入力します。
    • HostName(or IP address): sshuser@DNS (sshuser@DNS の中 DNSには当該クラスタのドメインアドレスを入力)
    • Port: 22
  3. Categoryウィンドウで Connection > SSH > Auth > Credentialsを選択します。
  4. Private key file for authenticationで、[Browse] ボタンをクリックして pemファイルを変換して作成した ppkファイルを選択し、[Open] ボタンをクリックします。
  5. 次のようにエッジノードに正常にアクセスされたか確認します。
    chadoop-2-1-116_ko
参考

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

参考

Ambari UI > Hostsメニューで各ノードの Private IPとホスト名を確認できます。Ambari UIにアクセスする方法は、Ambari UIガイドをご参照ください。

  • エッジノードにアクセスし、ssh{マスターノードのホスト名}または ssh {マスターノードの Private IP}を入力してマスターノード(e.g.m-001、m-002)にアクセスできます。

    chadoop-2-1-node

  • データノード(e.g.d-001、d-002)もマスターノードと同じ方法でアクセスできます。エッジノードにアクセスし、ssh{データノードのホスト名}または ssh {データノードの Private IP}にアクセスします。

    chadoop-2-1-node2