Amazon EC2에서 호스팅되는 노트북 서버 생성
로컬 시스템에 Apache Zeppelin 노트북을 설치하고 노트북을 사용하여 개발 엔드포인트에 ETL 스크립트를 디버깅하고 테스트합니다. 또는 Amazon EC2 인스턴스에서 Zeppelin 노트북 서버를 호스팅할 수 있습니다. 자세한 정보는 개발 엔드포인트와 연결된 노트북 서버 생성을 참조하십시오.
AWS Glue 노트북 서버 생성 창에서 노트북 서버를 생성하는 데 필요한 속성을 Apache Zeppelin 노트북에 추가할 수 있습니다.
개발 엔드포인트와 연결되어 생성한 어떤 노트북 서버도 관리합니다. 따라서 엔드포인트를 삭제하고자 한다면 AWS CloudFormation 콘솔에서 AWS CloudFormation 스택을 삭제해야 노트북 서버를 삭제할 수 있습니다.
Amazon EC2에서 호스팅되는 노트북 서버를 사용하기에 앞서 우선 Amazon EC2 인스턴스에서 다음과 같은 작업을 수행하는 스크립트를 실행해야 합니다.
-
Zeppelin 노트북 암호를 설정합니다.
-
노트북 서버와 개발 엔드포인트 간의 통신을 설정합니다.
-
Zeppelin 노트북에 액세스하기 위한 Secure Sockets Layer(SSL) 인증서를 생성하거나 확인합니다.
자세한 정보는 개발 엔드포인트와 연결된 노트북 서버 생성을 참조하십시오.
다음 속성을 제공합니다.
- CloudFormation 스택 이름
-
개발 엔드포인트의 AWS CloudFormation 스택에 생성된 노트북 이름입니다. 이름에는
aws-glue-
라는 접두사가 붙습니다. 이 노트북은 Amazon EC2 인스턴스에서 실행됩니다. Zeppelin HTTP 서버가 SSH tunnel 명령으로 액세스할 수 있는 localhost 포트 8080 또는 퍼블릭 포트 443에서 시작됩니다. - IAM 역할
-
Amazon EC2 인스턴스 프로파일과 정확하게 일치하는 Amazon EC2에 대한 신뢰 관계가 있는 역할입니다. IAM 콘솔에서 역할을 생성합니다. [Amazon EC2]를 선택한 다음 해당 노트북에 대한 정책을 하나 연결합니다(예:
AWSGlueServiceNotebookRoleDefault
). 자세한 정보는 5단계: 노트북 서버용 IAM 역할 생성을 참조하십시오.인스턴스 프로파일에 대한 자세한 내용은 인스턴스 프로파일 사용을 참조하십시오.
- EC2 키 페어
-
노트북 서버를 호스팅하는 Amazon EC2 인스턴스에 액세스하는 데 쓰이는 Amazon EC2 키입니다. Amazon EC2 콘솔에서 키 페어를 생성하면 됩니다(https://console.aws.amazon.com/ec2/
). 나중에 사용할 수 있도록 키 파일을 저장합니다. 자세한 내용은 Amazon EC2 키 페어를 참조하십시오. - 노트북 서버 EC2 인스턴스에 퍼블릭 IP를 연결하십시오.
-
인터넷에서 노트북 서버에 액세스하는 데 사용할 수 있는 퍼블릭 IP를 연결하려면 이 옵션을 선택합니다. 퍼블릭/프라이빗 서브넷 선택 여부는 이 옵션 선택을 결정하는 요소입니다. 퍼블릭 서브넷에서는 노트북 서버에 퍼블릭 IP가 있어야만 인터넷에 액세스할 수 있습니다. 노트북 서버가 프라이빗 서브넷에 있으며 퍼블릭 IP를 원치 않는 경우 이 옵션을 선택하지 마십시오. 하지만 노트북 서버에는 NAT 게이트웨이 통과 경로와 같이, 여전히 인터넷 경로가 필요합니다.
- 노트북 사용자 이름
-
Zeppelin 노트북에 액세스하는 데 사용하는 사용자 이름입니다. 기본값은
admin
입니다. - 노트북 S3 경로
-
노트북 상태가 저장된 위치입니다. Zeppelin 노트북으로 이동하는 Amazon S3 경로는
s3://bucket-name/username
포맷을 따라야 합니다. 하위 폴더는 경로에 포함될 수 없습니다. 기본값은s3://aws-glue-notebooks-
입니다.account-id
-region
/notebook-username
- 서브넷
-
노트북 서버와 함께 사용 가능한 서브넷입니다. 인터넷에서 액세스될 수 있는 서브넷을 표시하는 별표(*)입니다. 이 서브넷의 인터넷 경로는 인터넷 게이트웨이(IGW), NAT 게이트웨이 또는 VPN을 통과해야 합니다. 자세한 정보는 AWS Glue의 개발에 대한 네트워킹 설정을 참조하십시오.
- 보안 그룹
-
노트북 서버와 함께 사용 가능한 보안 그룹입니다. 보안 그룹은 HTTPS(포트 443) 및 SSH(포트 22)의 인바운드 규칙을 포함해야 합니다. 규칙의 소스가 0.0.0.0/0 또는 노트북에 연결하는 시스템의 IP 주소인지 확인합니다.
- S3 AWS KMS 키
-
Amazon S3에 있는 Zeppelin 노트북 스토리지의 클라이언트 측 AWS KMS 암호화에 사용되는 키입니다. 이 필드는 선택 사항입니다. Amazon S3에 대한 액세스를 허용하려면 AWS KMS 키를 선택하거나 [키 ARN 입력(Enter a Key ARN)]을 선택하고 해당 키의 Amazon 리소스 이름(ARN)을 제공합니다.
arn:aws:kms:
형식에서 ARN을 입력합니다. 또한region
:account-id
:key/key-id
arn:aws:kms:
같은 키 별칭 형식으로 ARN을 제공할 수도 있습니다.region
:account-id
:alias/alias-name
- 사용자 지정 AMI ID
-
암호화된 Amazon Elastic Block Store(Amazon EBS) Amazon EC2 인스턴스의 사용자 정의 Amazon Machine Image(AMI) ID입니다. 이 필드는 선택 사항입니다. AMI ID를 선택하거나 Enter AMI ID(AMI ID 입력)를 선택하고 사용자 지정 AMI ID를 입력하여 AMI ID를 제공합니다. 노트북 서버 스토리지를 암호화하는 방법에 대한 자세한 내용은 암호화 및 AMI 복사를 참조하십시오.
- 노트북 서버 태그
-
AWS CloudFormation 스택은 aws-glue-dev-endpoint 키 및 개발 엔드포인트 이름의 값에 항상 태그됩니다. AWS CloudFormation 스택에 더 많은 태그를 추가할 수 있습니다.
- EC2 인스턴스
-
노트북을 호스팅하기 위해 생성된 Amazon EC2 인스턴스의 이름입니다. 이것은 Amazon EC2 콘솔(https://console.aws.amazon.com/ec2/
)로 연결되는데 여기에서 인스턴스에 키 aws-glue-dev-endpoint 및 개발 엔드포인트의 이름 값이 태그로 지정됩니다. - CloudFormation 스택
-
노트북 서버를 생성하는 데 사용한 AWS CloudFormation 스택의 이름.
- SSH to EC2 서버 명령
-
이 명령을 터미널 창에 입력하여 노트북 서버를 실행하는 Amazon EC2 인스턴스에 연결합니다. 이 명령에 표시된 Amazon EC2 주소는 퍼블릭일 수도 프라이빗일 수도 있는데, 이는 [노트북 서버 EC2 인스턴스에 퍼블릭 IP 연결(Attach a public IP to the notebook server EC2 instance)]을 선택했는지 여부에 따라 다릅니다.
- 인증서 복사
-
Zeppelin 노트북 서버를 설정하는 데 필요한 키 스토어를 노트북 서버를 호스팅하는 Amazon EC2 인스턴스로 복사하는 scp 명령 예제입니다. Amazon EC2 프라이빗 키가 있는 디렉터리의 터미널 창에서 이 명령을 실행합니다. Amazon EC2 인스턴스에 액세스하기 위한 키는
-i
옵션의 파라미터입니다.path-to-keystore-file
을 제공할 수 있습니다. Amazon EC2 서버에서 개발 엔드포인트 프라이빗 SSH 키가 있는 위치는 명령의 나머지 부분이 있는 위치입니다. - HTTPS URL
-
노트북 서버 설정을 완료한 후에는 브라우저에서 이 URL을 입력하여 HTTPS를 통해 노트북에 연결합니다.