AWS Glue 개발 엔드포인트로 지원되는 Amazon SageMaker 노트북 인스턴스를 시작할 수 없는 이유는 무엇입니까?

최종 업데이트 날짜: 2021년 12월 3일

AWS Glue 개발 엔드포인트로 지원되는 내 Amazon SageMaker 노트북 인스턴스의 시간이 초과되어 다음 오류가 발생합니다.

"Notebook Instance Lifecycle Config 'arn:aws:sagemaker:us-xxxx-x:xxxxxx:notebook-instance-lifecycle-config/mylifecycleconfig' for Notebook Instance 'arn:aws:sagemaker:us-xxxx-x:xxxxxx:notebook-instance/mynotebook' took longer than 5 minutes. Please check your CloudWatch logs for more details if your Notebook Instance has Internet access."

해결 방법

이 오류는 AWS Glue 개발 엔드포인트의 Apache Livy 서비스가 노트북이 실행되는 서버와 통신할 수 없음을 의미할 수 있습니다. 이 문제의 가장 일반적인 이유는 노트북에 연결된 수명 주기 구성이 존재하지 않는 개발 엔드포인트를 참조할 수 있기 때문입니다. SageMaker 수명 주기 스크립트는 개발 엔드포인트에서 실행되는 Livy 서버에 대해 REST API를 호출하도록 SparkMagic 플러그인을 구성하는 데 사용됩니다. 이러한 구성 요소가 함께 작동하는 방법에 대한 자세한 내용은 AWS Glue 개발 엔드포인트가 SageMaker 노트북에서 작동하는 방식을 참조하세요.

이 문제를 해결하려면 다음 문제 해결 옵션을 시도해 보십시오.

새로운 개발 엔드포인트 생성

사용 중인 엔드포인트와 동일한 이름 및 구성을 통해 새 AWS Glue 개발 엔드포인트를 생성합니다. 자세한 내용은 개발 엔드포인트 추가를 참조하세요.

노트북 인스턴스의 수명 주기 구성 업데이트

다음 조건 중 하나에 해당하는 경우 실패한 노트북 인스턴스의 수명 주기 구성을 업데이트해야 합니다.

  • 다른 이름으로 개발 엔드포인트를 생성했습니다.
  • 이전에 생성한 개발 엔드포인트를 사용하려고 합니다.

노트북의 수명 주기 구성을 업데이트하려면 다음을 수행합니다.

1.    SageMaker 콘솔을엽니다.

2.    탐색 창의 노트북(Notebook)에서 수명 주기 구성(Lifecycle configurations)을 선택합니다.

3.    실패한 노트북 인스턴스의 수명 주기 구성을 선택합니다.

4.    편집(Edit)을 선택합니다.

5.    스크립트(Script) 섹션에서 노트북 시작노트북 생성 스크립트 모두에 대하여 다음 명령의 개발 엔드포인트 이름을 생성한 엔드포인트(example_new_dev_endpoint)의 이름으로 변경합니다.

AWS Glue 개발 엔드포인트의 리전을 사용하여 명령에서 us-east-1을 업데이트해야 합니다.

aws glue get-dev-endpoint --endpoint-name example_new_dev_endpoint --endpoint https://glue.us-east-1.amazonaws.com

참고: 개발 엔드포인트 액세스에 필요한 권한이 SageMaker 노트북에 있는지 확인하십시오.

노트북 데이터 복구

SageMaker에 액세스할 수 있는 경우 노트북 복구를 고려할 수 있지만 새 개발 엔드포인트를 생성할 수는 없습니다.

노트북 데이터를 복구하려면 다음 단계를 수행하십시오.

  1. SageMaker 콘솔을 엽니다.
  2. 탐색 창의 노트북(Notebook)에서 노트북 인스턴스(Notebook instances)를 선택합니다.
  3. 복구할 노트북을 선택합니다.
  4. 노트북 상태가 중지됨(Stopped) 이 아닌 경우 작업(Actions) 을 선택한 다음 중지(Stop)를 선택하여 노트북 인스턴스를 중지합니다.
    노트북 인스턴스 상태가 중지 중(Stopping)으로 변경되는 것을 확인할 수 있습니다. 상태가 중지됨(Stopped)으로 변경될 때까지 기다렸다가 나머지 단계를 완료합니다.
  5. 작업(Actions)를 선택한 후 업데이트 설정(Update settings)을 선택합니다.
  6. 노트북 인스턴스 편집(Edit notebook instance) 페이지의 추가 구성(Additional Configuration)에서 수명 주기 구성(Lifecycle configuration)에 대해 구성 없음(No configuration)을 선택합니다.
  7. 노트북 인스턴스 업데이트(Update Notebook Instance)를 선택합니다.

노트북 인스턴스 상태가 업데이트 중(Updating)으로 변경됩니다. 노트북 인스턴스 업데이트가 완료되면 상태가 중지됨(Stopped)으로 변경됩니다. 인스턴스를 시작하려면 시작(Start)을 선택합니다. 인스턴스가 시작된 후 Jupyter 및 JupyterLab에 액세스하여 스크립트와 데이터를 로컬로 다운로드할 수 있습니다. 하지만 AWS Glue 개발 엔드포인트에는 계속 연결할 수 없습니다.

중요: 나중에 데이터가 손실되지 않도록 스크립트를 GitHub 리포지토리에 연결할 수 있습니다.

참고: 라이브러리를 설치하려고 할 때 수명 주기 구성 시간이 초과되면 라이브러리를 설치하려 할 때 수명 주기 구성이 시간 초과된 경우, 수동으로 설치한 라이브러리가 Amazon SageMaker에서 유지되도록 하려면 어떻게 해야 합니까?를 참조하세요.