커스텀 학습용 NFS 공유 마운트

코드가 실행 중인 컨테이너에 네트워크 파일 시스템(NFS) 공유를 마운트하도록 커스텀 학습 작업을 구성할 수 있습니다. 이렇게 하면 작업이 로컬처럼 원격 파일에 액세스하여 높은 처리량과 짧은 지연 시간을 지원할 수 있습니다.

이 가이드에서는 커스텀 학습 작업을 실행할 때 NFS 공유를 마운트하는 방법을 보여줍니다.

시작하기 전에

  1. Virtual Private Cloud(VPC)에서 NFS 공유를 만듭니다. 인증 없이 공유에 액세스할 수 있어야 합니다.

    Filestore 인스턴스를 NFS 공유로 사용할 수 있습니다. Filestore를 사용 중이며 다음 단계에서 Vertex AI에 VPC 피어링을 사용할 계획인 경우 인스턴스를 만들 때 연결 모드로 비공개 서비스 액세스를 선택합니다. 예시를 보려면 Filestore 문서에서 인스턴스 만들기를 참조하세요.

  2. Vertex AI를 NFS 공유를 호스팅하는 VPC와 연결하려면 Vertex AI에 Private Service Connect 인터페이스 사용 (권장) 또는 VPC 네트워크 피어링 설정의 안내를 따르세요.

커스텀 학습을 위한 NFS 정보

NFS 공유를 마운트하는 커스텀 학습 작업을 만들 때 다음을 지정해야 합니다.

  • Vertex AI가 액세스할 네트워크 이름입니다. 네트워크 이름을 지정하는 방법은 커스텀 학습 작업 유형에 따라 달라집니다. 자세한 내용은 커스텀 학습 수행을 참조하세요.

  • WorkerPoolSpec 필드의 NFS 구성 다음 필드를 포함합니다.

    필드 설명
    nfsMounts.server NFS 서버의 IP 주소입니다. VPC에 있는 비공개 주소여야 합니다.
    nfsMounts.path NFS 공유 경로입니다. 이 경로는 /로 시작하는 절대 경로여야 합니다.
    nfsMounts.mountPoint 로컬 마운트 지점입니다. 올바른 UNIX 디렉터리 이름이어야 합니다. 예를 들어 로컬 마운트 지점이 sourceData면 학습 VM 인스턴스에서 /mnt/nfs/sourceData 경로를 지정합니다.

    자세한 내용은 컴퓨팅 리소스 지정 위치를 참조하세요.

예시: gcloud CLI를 사용하여 커스텀 작업 만들기

  1. 사전 빌드된 컨테이너의 Python 학습 애플리케이션 만들기에 설명된 단계에 따라 Vertex AI에서 실행할 학습 애플리케이션을 빌드합니다.

  2. 학습 작업의 PSA 또는 Private Service Connect 인터페이스 구성 마운트 설정을 설명하는 config.yaml이라는 파일을 만듭니다. 다음 형식 중 하나를 사용하세요.

Private Service Connect 인터페이스

  1. Private Service Connect 인터페이스를 사용하려면 다음 단계를 따르세요.

    pscInterfaceConfig:
         network_attachment: NETWORK_ATTACHMENT_NAME
    workerPoolSpecs:
        - machineSpec:
            machineType: MACHINE_TYPE
        replicaCount: 1
        pythonPackageSpec:
           executorImageUri: PYTHON_PACKAGE_EXECUTOR_IMAGE_URI or PRE_BUILT_CONTAINER_IMAGE_URI
           packageUris:
           -  PYTHON_PACKAGE_URIS
           pythonModule: PYTHON_MODULE
        nfsMounts:
          - server: NFS_SERVER_IP
          path: NFS_SHARE_NAME
          mountPoint: LOCAL_FOLDER
    

    다음을 바꿉니다.

    • NETWORK_ATTACHMENT_NAME: 네트워크 연결의 이름입니다.

    • MACHINE_TYPE: 가상 머신 유형의 식별자

    • PYTHON_PACKAGE_EXECUTOR_IMAGE_URI 또는 PRE_BUILT_CONTAINER_IMAGE_URI: 제공된 Python 패키지를 실행할 Artifact Registry의 컨테이너 이미지 URI입니다. Vertex AI는 사용자의 다양한 사용 사례를 충족시키기 위해 사전 설치된 패키지가 포함된 광범위한 실행자 이미지를 제공합니다.

    • PYTHON_PACKAGE_URIS: 학습 프로그램 및 종속 패키지를 구성하는 Python 패키지 파일을 지정하는 Cloud Storage URI의 쉼표로 구분된 목록. 패키지 URI의 최대 개수는 100개입니다.

    • PYTHON_MODULE: 패키지를 설치한 후 실행할 Python 모듈 이름

    • NFS_SERVER_IP: NFS 서버의 IP 주소

    • NFS_SHARE_NAME: NFS 공유 경로. /로 시작하는 절대 경로입니다.

    • LOCAL_FOLDER: 로컬 마운트 지점(UNIX 디렉터리 이름)

    네트워크 이름의 형식이 올바른지, 지정된 네트워크에 NFS 공유가 있는지 유의하세요.

  2. 커스텀 작업을 만들고 config.yaml 파일을 --config 매개변수에 전달합니다.

    gcloud ai custom-jobs create \
      --region=LOCATION \
      --display-name=JOB_NAME \
      --config=config.yaml
    

    다음을 바꿉니다.

    • LOCATION: 작업을 만들 리전 지정

    • JOB_NAME: 커스텀 작업의 이름

VPC 피어링

  1. 작업에서 VPC 피어링/PSA를 사용하도록 할지 여부를 지정합니다.

    network: projects/PROJECT_NUMBER/global/networks/NETWORK_NAME
    workerPoolSpecs:
        - machineSpec:
            machineType: MACHINE_TYPE
          replicaCount: 1
          pythonPackageSpec:
            executorImageUri: PYTHON_PACKAGE_EXECUTOR_IMAGE_URI or 
                  PRE_BUILT_CONTAINER_IMAGE_URI
            packageUris:
              -  PYTHON_PACKAGE_URIS
            pythonModule: PYTHON_MODULE
          nfsMounts:
            - server: NFS_SERVER_IP
              path: NFS_SHARE_NAME
              mountPoint: LOCAL_FOLDER
    

    다음을 바꿉니다.

    • PROJECT_NUMBER: Google Cloud 프로젝트의 프로젝트 ID

    • NETWORK_NAME: 비공개 또는 공유 VPC의 이름

    • MACHINE_TYPE: 가상 머신 유형의 식별자

    • PYTHON_PACKAGE_EXECUTOR_IMAGE_URI or PRE_BUILT_CONTAINER_IMAGE_URI: 제공된 Python 패키지를 실행할 Artifact Registry의 컨테이너 이미지 URI입니다. Vertex AI는 사용자의 다양한 사용 사례를 충족시키기 위해 사전 설치된 패키지가 포함된 광범위한 실행자 이미지를 제공합니다.

    • PYTHON_PACKAGE_URIS: 학습 프로그램 및 종속 패키지를 구성하는 Python 패키지 파일을 지정하는 Cloud Storage URI의 쉼표로 구분된 목록. 패키지 URI의 최대 개수는 100개입니다.

    • PYTHON_MODULE: 패키지를 설치한 후 실행할 Python 모듈 이름

    • NFS_SERVER_IP: NFS 서버의 IP 주소

    • NFS_SHARE_NAME: NFS 공유 경로. /로 시작하는 절대 경로입니다.

    • LOCAL_FOLDER: 로컬 마운트 지점(UNIX 디렉터리 이름)

    네트워크 이름의 형식이 올바른지, 지정된 네트워크에 NFS 공유가 있는지 유의하세요.

  2. 커스텀 작업을 만들고 config.yaml 파일을 --config 매개변수에 전달합니다.

    gcloud ai custom-jobs create \
      --region=LOCATION \
      --display-name=JOB_NAME \
      --config=config.yaml
    

다음을 바꿉니다.

  • LOCATION: 작업을 만들 리전 지정

  • JOB_NAME: 커스텀 작업의 이름

제한사항

  • VPC 내부의 IP 주소를 사용하여 NFS 공유를 마운트해야 합니다. 공개 URL은 사용할 수 없습니다.

  • 학습 작업은 인증 없이 NFS 공유를 마운트합니다. 사용자 이름과 비밀번호가 필요하면 작업이 실패합니다.

    데이터를 보호하려면 NFS 공유에 대해 권한을 설정하세요. Filestore를 사용하는 경우 Filestore 문서에서 액세스 제어를 참조하세요.

  • 서로 다른 VPC 네트워크에서 NFS 공유를 동시에 마운트하는 2개의 학습 작업을 실행할 수는 없습니다. 이는 네트워크 피어링 제한 때문입니다.