SageMaker 노트북에서 대화형 세션 사용
SageMaker 노트북에서 대화형 세션을 실행하려면 단계에 따라 새 수명 주기 구성 및 SageMaker 노트북 인스턴스를 생성합니다.
기존 SageMaker 노트북 인스턴스에 설치
기존 SageMaker 노트북 인스턴스에 대화형 세션 설치는 현재 지원되지 않습니다. 기존 SageMaker 노트북 인스턴스에서 수명 주기 구성을 실행할 수 있지만, 기존 SageMaker 노트북 인스턴스에 대화형 세션을 설치하면 KernelSpec 관리자 클래스가 수정되어 다른 워크로드에 문제가 발생할 수 있습니다.
대화형 세션을 사용하여 새 수명 주기 구성 및 SageMaker 노트북 인스턴스 생성
SageMaker Console 설정
-
수명 주기 구성을 생성합니다.
-
SageMaker Console에서 수명 주기 구성(Lifecycle configurations) 페이지를 엽니다.
-
구성 생성(Create Configuration)을 선택합니다.
-
이름(Name) 필드에 'AWSGlueInteractiveSessionsPreview'를 입력합니다.
-
스크립트(Scripts) 섹션에서 노트북 생성(Create notebook) 탭을 선택합니다. 다음을 복사하여 텍스트 상자에 붙여 넣고 구성 만들기(Create configuration)를 선택합니다.
#!/bin/bash set -ex sudo -u ec2-user -i <<'EOF' ANACONDA_DIR=/home/ec2-user/anaconda3 # Create and Activate Conda Env echo "Creating glue_pyspark conda enviornment" conda create --name glue_pyspark python=3.7 ipykernel jupyter nb_conda -y echo "Activating glue_pyspark" source activate glue_pyspark # Install Glue Sessions to Env echo "Installing AWS Glue Sessions with pip" pip install aws-glue-sessions # Clone glue_pyspark to glue_scala. This is required because I had to match kernel naming conventions to their environments and couldn't have two kernels in one conda env. echo "Cloning glue_pyspark to glue_scala" conda create --name glue_scala --clone glue_pyspark # Remove python3 kernel from glue_pyspark rm -r ${ANACONDA_DIR}/envs/glue_pyspark/share/jupyter/kernels/python3 rm -r ${ANACONDA_DIR}/envs/glue_scala/share/jupyter/kernels/python3 # Copy kernels to Jupyter kernel env (Discoverable by conda_nb_kernel) echo "Copying Glue PySpark Kernel" cp -r ${ANACONDA_DIR}/envs/glue_pyspark/lib/python3.7/site-packages/aws_glue_interactive_sessions_kernel/glue_pyspark/ ${ANACONDA_DIR}/envs/glue_pyspark/share/jupyter/kernels/glue_pyspark/ echo "Copying Glue Spark Kernel" mkdir ${ANACONDA_DIR}/envs/glue_scala/share/jupyter/kernels cp -r ${ANACONDA_DIR}/envs/glue_scala/lib/python3.7/site-packages/aws_glue_interactive_sessions_kernel/glue_spark/ ${ANACONDA_DIR}/envs/glue_scala/share/jupyter/kernels/glue_spark/ echo "Changing Jupyter kernel manager from EnvironmentKernelSpecManager to CondaKernelSpecManager" JUPYTER_CONFIG=/home/ec2-user/.jupyter/jupyter_notebook_config.py sed -i '/EnvironmentKernelSpecManager/ s/^/#/' ${JUPYTER_CONFIG} echo "c.CondaKernelSpecManager.name_format='conda_{environment}'" >> ${JUPYTER_CONFIG} echo "c.CondaKernelSpecManager.env_filter='anaconda3$|JupyterSystemEnv$|/R$'" >> ${JUPYTER_CONFIG} EOF systemctl restart jupyter-server
-
-
새 수명 주기 구성을 사용하여 SageMaker 노트북 인스턴스를 생성합니다.
-
노트북 인스턴스(Notebook Instances)를 선택합니다.
-
노트북 인스턴스 생성을 선택합니다.
-
'노트북 인스턴스 이름(Notebook instance name)' 필드에 이름을 입력합니다.
-
플랫폼 식별자(Platform identifier)로 'notebook-al2-v1'을 선택합니다.
-
추가 구성(Additional configuration)을 선택하여 수명 주기 구성(Lifecycle configuration) - 선택 사항(optional) 드롭다운 메뉴를 표시합니다.
-
AWS GlueInteractiveSessionsPreview를 선택합니다.
-
권한 및 암호화(Permissions and encryption) 섹션에서 AWS Glue 대화형 세션을 실행하는 데 필요한 권한이 있는 IAM 역할을 선택합니다. 자세한 내용은 IAM을 사용하여 AWS Glue 대화형 세션 보호를 참조하세요.
-
필요에 따라 추가 옵션 선택을 완료합니다. 완료했으면 노트북 인스턴스 생성(Create notebook instance)을 선택합니다.
-
-
SageMaker 노트북 인스턴스에서 대화형 세션을 시작합니다.
-
노트북이 프로비저닝된 후 노트북 인스턴스 페이지에서 Jupyter Lab을 선택합니다.
-
노트북(Notebook) 섹션에서 conda_glue_pyspark 또는 conda_glue_scala 아이콘을 선택하여 새 노트북을 생성합니다.
-
-
코드 전에 셀에서 매직을 실행하여 AWS Glue 세션을 구성합니다. 사용 가능한 모든 매직을 찾으려면 첫 번째 셀에서
%help
를 실행합니다.~/.aws/configure
에서 구성하지 않은 경우%iam_role
을 실행합니다. -
대화형 세션을 구성하고 사용하는 방법에 대한 자세한 내용은 AWS Glue 대화형 세션 구성을 참조하세요.