Skip To Content

ArcGIS Notebook Server 리소스 관리

ArcGIS Notebook은 ArcGIS Notebook Server 사이트에서 실행 중인 머신의 리소스를 사용합니다. 이러한 리소스는 한정적이므로 ArcGIS Notebook Server에는 리소스 사용량을 제한하는 관리 설정이 있습니다.

ArcGIS Notebook Server는 가상화된 운영 체제인 컨테이너를 사용하여 각 Notebook 작성자의 환경을 분리합니다. 컨테이너를 통해 각 작성자는 다른 작업자에게 지장을 주는 작업 또는 리소스 사용 없이 서버 리소스의 부분집합을 사용할 수 있습니다. 이러한 컨테이너는 머신에서 실행되는 Docker 엔진을 통해 할당되고 관리됩니다.

컨테이너는 각 Notebook 작성자에게 하나씩 할당되며 Notebook을 처음 열 때 열립니다. Notebook 작성자는 자신의 컨테이너에서만 작업할 수 있으며 컨테이너에서 사용한 컴퓨터 리소스는 다른 컨테이너와 분리됩니다.

컨테이너가 열릴 때 컨테이너 이미지를 통해 가상 운영 체제와 설정이 구성됩니다. Esri에서 받은 2개의 컨테이너 이미지 중 하나가 사용됩니다.

해당 컨테이너 이미지에는 Python 모듈 및 종속성의 컬렉션인 Notebook 런타임이 포함되어 있습니다. 런타임에 포함되어 있는 모듈은 컨테이너에서 실행되는 각 Notebook에 제공됩니다.

사용되는 컨테이너 이미지는 다음과 같이 포털 내 Notebook 작성자의 권한에 따라 결정됩니다.

  • Notebook 생성 및 편집 권한만 부여받은 작성자의 컨테이너는 표준 컨테이너 이미지를 통해 불러옵니다. 해당 Notebook에 대한 Standard Notebook 런타임에는 ArcGIS API for Python과 수백 개의 서드 파티 Python 라이브러리가 포함되어 있습니다.
  • Advanced Notebook 권한도 부여받은 작성자의 컨테이너는 Advanced 컨테이너 이미지를 통해 불러옵니다. 해당 Notebook에 대한 기본 Notebook 런타임은 Advanced 런타임으로, Standard 런타임의 모든 모듈과 함께 ArcPy 및 관련 라이브러리가 포함되어 있습니다. 이러한 작성자에게는 개별 Notebook의 런타임을 지정할 수 있는 옵션이 제공되며 Notebook에 Standard 또는 Advanced 런타임을 사용할 수 있습니다.

기본 설정에 따라 컨테이너에는 일정한 용량의 RAM과 일정 개수의 CPU 코어 공유가 할당되어 있습니다. 이러한 기본 리소스 한도는 다음과 같이 컨테이너에서 실행되고 있는 런타임에 의해 지정됩니다.

  • 표준 런타임은 컨테이너당 1개의 CPU 코어와 4GB의 RAM을 할당합니다.
  • 고급 런타임은 컨테이너당 2개의 CPU 코어와 6GB의 RAM을 할당합니다.

ArcGIS Notebook Server 관리자는 사이트에서 작업 중인 Notebook 작성자 수와 각각의 작성자가 사용 중인 런타임을 모니터링합니다. 이러한 요인에 따라 ArcGIS Notebook Server의 리소스 한도 설정을 변경해야 할 수 있습니다.

ArcGIS Notebook Server 사이트의 리소스 한도 구성

ArcGIS Notebook Server Windows 배포의 경우 Notebook 컨테이너는 Microsoft Hyper-V 가상 서버에서 실행되고 있는 Linux 가상 머신(MobyLinuxVM) 내의 머신에서 호스팅됩니다. 컨테이너에서 사용할 수 있는 리소스 한도는 해당 Linux 가상 머신에 의해 결정됩니다.

Windows ArcGIS Notebook Server 아키텍처

따라서 Docker Desktop 설정 패널을 사용하여 ArcGIS Notebook Server와 서버 사이트에서 실행 중인 컨테이너에 제공되는 리소스를 제한할 수 있습니다.

  1. Windows 시스템 트레이의 Docker 아이콘을 마우스 오른쪽 버튼으로 클릭한 다음 설정 > 고급을 선택합니다.
  2. 다음 설정을 변경하는 데 사용할 수 있는 3개의 슬라이더가 나타납니다.
    • CPU: 머신의 컨테이너에 제공되는 CPU 코어 수입니다.
    • 메모리: 머신의 컨테이너에 제공되는 메모리 용량입니다.
    • 스왑: 위의 한도에 도달한 경우 컨테이너가 메모리에 사용할 수 있는 디스크 공간입니다.
  3. 리소스 한도가 적절히 설정되었다면 적용을 클릭합니다.

각 런타임에 사용되는 리소스 업데이트

관리자는 각 Notebook 런타임에 기본 설정에 따라 사용되는 리소스를 변경하여 컨테이너당 사용 가능한 최대 CPU와 메모리를 업데이트할 수 있습니다. 여러 사용자가 Notebook을 동시에 작성하고 있는 경우 ArcGIS Notebook Server 관리자 디렉터리를 사용하여 사이트의 사용 내역을 모니터링하고 필요에 따라 이러한 설정을 조정할 수 있습니다.

  1. ArcGIS Notebook Server 관리자 디렉터리에 로그인합니다. URL의 형식은 https://notebookserver.domain.com:11443/arcgis/admin입니다.
  2. Notebook > 런타임으로 이동합니다.
  3. 리소스 한도를 업데이트할 런타임(해당하는 경우 Standard 또는 Advanced)을 선택합니다.
  4. 해당 런타임의 maxCpu(코어 수 단위) 및 maxMemory(GB 단위) 값을 업데이트합니다.
  5. 런타임 업데이트를 클릭하여 확인합니다.

실행 중인 컨테이너 모니터링

ArcGIS Notebook Server 사이트의 각 컨테이너는 실행 중에 컴퓨팅 리소스를 사용하므로 사이트의 활성 컨테이너와 각 활동 수준을 정기적으로 모니터링해야 합니다. 사이트에서 실행 중인 컨테이너와 Notebook에 대한 정보는 ArcGIS Notebook Server 관리자 디렉터리의 리소스를 사용하여 확인할 수 있습니다.

실행 중인 컨테이너가 최근에 사용되지 않았거나 해당 컨테이너의 소유자가 Notebook 작업을 완료했다면 해당 디렉터리를 사용하여 컨테이너를 종료할 수 있습니다. 컨테이너를 종료하면 Notebook 포털 항목이 삭제되며 포털 구성원이 새 컨테이너를 열지 못하게 됩니다. 종료된 컨테이너는 메모리나 CPU를 더 이상 사용하지 않습니다.

  1. ArcGIS Notebook Server 관리자 디렉터리에 로그인합니다. URL의 형식은 https://notebookserver.domain.com:11443/arcgis/admin입니다.
  2. 시스템 > 컨테이너로 이동합니다.

    컨테이너 리소스 페이지에 실행 중인 각 컨테이너가 나열됩니다(컨테이너 소유자에 해당하는 포털 구성원의 사용자 이름이 괄호 안에 표시되어 있음).

  3. 컨테이너 링크를 클릭하면 해당 정보 리소스가 열립니다.

    컨테이너 리소스 페이지에서 해당 정보를 확인할 수 있습니다.

  4. 컨테이너 세션을 클릭하면 해당 컨테이너에서 실행 중인 Notebook 목록이 나타납니다.

    각 Notebook에는 모든 작업의 계산 엔진으로 사용되는 커널이 하나씩 있습니다. 각 커널의 last_activity에 제공된 값을 기록해 둡니다. 해당 값은 각 Notebook이 최근에 접근, 실행, 편집된 타임스탬프를 나타냅니다.

  5. 컨테이너가 실행 중이지만 사용되지 않은 것으로 확인되면 해당 컨테이너를 종료할 수 있습니다. 필요에 따라 컨테이너 리소스 페이지에서 컨테이너 종료를 클릭하고 작업을 확인합니다.

    이 경우 실행 중인 컨테이너가 중지되며 해당 작업은 되돌릴 수 없습니다. 포털 구성원이 다음에 ArcGIS Notebook을 열면 새 컨테이너가 열립니다.