기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
옵션 2, 파트 1: 동적 포트 전달을 사용하여 프라이머리 노드에 SSH 터널 설정
프라이머리 노드의 로컬 웹 서버에 연결하려면 컴퓨터와 프라이머리 노드 사이에 SSH 터널을 생성합니다. 이를 포트 전달이라고도 합니다. 동적 포트 전달을 사용하여 SSH 터널을 생성하면 지정된 미사용 로컬 포트로 라우팅된 모든 트래픽이 프라이머리 노드의 로컬 웹 서버로 전달됩니다. 이 경우 SOCKS 프록시가 생성됩니다. 그런 다음 FoxyProxy 또는 SwitchyOmega 같은 추가 기능을 사용하여 SOCKS 프록시 설정을 관리하도록 인터넷 브라우저를 구성할 수 있습니다.
프록시 관리 추가 기능을 사용하면 텍스트 패턴을 기반으로 URL을 자동으로 필터링하고 프록시 설정을 프라이머리 노드의 퍼블릭 DNS 이름 형식과 일치하는 도메인으로 제한할 수 있습니다. 브라우저 추가 기능은 프라이머리 노드에서 호스팅되는 웹 사이트와 인터넷상의 웹 사이트 보기를 전환할 때 프록시를 켜고 끄는 작업을 자동으로 처리합니다.
시작하기 전에 프라이머리 노드의 퍼블릭 DNS 이름과 키 페어 프라이빗 키 파일이 필요합니다. 프라이머리 퍼블릭 DNS 이름을 찾는 방법에 대한 자세한 내용은 프라이머리 노드의 퍼블릭 DNS 이름 검색 섹션을 참조하세요. 키 페어 액세스에 대한 자세한 내용은 Amazon EC2 사용 설명서에서 Amazon EC2 키 페어를 참조하세요. 프라이머리 노드에서 볼 수 있는 사이트에 대한 자세한 내용은 Amazon EMR 클러스터에 호스팅된 웹 인터페이스 보기 섹션을 참조하세요.
OpenSSH에서 동적 포트 전달을 사용하여 프라이머리 노드에 대해 SSH 터널 설정
OpenSSH에서 동적 포트 전달을 사용하여 SSH 터널을 설정하는 방법
-
인바운드 SSH 트래픽을 허용했는지 확인합니다. 지침은 Amazon EMR에 연결하기 전: 인바운드 트래픽 권한 부여 단원을 참조하십시오.
-
터미널 창을 엽니다. Mac OS X에서 애플리케이션 > 유틸리티 > 터미널을 선택합니다. 다른 Linux 배포에서는 일반적으로 Applications > Accessories > Terminal(애플리케이션 > 보조프로그램 > 터미널)에서 터미널을 찾을 수 있습니다.
-
다음 명령을 입력하여 로컬 시스템에서 SSH 터널을 엽니다.
~/mykeypair.pem
을.pem
파일의 위치 및 파일 이름으로 바꾸고,8157
을 사용하지 않은 로컬 포트 번호로 바꾸며,c2-###-##-##-###.compute-1.amazonaws.com
을 클러스터의 프라이머리 퍼블릭 DNS 이름으로 바꿉니다.ssh -i
~/mykeypair.pem
-N -D8157
hadoop@ec2-###-##-##-###.compute-1.amazonaws.com
이 명령을 실행한 후 터미널은 그대로 열려 있으며 응답을 반환하지 않습니다.
참고
-D
는 동적 포트 전달을 사용하여 프라이머리 노드의 로컬 웹 서버에 있는 모든 원격 포트로 데이터를 전달하는 데 사용되는 로컬 포트를 지정할 수 있게 합니다. 동적 포트 전달은 명령에 지정된 포트에서 수신하는 로컬 SOCKS 프록시를 생성합니다. -
터널이 활성화된 후 브라우저에 대한 SOCKS 프록시를 구성합니다. 자세한 내용은 옵션 2, 파트 2: Amazon EMR 클러스터 프라이머리 노드에 호스팅된 웹 사이트를 표시하도록 프록시 설정 구성 단원을 참조하십시오.
-
프라이머리 노드에서 웹 인터페이스 작업을 마쳤으면 터미널 창을 닫습니다.
를 사용하여 동적 포트 전달을 사용하여 SSH 터널 설정 AWS CLI
AWS CLI Windows 및 Linux, Unix 및 Mac OS X에서를 사용하여 기본 노드와 SSH 연결을 생성할 수 있습니다. Linux, Unix 또는 Mac OS X AWS CLI 에서를 사용하는 경우에 표시된 대로 .pem
파일에 대한 권한을 설정해야 합니다키 페어 프라이빗 키 파일 권한을 구성하려면. Windows AWS CLI 에서를 사용하는 경우 PuTTY가 경로 환경 변수에 나타나야 합니다. 그렇지 않으면 OpenSSH 또는 PuTTY를 사용할 수 없음
과 같은 오류가 발생할 수 있습니다.
를 사용하여 동적 포트 전달을 사용하여 SSH 터널을 설정하려면 AWS CLI
-
인바운드 SSH 트래픽을 허용했는지 확인합니다. 지침은 Amazon EMR에 연결하기 전: 인바운드 트래픽 권한 부여 단원을 참조하십시오.
-
AWS CLI를 사용하여 프라이머리 노드에 연결에 표시된 것처럼 프라이머리 노드와 SSH 연결을 생성합니다.
-
클러스터 식별자를 검색하려면 다음을 입력합니다.
aws emr list-clusters
출력에는 클러스터 ID를 포함하여 클러스터가 나열됩니다. 연결할 클러스터의 클러스터 ID를 기록해 둡니다.
"Status": { "Timeline": { "ReadyDateTime": 1408040782.374, "CreationDateTime": 1408040501.213 }, "State": "WAITING", "StateChangeReason": { "Message": "Waiting after step completed" } }, "NormalizedInstanceHours": 4, "Id": "j-2AL4XXXXXX5T9", "Name": "AWS CLI cluster"
-
동적 포트 전달을 사용하여 프라이머리 노드에 SSH 터널을 열려면 다음 명령을 입력합니다. 다음 예제에서
j-2AL4XXXXXX5T9
를 클러스터 ID로 바꾸고~/mykeypair.key
를.pem
파일(Linux, Unix 및 Mac OS X의 경우) 또는.ppk
파일(Windows의 경우)의 위치 및 파일 이름으로 바꿉니다.aws emr socks --cluster-id
j-2AL4XXXXXX5T9
--key-pair-file~/mykeypair.key
참고
socks 명령은 로컬 포트 8157에서 동적 포트 전달을 자동으로 구성합니다. 현재 이 설정은 수정할 수 없습니다.
-
터널이 활성화된 후 브라우저에 대한 SOCKS 프록시를 구성합니다. 자세한 내용은 옵션 2, 파트 2: Amazon EMR 클러스터 프라이머리 노드에 호스팅된 웹 사이트를 표시하도록 프록시 설정 구성 단원을 참조하십시오.
-
기본 노드에서 웹 인터페이스 작업을 마치면 AWS CLI 창을 닫습니다.
에서 Amazon EMR 명령을 사용하는 방법에 대한 자세한 내용은 섹션을 AWS CLI참조하세요https://docs.aws.amazon.com/cli/latest/reference/emr.
PuTTY를 사용하여 프라이머리 노드에 SSH 터널 설정
Windows 사용자는 PuTTY와 같은 SSH 클라이언트를 사용하여 프라이머리 노드에 대한 SSH 터널을 생성할 수 있습니다. Amazon EMR 프라이머리 노드에 연결하기 전에 PuTTY 및 PuTTYgen을 다운로드하여 설치해야 합니다. PuTTY 다운로드 페이지
PuTTY에서는 기본적으로 Amazon EC2에서 생성된 키 페어 프라이빗 키 파일 형식(.pem
)을 지원하지 않습니다. PuTTYgen을 사용하여 키 파일을 필수 PuTTY 형식(.ppk
)으로 변환합니다. PuTTY를 사용하여 프라이머리 노드에 연결하기 전에 키를 이 형식(.ppk
)으로 변환해야 합니다.
키 변환에 대한 자세한 내용은 https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/putty.htmlAmazon EC2 사용 설명서에서 PuTTYgen을 사용하여 프라이빗 키 변환을 참조하세요.
PuTTY를 사용하여 동적 포트 전달로 SSH 터널을 설정하는 방법
-
인바운드 SSH 트래픽을 허용했는지 확인합니다. 지침은 Amazon EMR에 연결하기 전: 인바운드 트래픽 권한 부여 단원을 참조하십시오.
-
putty.exe
를 두 번 클릭하여 PuTTY를 시작합니다. Windows 프로그램 목록에서도 PuTTY를 시작할 수 있습니다.참고
프라이머리 노드와의 활성 SSH 세션이 이미 있는 경우 PuTTY 제목 표시줄을 마우스 오른쪽 버튼으로 클릭하고 설정 변경을 선택하여 터널을 추가할 수 있습니다.
-
필요한 경우 Category(범주) 목록에서 Session(세션)을 선택합니다.
-
Host Name(호스트 이름) 필드에
hadoop@
MasterPublicDNS
를 입력합니다. 예:hadoop@
ec2-###-##-##-###.compute-1.amazonaws.com
. -
Category(범주) 목록에서 Connection > SSH(연결 > SSH)를 확장한 후 Auth(인증)를 선택합니다.
-
Private key file for authentication(인증을 위한 프라이빗 키 파일)에서 Browse(찾아보기)를 선택하고 생성한
.ppk
파일을 선택합니다.참고
PuTTY에서는 기본적으로 Amazon EC2에서 생성된 키 페어 프라이빗 키 파일 형식(
.pem
)을 지원하지 않습니다. PuTTYgen을 사용하여 키 파일을 필수 PuTTY 형식(.ppk
)으로 변환합니다. PuTTY를 사용하여 프라이머리 노드에 연결하기 전에 키를 이 형식(.ppk
)으로 변환해야 합니다. -
Category(범주) 목록에서 Connection > SSH(연결 > SSH)를 확장한 후 Tunnels(터널)를 선택합니다.
-
소스 포트 필드에
8157
(미사용 로컬 포트)을 입력하고 추가를 선택합니다. -
Destination(대상) 필드는 비워둡니다.
-
Dynamic(동적) 및 Auto(자동) 옵션을 선택합니다.
-
Open을 선택합니다.
-
Yes(예)를 선택하여 PuTTY 보안 알림을 해제합니다.
중요
프라이머리 노드에 로그인할 때 사용자 이름을 묻는 메시지가 표시되면
hadoop
을 입력합니다. -
터널이 활성화된 후 브라우저에 대한 SOCKS 프록시를 구성합니다. 자세한 내용은 옵션 2, 파트 2: Amazon EMR 클러스터 프라이머리 노드에 호스팅된 웹 사이트를 표시하도록 프록시 설정 구성 단원을 참조하십시오.
-
프라이머리 노드에서 웹 인터페이스 작업을 마쳤으면 PuTTY 창을 닫습니다.