- 인쇄
- PDF
터널링을 이용한 Web UI 접속
- 인쇄
- PDF
VPC 환경에서 이용 가능합니다.
기본적으로 클러스터 생성 시 입력한 클러스터 관리자 계정 및 패스워드를 통해 Ambari Web UI에 접속할 수 있습니다. 그렇지만 HDFS NameNode UI 등 아래의 Web UI는 SSH 터널링을 통해서만 접속할 수 있습니다.
- HDFS NameNode UI
- YARN Resource Manager UI
- Spark Job History UI
- Oozie Web UI
- HBase Master UI
사전 작업
SSH 터널링 연결을 하기 위해서는 다음과 같은 사전 작업이 필요합니다.
항목 | 설명 | 가이드 |
---|---|---|
ACG 설정 | 해당 클러스터의 ACG 설정에 접속하려는 장비의 IP 및 22번 포트 추가 | 방화벽 설정(ACG) |
인증키 | 해당 클러스터 접속에 필요한 프라이빗 키(.pem) | 클러스터 직접 접속 인증키 관리 |
도메인 | 해당 클러스터 노드 접속에 필요한 도메인 주소 | 클러스터 상세 정보 확인 |
1. 클러스터 내 도메인 확인
클러스터 내에 할당된 도메인을 확인하는 방법은 다음과 같습니다.
- 네이버 클라우드 플랫폼 콘솔에서 Services > Big Data & Analytics > Cloud Hadoop 메뉴를 차례대로 클릭해 주십시오.
- 클러스터 목록에서 클러스터를 선택한 후, 상세 정보의 도메인 항목에서 도메인이 할당되어 있는지 확인해 주십시오.
2. ACG 룰 설정
클러스터의 ACG 룰을 변경하는 방법은 다음과 같습니다.
- 네이버 클라우드 플랫폼 콘솔에서 Services > Compute > Server > ACG 메뉴를 차례대로 클릭해 주십시오.
- 접근하려는 클러스터의 ACG를 선택한 후 [ACG 설정] 버튼을 클릭해 주십시오.
- 다음 네 가지 정보를 입력하고 ACG Rule을 추가해 주십시오.
- 프로토콜: TCP
- 접근 소스: SSH 통신을 하는 로컬 장비의 IP
- 허용 포트: 22
- 메모(선택)
터널 생성
터널은 사용자 환경에 따라 두 가지 방법 중 하나를 선택해서 진행할 수 있습니다. 터널링이 완료되면 로컬 컴퓨터에서 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.vpc-hadoop.gov-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 아이콘을 마우스 오른쪽 버튼으로 클릭한 후 속성을 선택해 주십시오.
- 바로 가기 탭의 대상(T) 텍스트 끝에
--proxy-server="socks5://127.0.0.1:9876"
을 입력한 후 [확인] 버튼을 클릭해 주십시오.
브라우저에서 Web UI접속
터널링을 설정하기 전에는 Ambari 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 주소 또는 호스트명으로 수정한 후에 접속해야 합니다.
예를들어, 원래 터널링 없이 Ambari UI에 http://pub-adqs.vpc-hadoop.gov-ntruss.com:8080/#/login
와 같은 주소로 접근했다면, 터널링 작업을 한 후에는 http://m-001-cluster-test-hd:8080/#/login
에서 접근할 수 있습니다.
프록시 서버를 설정한 후 해당 웹 브라우저를 모두 다시 실행해야 정상 동작합니다.