Amazon EC2에서 호스팅되는 노트북 서버 생성 - AWS Glue

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:region:account-id:key/key-id 형식에서 ARN을 입력합니다. 또한 arn:aws:kms:region:account-id:alias/alias-name 같은 키 별칭 형식으로 ARN을 제공할 수도 있습니다.

사용자 지정 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를 통해 노트북에 연결합니다.