사용자 지정 DNS 서버에서 작업 영역을 사용하는 방법

프라이빗 엔드포인트에서 Azure Machine Learning 작업 영역을 사용하는 경우 DNS 이름 확인을 처리하는 여러 가지 방법이 있습니다. 기본적으로 Azure는 작업 영역 및 프라이빗 엔드포인트에 대한 이름 확인을 자동으로 처리합니다. 사용자 지정 DNS 서버를 대신 사용하는 경우 수동으로 DNS 항목을 만들거나 작업 영역에 대한 조건부 전달자를 사용해야 합니다.

Important

이 문서에서는 DNS 솔루션에 DNS 레코드를 수동으로 등록하려는 경우 이러한 항목에 대한 FQDN(정규화된 do기본 이름) 및 IP 주소를 찾는 방법을 설명합니다. 또한 이 문서에서는 FQDN을 올바른 IP 주소로 자동으로 확인하도록 사용자 지정 DNS 솔루션을 구성하는 방법에 대한 아키텍처 권장 사항을 제공합니다. 이 문서에서는 해당 항목의 DNS 레코드를 구성하는 방법에 관한 정보를 제공하지 않습니다. 레코드를 추가하는 방법에 대한 자세한 내용은 DNS 소프트웨어에 대한 설명서를 참조하세요.

이 문서는 Azure Machine Learning 워크플로 보안에 대한 시리즈의 일부입니다. 이 시리즈의 다른 문서를 참조하세요.

필수 조건

  • 사용자 고유의 DNS 서버를 사용하는 Azure Virtual Network입니다.

자동화된 DNS 서버 통합

소개

Azure Machine Learning과 자동화된 DNS 서버 통합을 사용하는 두 가지 일반적인 아키텍처가 있습니다.

아키텍처는 이러한 예제와 다를 수 있지만 참조 지점으로 사용할 수 있습니다. 두 예제 아키텍처 모두 잘못 구성될 수 있는 구성 요소를 식별하는 데 도움이 되는 문제 해결 단계를 제공합니다.

또 다른 옵션은 작업 영역이 포함된 Azure VNet(Virtual Network)에 연결하는 클라이언트의 파일을 수정 hosts 하는 것입니다. 자세한 내용은 호스트 파일 섹션을 참조하세요.

작업 영역 DNS 확인 경로

프라이빗 링크를 통해 지정된 Azure Machine Learning 작업 영역에 액세스하는 작업은 아래 나열된 다음 정규화된 도메인(작업 영역 FQDN이라고 함)과 통신하여 수행됩니다.

Azure 퍼블릭 지역:

  • <per-workspace globally-unique identifier>.workspace.<region the workspace was created in>.api.azureml.ms
  • <per-workspace globally-unique identifier>.workspace.<region the workspace was created in>.cert.api.azureml.ms
  • <compute instance name>.<region the workspace was created in>.instances.azureml.ms
  • ml-<workspace-name, truncated>-<region>-<per-workspace globally-unique identifier>.<region>.notebooks.azure.net
  • <managed online endpoint name>.<region>.inference.ml.azure.com - 관리형 온라인 엔드포인트에서 사용

21Vianet에서 운영하는 Microsoft Azure 지역:

  • <per-workspace globally-unique identifier>.workspace.<region the workspace was created in>.api.ml.azure.cn
  • <per-workspace globally-unique identifier>.workspace.<region the workspace was created in>.cert.api.ml.azure.cn
  • <compute instance name>.<region the workspace was created in>.instances.azureml.cn
  • ml-<workspace-name, truncated>-<region>-<per-workspace globally-unique identifier>.<region>.notebooks.chinacloudapi.cn
  • <managed online endpoint name>.<region>.inference.ml.azure.cn - 관리형 온라인 엔드포인트에서 사용

Azure 미국 정부 지역:

  • <per-workspace globally-unique identifier>.workspace.<region the workspace was created in>.api.ml.azure.us
  • <per-workspace globally-unique identifier>.workspace.<region the workspace was created in>.cert.api.ml.azure.us
  • <compute instance name>.<region the workspace was created in>.instances.azureml.us
  • ml-<workspace-name, truncated>-<region>-<per-workspace globally-unique identifier>.<region>.notebooks.usgovcloudapi.net
  • <managed online endpoint name>.<region>.inference.ml.azure.us - 관리형 온라인 엔드포인트에서 사용

정규화된 도메인은 작업 영역 프라이빗 링크 FQDN이라는 다음 정식 이름(CNAME)으로 확인됩니다.

Azure 퍼블릭 지역:

  • <per-workspace globally-unique identifier>.workspace.<region the workspace was created in>.privatelink.api.azureml.ms
  • ml-<workspace-name, truncated>-<region>-<per-workspace globally-unique identifier>.<region>.privatelink.notebooks.azure.net
  • <managed online endpoint name>.<per-workspace globally-unique identifier>.inference.<region>.privatelink.api.azureml.ms - 관리형 온라인 엔드포인트에서 사용

21Vianet에서 운영하는 Azure 지역:

  • <per-workspace globally-unique identifier>.workspace.<region the workspace was created in>.privatelink.api.ml.azure.cn
  • ml-<workspace-name, truncated>-<region>-<per-workspace globally-unique identifier>.<region>.privatelink.notebooks.chinacloudapi.cn
  • <managed online endpoint name>.<per-workspace globally-unique identifier>.inference.<region>.privatelink.api.ml.azure.cn - 관리형 온라인 엔드포인트에서 사용

Azure 미국 정부 지역:

  • <per-workspace globally-unique identifier>.workspace.<region the workspace was created in>.privatelink.api.ml.azure.us
  • ml-<workspace-name, truncated>-<region>-<per-workspace globally-unique identifier>.<region>.privatelink.notebooks.usgovcloudapi.net
  • <managed online endpoint name>.<per-workspace globally-unique identifier>.inference.<region>.privatelink.api.ml.azure.us - 관리형 온라인 엔드포인트에서 사용

FQDN은 해당 지역에 있는 Azure Machine Learning 작업 영역의 IP 주소로 확인됩니다. 그러나 가상 네트워크에서 호스트되는 사용자 지정 DNS 서버를 사용하여 작업 영역 Private Link FQDN의 확인을 재정의할 수 있습니다. 이 아키텍처의 예는 VNET에서 호스팅되는 사용자 지정 DNS 서버 예를 참조하세요.

참고 항목

관리되는 온라인 엔드포인트는 작업 영역의 프라이빗 엔드포인트를 공유합니다. 프라이빗 DNS 영역에 DNS 레코드를 수동으로 추가하는 경우 작업 영역 privatelink.api.azureml.ms아래의 모든 엔드포인트를 프라이빗 엔드포인트로 라우팅하기 위해 wild카드 *.<per-workspace globally-unique identifier>.inference.<region>.privatelink.api.azureml.ms 가 있는 레코드를 추가해야 합니다.

수동 DNS 서버 통합

이 섹션에서는 DNS 서버에서 A 레코드를 만들 정규화된 Do기본 및 A 레코드의 값을 설정할 IP 주소에 대해 설명합니다.

프라이빗 엔드포인트 FQDN 검색

Azure 공용 지역

다음 목록에는 Azure 퍼블릭 클라우드에 있는 경우 작업 영역에서 사용하는 FQDN(정규화된 do기본 이름)이 포함되어 있습니다.

  • <workspace-GUID>.workspace.<region>.cert.api.azureml.ms

  • <workspace-GUID>.workspace.<region>.api.azureml.ms

  • ml-<workspace-name, truncated>-<region>-<workspace-guid>.<region>.notebooks.azure.net

    참고 항목

    이 FQDN의 작업 영역 이름은 잘려질 수 있습니다. 잘림은 ml-<workspace-name, truncated>-<region>-<workspace-guid>를 63자 이하로 유지하기 위해 수행됩니다.

  • <instance-name>.<region>.instances.azureml.ms

    참고 항목

    • 컴퓨팅 인스턴스는 가상 네트워크 내에서만 액세스할 수 있습니다.
    • 이 FQDN의 IP 주소가 컴퓨팅 인스턴스의 IP가 아닙니다. 대신 작업 영역 프라이빗 엔드포인트(*.api.azureml.ms 항목의 IP)의 개인 IP 주소를 사용합니다.
  • <managed online endpoint name>.<region>.inference.ml.azure.com - 관리형 온라인 엔드포인트에서 사용

21Vianet에서 운영하는 Microsoft Azure 지역

다음 FQDN은 21Vianet에서 운영하는 Microsoft Azure 지역용입니다.

  • <workspace-GUID>.workspace.<region>.cert.api.ml.azure.cn

  • <workspace-GUID>.workspace.<region>.api.ml.azure.cn

  • ml-<workspace-name, truncated>-<region>-<workspace-guid>.<region>.notebooks.chinacloudapi.cn

    참고 항목

    이 FQDN의 작업 영역 이름은 잘려질 수 있습니다. 잘림은 ml-<workspace-name, truncated>-<region>-<workspace-guid>를 63자 이하로 유지하기 위해 수행됩니다.

  • <instance-name>.<region>.instances.azureml.cn

    • 이 FQDN의 IP 주소가 컴퓨팅 인스턴스의 IP가 아닙니다. 대신 작업 영역 프라이빗 엔드포인트(*.api.azureml.ms 항목의 IP)의 개인 IP 주소를 사용합니다.
  • <managed online endpoint name>.<region>.inference.ml.azure.cn - 관리형 온라인 엔드포인트에서 사용

Azure 미국 정부

다음 FQDN은 Azure 미국 정부 지역에 대한 것입니다.

  • <workspace-GUID>.workspace.<region>.cert.api.ml.azure.us

  • <workspace-GUID>.workspace.<region>.api.ml.azure.us

  • ml-<workspace-name, truncated>-<region>-<workspace-guid>.<region>.notebooks.usgovcloudapi.net

    참고 항목

    이 FQDN의 작업 영역 이름은 잘려질 수 있습니다. 잘림은 ml-<workspace-name, truncated>-<region>-<workspace-guid>를 63자 이하로 유지하기 위해 수행됩니다.

  • <instance-name>.<region>.instances.azureml.us

    • 이 FQDN의 IP 주소가 컴퓨팅 인스턴스의 IP가 아닙니다. 대신 작업 영역 프라이빗 엔드포인트(*.api.azureml.ms 항목의 IP)의 개인 IP 주소를 사용합니다.
  • <managed online endpoint name>.<region>.inference.ml.azure.us - 관리형 온라인 엔드포인트에서 사용

IP 주소 찾기

VNet에서 FQDN의 내부 IP 주소를 찾으려면 다음 방법 중 하나를 사용합니다.

참고 항목

정규화된 do기본 이름 및 IP 주소는 구성에 따라 달라집니다. 예를 들어 do기본 이름의 GUID 값은 작업 영역에 따라 다릅니다.

  1. 프라이빗 엔드포인트 네트워크 인터페이스의 ID를 가져오려면 다음 명령을 사용합니다.

    az network private-endpoint show --name <endpoint> --resource-group <resource-group> --query 'networkInterfaces[*].id' --output table
    
  2. IP 주소 및 FQDN 정보를 얻으려면 다음 명령을 사용합니다. 이전 단계의 ID로 바꿉니다 <resource-id> .

    az network nic show --ids <resource-id> --query 'ipConfigurations[*].{IPAddress: privateIpAddress, FQDNs: privateLinkConnectionProperties.fqdns}'
    

    출력은 다음 텍스트와 비슷합니다.

    [
        {
            "FQDNs": [
            "fb7e20a0-8891-458b-b969-55ddb3382f51.workspace.eastus.api.azureml.ms",
            "fb7e20a0-8891-458b-b969-55ddb3382f51.workspace.eastus.cert.api.azureml.ms"
            ],
            "IPAddress": "10.1.0.5"
        },
        {
            "FQDNs": [
            "ml-myworkspace-eastus-fb7e20a0-8891-458b-b969-55ddb3382f51.eastus.notebooks.azure.net"
            ],
            "IPAddress": "10.1.0.6"
        },
        {
            "FQDNs": [
            "*.eastus.inference.ml.azure.com"
            ],
            "IPAddress": "10.1.0.7"
        }
    ]
    

모든 메서드에서 반환되는 정보는 동일합니다. 리소스에 대한 FQDN 및 개인 IP 주소 목록입니다. 다음 예제는 Azure 퍼블릭 클라우드에서 제공됩니다.

FQDN IP 주소
fb7e20a0-8891-458b-b969-55ddb3382f51.workspace.eastus.api.azureml.ms 10.1.0.5
fb7e20a0-8891-458b-b969-55ddb3382f51.workspace.eastus.cert.api.azureml.ms 10.1.0.5
ml-myworkspace-eastus-fb7e20a0-8891-458b-b969-55ddb3382f51.eastus.notebooks.azure.net 10.1.0.6
*.eastus.inference.ml.azure.com 10.1.0.7

다음 표에는 21Vianet에서 운영하는 Microsoft Azure 지역의 IP 예가 나와 있습니다.

FQDN IP 주소
52882c08-ead2-44aa-af65-08a75cf094bd.workspace.chinaeast2.api.ml.azure.cn 10.1.0.5
52882c08-ead2-44aa-af65-08a75cf094bd.workspace.chinaeast2.cert.api.ml.azure.cn 10.1.0.5
ml-mype-pltest-chinaeast2-52882c08-ead2-44aa-af65-08a75cf094bd.chinaeast2.notebooks.chinacloudapi.cn 10.1.0.6
*.chinaeast2.inference.ml.azure.cn 10.1.0.7

다음 표에는 Azure US Government 지역의 예제 IP가 나와 있습니다.

FQDN IP 주소
52882c08-ead2-44aa-af65-08a75cf094bd.workspace.chinaeast2.api.ml.azure.us 10.1.0.5
52882c08-ead2-44aa-af65-08a75cf094bd.workspace.chinaeast2.cert.api.ml.azure.us 10.1.0.5
ml-mype-plt-usgovvirginia-52882c08-ead2-44aa-af65-08a75cf094bd.usgovvirginia.notebooks.usgovcloudapi.net 10.1.0.6
*.usgovvirginia.inference.ml.azure.us 10.1.0.7

참고 항목

관리되는 온라인 엔드포인트는 작업 영역 프라이빗 엔드포인트를 공유합니다. 프라이빗 DNS 영역 privatelink.api.azureml.ms에 DNS 레코드를 수동으로 추가하는 경우 와일드카드 *.<per-workspace globally-unique identifier>.inference.<region>.privatelink.api.azureml.ms가 있는 레코드를 추가하여 작업 영역 아래의 모든 엔드포인트를 프라이빗 엔드포인트로 라우팅해야 합니다.

사용자 지정 DNS 서버에서 레코드 만들기

FQDN 및 해당 IP 주소 목록을 수집하고 나면 구성된 DNS 서버에서 A 레코드 만들기를 계속 진행합니다. A 레코드를 만드는 방법을 확인하려면 DNS 서버에 대한 설명서를 참조하세요. 전체 FQDN에 고유한 영역을 만들고 영역 루트에 A 레코드를 만드는 것이 좋습니다.

예: VNet에서 호스트된 사용자 지정 DNS 서버

이 아키텍처는 일반적인 허브 및 스포크 가상 네트워크 토폴로지를 사용합니다. 하나의 가상 네트워크에는 DNS 서버가 포함되고 하나는 Azure Machine Learning 작업 영역 및 관련 리소스에 대한 프라이빗 엔드포인트를 포함합니다. 두 가상 네트워크 간에 유효한 경로가 있어야 합니다. 예를 들어 일련의 피어된 가상 네트워크를 통해

Diagram of custom DNS hosted in Azure topology

다음 단계에서는 이 토폴로지의 작동 방식을 설명합니다.

  1. 프라이빗 DNS 영역을 만들고 DNS 서버 Virtual Network에 연결합니다.

    사용자 지정 DNS 솔루션이 Azure Machine Learning 작업 영역에서 작동하도록 하는 첫 번째 단계는 다음 작업에 뿌리를 둔 두 개의 프라이빗 DNS 영역을 만드는 것입니다기본.

    Azure 퍼블릭 지역:

    • privatelink.api.azureml.ms
    • privatelink.notebooks.azure.net

    21Vianet에서 운영하는 Microsoft Azure 지역:

    • privatelink.api.ml.azure.cn
    • privatelink.notebooks.chinacloudapi.cn

    Azure 미국 정부 지역:

    • privatelink.api.ml.azure.us
    • privatelink.notebooks.usgovcloudapi.net

    참고 항목

    관리되는 온라인 엔드포인트는 작업 영역 프라이빗 엔드포인트를 공유합니다. 프라이빗 DNS 영역 privatelink.api.azureml.ms에 DNS 레코드를 수동으로 추가하는 경우 와일드카드 *.<per-workspace globally-unique identifier>.inference.<region>.privatelink.api.azureml.ms가 있는 레코드를 추가하여 작업 영역 아래의 모든 엔드포인트를 프라이빗 엔드포인트로 라우팅해야 합니다.

    프라이빗 DNS 영역을 만든 다음, DNS 서버 가상 네트워크에 연결해야 합니다. DNS 서버를 포함하는 Virtual Network입니다.

    프라이빗 DNS 영역은 영역 루트 범위 내의 모든 이름에 대한 이름 확인을 재정의합니다. 이 재정의는 프라이빗 DNS 영역이 연결된 모든 Virtual Network에 적용됩니다. 예를 들어 루팅된 privatelink.api.azureml.ms 프라이빗 DNS 영역이 Virtual Network foo에 연결된 경우 해결 bar.workspace.westus2.privatelink.api.azureml.ms 을 시도하는 Virtual Network foo의 모든 리소스는 영역에 나열된 레코드를 privatelink.api.azureml.ms 받습니다.

    그러나 프라이빗 DNS 영역에 나열된 레코드는 기본 Azure DNS Virtual Server IP 주소를 사용하여 do기본를 확인하는 디바이스에만 반환됩니다. 따라서 사용자 지정 DNS 서버는 네트워크 토폴로지 전체에 분산된 디바이스에 대해 수행기본을 확인합니다. 그러나 사용자 지정 DNS 서버는 Azure DNS 가상 서버 IP 주소에 대해 Azure Machine Learning 관련 도메인을 확인해야 합니다.

  2. DNS 서버 Virtual Network에 연결된 프라이빗 DNS 영역을 대상으로 하는 프라이빗 DNS 통합을 사용하여 프라이빗 엔드포인트를 만듭니다.

    다음 단계는 Azure Machine Learning 작업 영역에 대한 프라이빗 엔드포인트를 만드는 것입니다. 프라이빗 엔드포인트는 1단계에서 만든 두 프라이빗 DNS 영역을 모두 대상으로 합니다. 이렇게 하면 Azure Machine Learning Virtual Network의 프라이빗 엔드포인트를 통해 작업 영역과의 모든 통신이 수행됩니다.

    Important

    이 예제가 제대로 작동하려면 프라이빗 엔드포인트에 프라이빗 DNS 통합이 활성화되어 있어야 합니다.

  3. DNS 서버에서 조건부 전달자를 만들어 Azure DNS로 전달합니다.

    다음으로, Azure DNS Virtual Server에 대한 조건부 전달자를 만듭니다. 조건부 전달자는 DNS 서버가 항상 작업 영역과 관련된 FQDN에 대한 Azure DNS 가상 서버 IP 주소를 쿼리하도록 합니다. 즉, DNS 서버는 프라이빗 DNS 영역에서 해당 레코드를 반환합니다.

    조건부로 전달할 영역은 다음과 같습니다. Azure DNS 가상 서버 IP 주소는 168.63.129.16입니다.

    Azure 퍼블릭 지역:

    • api.azureml.ms
    • notebooks.azure.net
    • instances.azureml.ms
    • aznbcontent.net
    • inference.ml.azure.com - 관리형 온라인 엔드포인트에서 사용

    21Vianet에서 운영하는 Microsoft Azure 지역:

    • api.ml.azure.cn
    • notebooks.chinacloudapi.cn
    • instances.azureml.cn
    • aznbcontent.net
    • inference.ml.azure.cn - 관리형 온라인 엔드포인트에서 사용

    Azure 미국 정부 지역:

    • api.ml.azure.us
    • notebooks.usgovcloudapi.net
    • instances.azureml.us
    • aznbcontent.net
    • inference.ml.azure.us - 관리형 온라인 엔드포인트에서 사용

    Important

    사용자 지정 DNS 서버로 사용할 수 있는 많은 DNS 솔루션이 있으므로 DNS 서버에 대한 구성 단계는 여기에 포함되지 않습니다. 조건부 전달을 적절하게 구성하는 방법은 DNS 솔루션에 관한 설명서를 참조하세요.

  4. 작업 영역 도메인을 확인합니다.

    이 시점에 모든 설정이 완료됩니다. 이제 이름 확인에 DNS 서버를 사용하고 Azure Machine Learning 프라이빗 엔드포인트의 경로를 포함하는 모든 클라이언트는 작업 영역에 계속 액세스할 수 있습니다. 클라이언트는 먼저 DNS 서버에서 다음 FQDN의 주소를 쿼리하여 시작합니다.

    Azure 퍼블릭 지역:

    • <per-workspace globally-unique identifier>.workspace.<region the workspace was created in>.api.azureml.ms
    • ml-<workspace-name, truncated>-<region>-<per-workspace globally-unique identifier>.<region>.notebooks.azure.net
    • <managed online endpoint name>.<region>.inference.ml.azure.com - 관리형 온라인 엔드포인트에서 사용

    21Vianet에서 운영하는 Microsoft Azure 지역:

    • <per-workspace globally-unique identifier>.workspace.<region the workspace was created in>.api.ml.azure.cn
    • ml-<workspace-name, truncated>-<region>-<per-workspace globally-unique identifier>.<region>.notebooks.chinacloudapi.cn
    • <managed online endpoint name>.<region>.inference.ml.azure.cn - 관리형 온라인 엔드포인트에서 사용

    Azure 미국 정부 지역:

    • <per-workspace globally-unique identifier>.workspace.<region the workspace was created in>.api.ml.azure.us
    • ml-<workspace-name, truncated>-<region>-<per-workspace globally-unique identifier>.<region>.notebooks.usgovcloudapi.net
    • <managed online endpoint name>.<region>.inference.ml.azure.us - 관리형 온라인 엔드포인트에서 사용
  5. Azure DNS는 CNAME에 기본 작업 영역을 재귀적으로 확인합니다.

    DNS 서버는 Azure DNS의 4단계에서 FQDN을 확인합니다. Azure DNS는 1단계에 나열된 do기본 중 하나로 응답합니다.

  6. DNS 서버는 Azure DNS에서 CNAME 레코드를 기본 작업 영역을 재귀적으로 확인합니다.

    DNS 서버는 5단계에서 받은 CNAME을 재귀적으로 확인합니다. 3단계에서 조건부 전달자 설정이 있었기 때문에 DNS 서버는 확인을 위해 Azure DNS 가상 서버 IP 주소로 요청을 보냅니다.

  7. Azure DNS는 프라이빗 DNS 영역에서 레코드를 반환합니다.

    프라이빗 DNS 영역에 저장된 해당 레코드는 DNS 서버에 반환됩니다. 이는 Azure DNS 가상 서버가 프라이빗 엔드포인트의 IP 주소를 반환하는 것을 의미합니다.

  8. 사용자 지정 DNS 서버는 작업 영역 do기본 이름을 프라이빗 엔드포인트 주소로 확인합니다.

    궁극적으로 사용자 지정 DNS 서버는 이제 4단계에서 프라이빗 엔드포인트의 IP 주소를 클라이언트로 반환합니다. 이렇게 하면 Azure Machine Learning 작업 영역에 대한 모든 트래픽이 프라이빗 엔드포인트를 통해 수행됩니다.

문제 해결

가상 머신에서 작업 영역에 액세스할 수 없거나 가상 네트워크에서 컴퓨팅 리소스에 대한 작업이 실패하는 경우 다음 단계를 사용하여 원인을 식별합니다.

  1. 프라이빗 엔드포인트에서 작업 영역 FQDN을 찾습니다.

    다음 링크 중 하나를 사용하여 Azure Portal로 이동합니다.

    프라이빗 엔드포인트로 이동하여 Azure Machine Learning 작업 영역으로 이동합니다. 작업 영역 FQDN이 "개요" 탭에 나열됩니다.

  2. Virtual Network 토폴로지에서 컴퓨팅 리소스에 액세스:

    Azure Virtual Network 토폴로지에서 컴퓨팅 리소스에 대한 액세스를 계속합니다. 이렇게 하려면 허브 가상 네트워크와 피어링된 Virtual Network의 Virtual Machine에 액세스해야 할 수 있습니다.

  3. 작업 영역 FQDN을 확인합니다.

    명령 프롬프트, 셸 또는 PowerShell을 엽니다. 그런 다음 각 작업 영역 FQDN에 대해 다음 명령을 실행합니다.

    nslookup <workspace FQDN>

    각 nslookup의 결과는 프라이빗 엔드포인트의 두 개인 IP 주소 중 하나를 Azure Machine Learning 작업 영역으로 반환해야 합니다. 그렇지 않은 경우 사용자 지정 DNS 솔루션에 잘못 구성된 것이 있습니다.

    가능한 원인:

    • 문제 해결 명령을 실행하는 컴퓨팅 리소스가 DNS 확인을 위해 DNS 서버를 사용하지 않습니다.
    • 프라이빗 엔드포인트를 만들 때 선택한 프라이빗 DNS 영역은 DNS 서버 VNet에 연결되지 않습니다.
    • Azure DNS Virtual Server IP에 대한 조건부 전달자가 올바르게 구성되지 않았습니다.

예: 온-프레미스에서 호스트되는 사용자 지정 DNS 서버

이 아키텍처는 일반적인 허브 및 스포크 가상 네트워크 토폴로지를 사용합니다. ExpressRoute는 온-프레미스 네트워크에서 허브 가상 네트워크로 연결하는 데 사용됩니다. 사용자 지정 DNS 서버는 온-프레미스에서 호스트됩니다. 별도의 가상 네트워크에는 Azure Machine Learning 작업 영역 및 관련 리소스에 대한 프라이빗 엔드포인트가 포함됩니다. 이 토폴로지에서는 Azure DNS 가상 서버 IP 주소로 요청을 보낼 수 있는 DNS 서버를 호스팅하는 다른 가상 네트워크가 있어야 합니다.

Diagram of custom DNS hosted on-premises topology

다음 단계에서는 이 토폴로지의 작동 방식을 설명합니다.

  1. 프라이빗 DNS 영역을 만들고 DNS 서버 Virtual Network에 연결합니다.

    사용자 지정 DNS 솔루션이 Azure Machine Learning 작업 영역에서 작동하도록 하는 첫 번째 단계는 다음 작업에 뿌리를 둔 두 개의 프라이빗 DNS 영역을 만드는 것입니다기본.

    Azure 퍼블릭 지역:

    • privatelink.api.azureml.ms
    • privatelink.notebooks.azure.net

    21Vianet에서 운영하는 Microsoft Azure 지역:

    • privatelink.api.ml.azure.cn
    • privatelink.notebooks.chinacloudapi.cn

    Azure 미국 정부 지역:

    • privatelink.api.ml.azure.us
    • privatelink.notebooks.usgovcloudapi.net

    참고 항목

    관리되는 온라인 엔드포인트는 작업 영역 프라이빗 엔드포인트를 공유합니다. 프라이빗 DNS 영역 privatelink.api.azureml.ms에 DNS 레코드를 수동으로 추가하는 경우 와일드카드 *.<per-workspace globally-unique identifier>.inference.<region>.privatelink.api.azureml.ms가 있는 레코드를 추가하여 작업 영역 아래의 모든 엔드포인트를 프라이빗 엔드포인트로 라우팅해야 합니다.

    프라이빗 DNS 영역을 만든 후 DNS 서버를 포함하는 가상 네트워크인 DNS 서버 VNet에 연결해야 합니다.

    참고 항목

    가상 네트워크의 DNS 서버는 온-프레미스 DNS 서버와 별개입니다.

    프라이빗 DNS 영역은 영역 루트 범위 내의 모든 이름에 대한 이름 확인을 재정의합니다. 이 재정의는 프라이빗 DNS 영역이 연결된 모든 Virtual Network에 적용됩니다. 예를 들어 루팅된 privatelink.api.azureml.ms 프라이빗 DNS 영역이 Virtual Network foo에 연결된 경우 해결 bar.workspace.westus2.privatelink.api.azureml.ms 하려는 Virtual Network foo의 모든 리소스는 privatelink.api.azureml.ms 영역에 나열된 레코드를 받습니다.

    그러나 프라이빗 DNS 영역에 나열된 레코드는 기본 Azure DNS Virtual Server IP 주소를 사용하여 do기본를 확인하는 디바이스에만 반환됩니다. Azure DNS 가상 서버 IP 주소는 Virtual Network의 컨텍스트 내에서만 유효합니다. 온-프레미스 DNS 서버를 사용하는 경우 Azure DNS 가상 서버 IP 주소를 쿼리하여 레코드를 검색할 수 없습니다.

    이 동작을 해결하려면 가상 네트워크에 중간 DNS 서버를 만듭니다. 이 DNS 서버는 Azure DNS 가상 서버 IP 주소를 쿼리하여 가상 네트워크에 연결된 프라이빗 DNS 영역에 대한 레코드를 검색할 수 있습니다.

    온-프레미스 DNS 서버는 네트워크 토폴로지 전체에 분산된 디바이스에 대해 do기본를 확인하지만 DNS 서버에 대한 Azure Machine Learning 관련 작업을 기본 해결합니다. DNS 서버는 Azure DNS 가상 서버 IP 주소에서 이러한 작업을 기본 확인합니다.

  2. DNS 서버 Virtual Network에 연결된 프라이빗 DNS 영역을 대상으로 하는 프라이빗 DNS 통합을 사용하여 프라이빗 엔드포인트를 만듭니다.

    다음 단계는 Azure Machine Learning 작업 영역에 대한 프라이빗 엔드포인트를 만드는 것입니다. 프라이빗 엔드포인트는 1단계에서 만든 두 프라이빗 DNS 영역을 모두 대상으로 합니다. 이렇게 하면 Azure Machine Learning Virtual Network의 프라이빗 엔드포인트를 통해 작업 영역과의 모든 통신이 수행됩니다.

    Important

    이 예제가 제대로 작동하려면 프라이빗 엔드포인트에 프라이빗 DNS 통합이 활성화되어 있어야 합니다.

  3. DNS 서버에서 조건부 전달자를 만들어 Azure DNS로 전달합니다.

    다음으로, Azure DNS Virtual Server에 대한 조건부 전달자를 만듭니다. 조건부 전달자는 DNS 서버가 항상 작업 영역과 관련된 FQDN에 대한 Azure DNS 가상 서버 IP 주소를 쿼리하도록 합니다. 즉, DNS 서버는 프라이빗 DNS 영역에서 해당 레코드를 반환합니다.

    조건부로 전달할 영역은 다음과 같습니다. Azure DNS 가상 서버 IP 주소는 168.63.129.16입니다.

    Azure 퍼블릭 지역:

    • api.azureml.ms
    • notebooks.azure.net
    • instances.azureml.ms
    • aznbcontent.net
    • inference.ml.azure.com - 관리형 온라인 엔드포인트에서 사용

    21Vianet에서 운영하는 Microsoft Azure 지역:

    • api.ml.azure.cn
    • notebooks.chinacloudapi.cn
    • instances.azureml.cn
    • aznbcontent.net
    • inference.ml.azure.cn - 관리형 온라인 엔드포인트에서 사용

    Azure 미국 정부 지역:

    • api.ml.azure.us
    • notebooks.usgovcloudapi.net
    • instances.azureml.us
    • aznbcontent.net
    • inference.ml.azure.us - 관리형 온라인 엔드포인트에서 사용

    Important

    사용자 지정 DNS 서버로 사용할 수 있는 많은 DNS 솔루션이 있으므로 DNS 서버에 대한 구성 단계는 여기에 포함되지 않습니다. 조건부 전달을 적절하게 구성하는 방법은 DNS 솔루션에 관한 설명서를 참조하세요.

  4. 온-프레미스 DNS 서버에서 DNS 서버에 전달할 조건부 전달자를 만듭니다.

    그런 다음, DNS 서버 가상 네트워크의 DNS 서버에 대한 조건부 전달자를 만듭니다. 이 전달자는 1단계에 나열된 영역에 대한 것입니다. 이는 3단계와 비슷하지만 Azure DNS 가상 서버 IP 주소로 전달하는 대신 온-프레미스 DNS 서버가 DNS 서버의 IP 주소를 대상으로 합니다. 온-프레미스 DNS 서버가 Azure에 없으므로 프라이빗 DNS 영역의 레코드를 직접 확인할 수 없습니다. 이 경우 DNS 서버는 온-프레미스 DNS 서버에서 Azure DNS 가상 서버 IP로 요청을 프록시합니다. 이렇게 하면 온-프레미스 DNS 서버가 DNS 서버 Virtual Network에 연결된 프라이빗 DNS 영역에서 레코드를 검색할 수 있습니다.

    조건부로 전달할 영역은 다음과 같습니다. 전달할 IP 주소는 DNS 서버의 IP 주소입니다.

    Azure 퍼블릭 지역:

    • api.azureml.ms
    • notebooks.azure.net
    • instances.azureml.ms
    • inference.ml.azure.com - 관리형 온라인 엔드포인트에서 사용

    21Vianet에서 운영하는 Microsoft Azure 지역:

    • api.ml.azure.cn
    • notebooks.chinacloudapi.cn
    • instances.azureml.cn
    • inference.ml.azure.cn - 관리형 온라인 엔드포인트에서 사용

    Azure 미국 정부 지역:

    • api.ml.azure.us
    • notebooks.usgovcloudapi.net
    • instances.azureml.us
    • inference.ml.azure.us - 관리형 온라인 엔드포인트에서 사용

    Important

    사용자 지정 DNS 서버로 사용할 수 있는 많은 DNS 솔루션이 있으므로 DNS 서버에 대한 구성 단계는 여기에 포함되지 않습니다. 조건부 전달을 적절하게 구성하는 방법은 DNS 솔루션에 관한 설명서를 참조하세요.

  5. 작업 영역 도메인을 확인합니다.

    이 시점에 모든 설정이 완료됩니다. 이름 확인을 위해 온-프레미스 DNS 서버를 사용하고 Azure Machine Learning 프라이빗 엔드포인트에 대한 경로가 있는 모든 클라이언트는 작업 영역에 계속 액세스할 수 있습니다.

    클라이언트는 먼저 온-프레미스 DNS 서버에서 다음 FQDN의 주소를 쿼리하여 시작합니다.

    Azure 퍼블릭 지역:

    • <per-workspace globally-unique identifier>.workspace.<region the workspace was created in>.api.azureml.ms
    • ml-<workspace-name, truncated>-<region>-<per-workspace globally-unique identifier>.<region>.notebooks.azure.net
    • <managed online endpoint name>.<region>.inference.ml.azure.com - 관리형 온라인 엔드포인트에서 사용

    21Vianet에서 운영하는 Microsoft Azure 지역:

    • <per-workspace globally-unique identifier>.workspace.<region the workspace was created in>.api.ml.azure.cn
    • ml-<workspace-name, truncated>-<region>-<per-workspace globally-unique identifier>.<region>.notebooks.chinacloudapi.cn
    • <managed online endpoint name>.<region>.inference.ml.azure.cn - 관리형 온라인 엔드포인트에서 사용

    Azure 미국 정부 지역:

    • <per-workspace globally-unique identifier>.workspace.<region the workspace was created in>.api.ml.azure.us
    • ml-<workspace-name, truncated>-<region>-<per-workspace globally-unique identifier>.<region>.notebooks.usgovcloudapi.net
    • <managed online endpoint name>.<region>.inference.ml.azure.us - 관리형 온라인 엔드포인트에서 사용
  6. 온-프레미스 DNS 서버가 작업 영역 도메인을 재귀적으로 확인합니다.

    온-프레미스 DNS 서버는 DNS 서버 5단계의 FQDN을 확인합니다. 조건부 전달자 설정(4단계)이 있었으므로 온-프레미스 DNS 서버는 확인을 위해 DNS 서버로 요청을 보냅니다.

  7. DNS 서버가 작업 영역 도메인을 Azure DNS에서 CNAME으로 해결합니다.

    DNS 서버는 Azure DNS의 5단계에서 FQDN을 확인합니다. Azure DNS는 1단계에 나열된 do기본 중 하나로 응답합니다.

  8. 온-프레미스 DNS 서버는 DNS 서버에서 CNAME 레코드를 기본 작업 영역을 재귀적으로 확인합니다.

    온-프레미스 DNS 서버는 7단계에서 받은 CNAME을 재귀적으로 확인합니다. 4단계에서 조건부 전달자 설정이 있었기 때문에 온-프레미스 DNS 서버는 확인을 위해 DNS 서버에 요청을 보냅니다.

  9. DNS 서버는 Azure DNS에서 CNAME 레코드를 기본 작업 영역을 재귀적으로 확인합니다.

    DNS 서버는 7단계에서 받은 CNAME을 재귀적으로 확인합니다. 3단계에서 조건부 전달자 설정이 있었기 때문에 DNS 서버는 확인을 위해 Azure DNS 가상 서버 IP 주소로 요청을 보냅니다.

  10. Azure DNS는 프라이빗 DNS 영역에서 레코드를 반환합니다.

    프라이빗 DNS 영역에 저장된 해당 레코드는 DNS 서버로 반환됩니다. 즉, Azure DNS 가상 서버가 프라이빗 엔드포인트의 IP 주소를 반환합니다.

  11. 온-프레미스 DNS 서버는 작업 영역의 이름을 프라이빗 엔드포인트 주소로 기본 확인합니다.

    8단계의 온-프레미스 DNS 서버에서 DNS 서버로의 쿼리는 궁극적으로 프라이빗 엔드포인트와 연결된 IP 주소를 Azure Machine Learning 작업 영역으로 반환합니다. 이러한 IP 주소는 원래 클라이언트로 반환되며, 이제 1단계에서 구성된 프라이빗 엔드포인트를 통해 Azure Machine Learning 작업 영역과 통신합니다.

    Important

    VNet의 사용자 지정 DNS 서버 IP와 함께 이 설정에서 VPN Gateway를 사용하는 경우 중단 없는 통신을 유지하려면 Azure DNS IP(168.63.129.16)도 목록에 추가해야 합니다.

예: 호스트 파일

hosts 파일은 Linux, macOS 및 Windows가 모두 로컬 컴퓨터의 이름 확인을 재정의하는 데 사용하는 텍스트 문서입니다. 파일에는 IP 주소 목록과 해당 호스트 이름이 포함됩니다. 로컬 컴퓨터에서 호스트 이름을 확인하려고 하면 호스트 이름이 파일에 나열된 hosts 경우 해당 IP 주소로 이름이 확인됩니다.

Important

파일은 hosts 로컬 컴퓨터의 이름 확인만 재정의합니다. 여러 컴퓨터에서 hosts 파일을 사용하려면 각 컴퓨터에서 개별적으로 수정해야 합니다.

다음 표에서는 파일의 위치를 나열합니다 hosts .

운영 체제 위치
Linux /etc/hosts
macOS /etc/hosts
Windows %SystemRoot%\System32\drivers\etc\hosts

파일 hosts 이름은 확장명을 사용하지 않습니다. 파일을 편집할 때 관리자 액세스를 사용합니다. 예를 들어 Linux 또는 macOS에서는 sudo vi를 사용할 수 있습니다. Windows에서 관리자 권한으로 메모장을 실행합니다.

다음은 Azure Machine Learning에 대한 hosts 파일 항목의 예입니다.

# For core Azure Machine Learning hosts
10.1.0.5    fb7e20a0-8891-458b-b969-55ddb3382f51.workspace.eastus.api.azureml.ms
10.1.0.5    fb7e20a0-8891-458b-b969-55ddb3382f51.workspace.eastus.cert.api.azureml.ms
10.1.0.6    ml-myworkspace-eastus-fb7e20a0-8891-458b-b969-55ddb3382f51.eastus.notebooks.azure.net

# For a managed online/batch endpoint named 'mymanagedendpoint'
10.1.0.7    mymanagedendpoint.eastus.inference.ml.azure.com

# For a compute instance named 'mycomputeinstance'
10.1.0.5    mycomputeinstance.eastus.instances.azureml.ms

파일에 대한 자세한 내용은 다음을 hosts 참조하세요 https://wikipedia.org/wiki/Hosts_(file).

종속성 서비스 DNS 확인

작업 영역에서 사용하는 서비스는 프라이빗 엔드포인트를 사용하여 보호될 수도 있습니다. 그렇다면 서비스와 직접 통신해야 하는 경우 사용자 지정 DNS 레코드를 만들어야 할 수 있습니다. 예를 들어, 작업 영역에서 사용하는 Azure Storage 계정의 데이터로 직접 작업하려는 경우입니다.

참고 항목

일부 서비스에는 하위 서비스 또는 기능에 대한 여러 프라이빗 엔드포인트가 있습니다. 예를 들어, Azure Storage 계정에는 Blob, 파일 및 DFS에 대한 개별 프라이빗 엔드포인트가 있을 수 있습니다. Blob 및 File 스토리지에 모두 액세스해야 하는 경우 각 특정 프라이빗 엔드포인트에 대해 확인을 사용하도록 설정해야 합니다.

서비스 및 DNS 확인에 대한 자세한 내용은 Azure 프라이빗 엔드포인트 DNS 구성을 참조하세요.

문제 해결

위의 단계를 실행한 후 가상 머신에서 작업 영역에 액세스할 수 없거나 프라이빗 엔드포인트가 포함된 Virtual Network의 컴퓨팅 리소스에서 Azure Machine Learning 작업 영역에 대한 작업이 실패하는 경우 아래 단계에 따라 원인을 파악합니다.

  1. 프라이빗 엔드포인트에서 작업 영역 FQDN을 찾습니다.

    다음 링크 중 하나를 사용하여 Azure Portal로 이동합니다.

    프라이빗 엔드포인트로 이동하여 Azure Machine Learning 작업 영역으로 이동합니다. 작업 영역 FQDN이 "개요" 탭에 나열됩니다.

  2. Virtual Network 토폴로지에서 컴퓨팅 리소스에 액세스:

    Azure Virtual Network 토폴로지에서 컴퓨팅 리소스에 대한 액세스를 계속합니다. 이렇게 하려면 허브 가상 네트워크와 피어링된 Virtual Network의 Virtual Machine에 액세스해야 할 수 있습니다.

  3. 작업 영역 FQDN을 확인합니다.

    명령 프롬프트, 셸 또는 PowerShell을 엽니다. 그런 다음 각 작업 영역 FQDN에 대해 다음 명령을 실행합니다.

    nslookup <workspace FQDN>

    각 nslookup의 결과는 프라이빗 엔드포인트의 두 개인 IP 주소 중 하나를 Azure Machine Learning 작업 영역에 생성해야 합니다. 그렇지 않은 경우 사용자 지정 DNS 솔루션에 잘못 구성된 것이 있습니다.

    가능한 원인:

    • 문제 해결 명령을 실행하는 컴퓨팅 리소스가 DNS 확인을 위해 DNS 서버를 사용하지 않습니다.
    • 프라이빗 엔드포인트를 만들 때 선택한 프라이빗 DNS 영역은 DNS 서버 VNet에 연결되지 않습니다.
    • DNS 서버에서 Azure DNS 가상 서버 IP로의 조건부 전달자가 올바르게 구성되지 않았습니다.
    • 온-프레미스 DNS 서버에서 DNS 서버로의 조건부 전달자가 올바르게 구성되지 않았습니다.

다음 단계

이 문서는 Azure Machine Learning 워크플로 보안에 대한 시리즈의 일부입니다. 이 시리즈의 다른 문서를 참조하세요.

프라이빗 엔드포인트를 DNS 구성에 통합하는 방법에 대한 자세한 내용은 Azure 프라이빗 엔드포인트 DNS 구성을 참조하세요.