공용 IP 주소 없이 간소화된 노드 통신 풀 만들기

참고 항목

이렇게 하면 공용 IP 주소가 없는 Azure Batch 풀의 이전 미리 보기 버전이 대체됩니다. 이 새 버전에서는 간소화된 컴퓨팅 노드 통신을 사용해야 합니다.

Important

Azure Batch에서 공용 IP 주소가 없는 풀에 대한 지원은 현재 일부 지역에서 사용할 수 있습니다.

Azure Batch 풀을 만들 때 공용 IP 주소를 사용하지 않고 VM(가상 머신) 구성 풀을 프로비저닝 할 수 있습니다. 이 문서에서는 공용 IP 주소를 사용하지 않고 Batch 풀을 설정하는 방법을 설명합니다.

공용 IP 주소가 없는 풀을 사용해야 하는 이유는 무엇인가요?

기본값으로 Azure Batch VM 구성 풀의 모든 컴퓨팅 노드에는 공용 IP 주소가 할당됩니다. 이 주소는 Batch 서비스에서 인터넷의 컴퓨팅 노드에 대한 인바운드 액세스뿐만 아니라 인터넷에 대한 아웃바운드 액세스를 지원하는 데 사용됩니다.

이러한 노드에 대한 액세스를 제한하고 인터넷에서 이러한 노드의 검색 가능성을 줄이기 위해 공용 IP 없이 풀을 프로비전할 수 있습니다.

필수 조건

Important

필수 구성 요소가 이 기능의 이전 미리 보기 버전에서 변경되었습니다. 계속하기 전에 각 항목에서 변경 내용을 검토해야 합니다.

  • 간소화된 컴퓨팅 노드 통신을 사용합니다. 자세한 내용은 간소화된 컴퓨팅 노드 통신 사용을 참조하세요.

  • Batch 클라이언트 API는 Microsoft Entra 인증을 사용해야 합니다. Microsoft Entra ID에 대한 Azure Batch 지원은 Active Directory를 사용하여 Batch 서비스 솔루션 인증에 설명되어 있습니다.

  • Azure VNet(가상 네트워크)에서 풀을 만들고 이러한 요구 사항 및 구성을 따릅니다. 하나 이상의 서브넷으로 VNet을 미리 준비하기 위해 Azure Portal, Azure PowerShell, Azure CLI(Azure 명령줄 인터페이스) 또는 기타 방법을 사용할 수 있습니다.

    • VNet은 풀을 만들 때 사용한 Batch 계정과 동일한 구독 및 지역에 있어야 합니다.

    • 풀에 대해 지정한 서브넷에는 풀에 대상이 되는 VM 수를 수용할 만큼 충분한 할당되지 않은 IP 주소가 있어야 합니다. 즉 풀의 targetDedicatedNodestargetLowPriorityNodes 속성 합계입니다. 서브넷에 할당되지 않은 IP 주소가 충분하지 않으면 풀은 컴퓨팅 노드를 부분적으로 할당하고 크기 조정 오류를 반환합니다.

    • 프라이빗 엔드포인트를 사용하려고 하는데 가상 네트워크에 프라이빗 엔드포인트 네트워크 정책이 사용하도록 설정된 경우, TCP/443을 사용하여 프라이빗 엔드포인트를 호스트하는 서브넷에 대한 인바운드 연결을 Batch 풀의 서브넷에서 허용해야 합니다.

  • Batch 노드 관리에 아웃바운드 액세스를 사용하도록 설정합니다. 공용 IP 주소가 없는 풀에는 기본적으로 인터넷 아웃바운드 액세스가 사용되지 않습니다. 컴퓨팅 노드가 Batch 노드 관리 서비스에 액세스할 수 있도록 허용하려면(간소화된 컴퓨팅 노드 통신 사용 참조) 다음 중 한 가지 옵션을 선택합니다.

    • 가상 네트워크에서 Batch 노드 관리 서비스에 대한 프라이빗 액세스를 제공하는 배치 계정에서 nodeManagement 프라이빗 엔드포인트를 사용합니다. 이 솔루션은 기본 설정되는 방법입니다.

    • 또는 사용자 고유의 인터넷 아웃바운드 액세스 지원을 제공합니다(인터넷에 대한 아웃바운드 액세스 참조).

Important

배치 계정이 있는 프라이빗 엔드포인트에는 두 개의 하위 리소스가 있습니다. 공용 IP 주소가 없는 Batch 풀은 nodeManagement 프라이빗 엔드포인트를 사용합니다. 자세한 내용은 Azure Batch 계정에서 프라이빗 엔드포인트 사용을 참조하세요.

현재 제한 사항

  1. 공용 IP 주소가 없는 풀은 Cloud Services 구성이 아니라 가상 머신 구성을 사용해야 합니다.
  2. 공용 IP 주소가 없는 풀에서는 Batch 컴퓨팅 노드에 대한 사용자 지정 엔드포인트 구성이 작동하지 않습니다.
  3. 공용 IP 주소가 없기 때문에 이 유형의 풀에서 사용자 고유의 지정된 공용 IP 주소를 사용할 수 없습니다.
  4. Batch 작업에 대한 작업 인증 토큰은 지원되지 않습니다. 해결 방법은 관리 ID가 포함된 Batch 풀을 사용하는 것입니다.

Azure Portal에 공용 IP 주소가 없는 풀 만들기

  1. 필요한 경우 가상 네트워크에서 배치 계정에 대한 nodeManagement 프라이빗 엔드포인트를 만듭니다(사전 요구 사항의 아웃바운드 액세스 요구 사항 참조).
  2. Azure Portal에서 Batch 계정으로 이동합니다.
  3. 왼쪽의 설정 창에서 을 선택합니다.
  4. 창에서 추가 명령을 선택합니다.
  5. 풀 추가 창의 이미지 형식 드롭다운에서 사용할 옵션을 선택합니다.
  6. 이미지에 올바른 게시자/제품/SKU를 선택합니다.
  7. 노드 크기, 대상 전용 노드대상 스폿/낮은 우선 순위 노드 등 나머지 필수 설정을 지정합니다.
  8. 노드 통신 모드의 경우 선택적 설정에서 단순화를 선택합니다.
  9. 사용하려는 가상 네트워크와 서브넷을 선택합니다. 이 가상 네트워크는 만들려는 풀과 동일한 위치에 있어야 합니다.
  10. IP 주소 프로비저닝 유형에서 NoPublicIPAddresses를 선택합니다.

다음 스크린샷은 공용 IP 주소 없이 풀을 만들기 위해 수정해야 하는 요소를 보여 줍니다.

Screenshot of the Add pool screen with NoPublicIPAddresses selected.

Batch REST API를 사용하여 공용 IP 주소가 없는 풀을 만듭니다.

다음 예제에서는 Batch 서비스 REST API를 통해 공용 IP 주소를 사용하는 풀을 만드는 방법을 보여 줍니다.

REST API URI

POST {batchURL}/pools?api-version=2022-10-01.16.0
client-request-id: 00000000-0000-0000-0000-000000000000

요청 본문

"pool": {
     "id": "pool-npip",
     "vmSize": "standard_d2s_v3",
     "virtualMachineConfiguration": {
          "imageReference": {
               "publisher": "Canonical",
               "offer": "0001-com-ubuntu-server-jammy",
               "sku": "22_04-lts"
          },
          "nodeAgentSKUId": "batch.node.ubuntu 22.04"
     },
     "networkConfiguration": {
          "subnetId": "/subscriptions/<your_subscription_id>/resourceGroups/<your_resource_group>/providers/Microsoft.Network/virtualNetworks/<your_vnet_name>/subnets/<your_subnet_name>",
          "publicIPAddressConfiguration": {
               "provision": "NoPublicIPAddresses"
          }
     },
     "resizeTimeout": "PT15M",
     "targetDedicatedNodes": 2,
     "targetLowPriorityNodes": 0,
     "taskSlotsPerNode": 1,
     "taskSchedulingPolicy": {
          "nodeFillType": "spread"
     },
     "enableAutoScale": false,
     "enableInterNodeCommunication": false,
     "targetNodeCommunicationMode": "simplified"
}

ARM 템플릿을 사용하여 공용 IP 주소 없이 풀 만들기

Azure 빠른 시작 템플릿을 사용하면 ARM(Azure Resource Manager) 템플릿을 통해 공용 IP 주소 없이 풀을 만들 수 있습니다.

템플릿은 다음 리소스를 배포합니다.

  • Batch 노드 관리 엔드포인트에 대한 공용 네트워크 액세스를 차단하도록 구성된 IP 방화벽이 있는 Azure Batch 계정
  • 인터넷 아웃바운드 액세스를 차단하는 네트워크 보안 그룹이 있는 가상 네트워크
  • 계정의 Batch 노드 관리 엔드포인트에 액세스하기 위한 프라이빗 엔드포인트
  • 가상 네트워크에 연결된 프라이빗 DNS 영역을 사용하여 프라이빗 엔드포인트에 대한 DNS 통합
  • 공용 IP 주소 없이 가상 네트워크에 배포된 Batch 풀

ARM 템플릿 사용에 익숙하다면 Azure에 배포 단추를 선택합니다. 그러면 Azure Portal에서 템플릿이 열립니다.

Button to deploy the Resource Manager template to Azure.

참고 항목

잘못된 groupId "nodeManagement"로 인해 프라이빗 엔드포인트 배포에 실패한 경우 해당 지역이 지원 목록에 있고 단순화된 컴퓨팅 노드 통신을 사용하고 있는지 확인하세요. 올바른 지역을 선택하고 배포를 다시 시도합니다.

인터넷에 대한 아웃바운드 액세스

공용 IP 주소가 없는 풀에서는 가상 네트워크 NAT를 사용하는 등의 방법으로 네트워크 설정을 적절하게 구성하지 않는 한, 가상 머신에서 퍼블릭 인터넷에 액세스할 수 없습니다. NAT는 가상 네트워크의 가상 머신에서 인터넷에 대한 아웃바운드 액세스만 허용합니다. Batch로 만들어진 컴퓨팅 노드는 연결된 공용 IP 주소가 없기 때문에 퍼블릭으로 액세스할 수 없습니다.

아웃바운드 연결을 제공하는 또 다른 방법은 UDR(사용자 정의 경로)를 사용하는 것입니다. 이 방법은 공용 인터넷에 액세스 권한이 있는 프록시 머신(예: Azure Firewall)으로 트래픽을 라우팅할 수 있습니다.

Important

공용 IP 주소가 없는 간소화된 노드 통신 풀에 대해 만든 추가 네트워크 리소스(부하 분산 장치, 네트워크 보안 그룹)는 없습니다. 풀의 컴퓨팅 노드는 부하 분산 장치에 바인딩되지 않으므로 Azure는 기본 아웃바운드 액세스를 제공할 수 있습니다. 그러나 기본 아웃바운드 액세스는 프로덕션 워크로드에 적합하지 않으며 2025년 9월 30일에 사용 중지됩니다(공식 공지 사항 참조). 따라서 워크로드에 인터넷 아웃바운드 액세스가 필요하거나 풀이 프라이빗 엔드포인트를 사용하여 Batch 노드 관리 엔드포인트에 액세스하지 않는 경우 인터넷 아웃바운드 액세스를 사용하도록 설정하는 자체 솔루션을 제공해야 합니다.

문제 해결

Batch 풀에서 사용할 수 없는 컴퓨팅 노드

공용 IP 주소가 없는 Batch 풀에서 컴퓨팅 노드가 사용할 수 없는 상태로 실행되는 경우 가장 먼저 확인해야 할 중요한 사항은 Batch 노드 관리 서비스에 대한 아웃바운드 액세스를 확인하는 것입니다. 컴퓨팅 노드가 가상 네트워크에서 서비스에 연결할 수 있도록 올바르게 구성해야 합니다.

nodeManagement 프라이빗 엔드포인트를 사용하는 경우

Batch 계정에 대한 가상 네트워크에서 노드 관리 프라이빗 엔드포인트를 만든 경우:

  • 프라이빗 엔드포인트가 올바른 가상 네트워크에서 프로비전 성공 상태 및 승인 상태로 만들어지는지 확인합니다.
  • 배치 계정의 노드 관리 엔드포인트에 대해 DNS 구성이 올바르게 설정되었는지 확인합니다.
    • 프라이빗 엔드포인트가 자동 프라이빗 DNS 영역 통합을 사용하여 만들어진 경우 검사 DNS A 레코드가 프라이빗 DNS 영역 privatelink.batch.azure.com에 올바르게 구성되고 영역이 가상 네트워크에 연결됩니다.
    • 자체 DNS 솔루션을 사용하는 경우 Batch 노드 관리 엔드포인트에 대한 DNS 레코드가 올바르게 구성되었는지 확인하고 프라이빗 엔드포인트 IP 주소를 가리킵니다.
  • 계정의 배치 노드 관리 엔드포인트에 대한 DNS 해결 방법을 확인합니다. 가상 네트워크 내에서 nslookup <nodeManagementEndpoint>를 실행하여 확인할 수 있으며 DNS 이름은 프라이빗 엔드포인트 IP 주소로 확인되어야 합니다.
  • 가상 네트워크에 프라이빗 엔드포인트 네트워크 정책이 사용하도록 설정된 경우 Batch 풀과 프라이빗 엔드포인트의 서브넷에 대해 NSG 및 UDR을 확인합니다. 프라이빗 엔드포인트를 호스트하는 서브넷에 대한 TCP/443과의 인바운드 연결은 Batch 풀의 서브넷에서 허용되어야 합니다.
  • Batch 풀의 서브넷에서 기본 HTTPS 포트(443)를 사용하여 노드 관리 엔드포인트에 TCP ping을 실행합니다. 이 프로브는 프라이빗 링크 연결이 예상대로 작동하는지 알 수 있습니다.
# Windows
Test-TcpConnection -ComputeName <nodeManagementEndpoint> -Port 443
# Linux
nc -v <nodeManagementEndpoint> 443

TCP ping이 실패하는 경우(예: 시간 초과) 일반적으로 프라이빗 링크 연결 문제이며 이 프라이빗 엔드포인트 리소스를 사용하여 Azure 지원 티켓을 생성할 수 있습니다. 그렇지 않은 경우 이 노드를 사용할 수 없는 문제를 일반 Batch 풀로 해결할 수 있으며 배치 계정으로 지원 티켓을 생성할 수 있습니다.

사용자 고유의 인터넷 아웃바운드 솔루션 사용

프라이빗 엔드포인트 대신 자체 인터넷 아웃바운드 솔루션을 사용하는 경우 노드 관리 엔드포인트에 TCP ping을 실행합니다. 작동하지 않는 경우 간소화된 컴퓨팅 노드 통신에 대한 세부 요구 사항에 따라 아웃바운드 액세스가 올바르게 구성되었는지 확인합니다.

컴퓨팅 노드 연결

공용 IP 주소가 없는 Batch 풀의 컴퓨팅 노드에 대한 인터넷 인바운드 액세스는 없습니다. 디버깅을 위해 컴퓨팅 노드에 액세스하려면 가상 네트워크 내에서 연결해야 합니다.

  • 가상 네트워크 내에서 jumpbox 컴퓨터를 사용한 다음 거기에서 컴퓨팅 노드에 연결합니다.
  • 또는 Azure Bastion과 같은 다른 원격 연결 솔루션을 사용해 보세요.
    • IP 기반 연결을 사용하는 가상 네트워크에서 Bastion을 만듭니다.
    • Bastion을 사용하여 IP 주소로 컴퓨팅 노드에 연결합니다.

컴퓨팅 노드에 연결 가이드에 따라 Batch 풀의 대상 컴퓨팅 노드에 대한 사용자 자격 증명 및 IP 주소를 얻을 수 있습니다.

공용 IP 풀 없음의 이전 미리 보기 버전에서 마이그레이션

Azure Batch 공용 IP 풀 없음의 이전 미리 보기 버전을 사용하는 기존 풀의 경우 가상 네트워크에서 만든 풀만 마이그레이션할 수 있습니다.

  1. 가상 네트워크에서 Batch 노드 관리를 위한 프라이빗 엔드포인트를 만듭니다.
  2. 풀의 노드 통신 모드를 단순화로 업데이트합니다.
  3. 풀을 0개의 노드로 스케일 아웃합니다.
  4. 풀을 다시 스케일 아웃합니다. 그런 다음, 풀이 새 버전으로 자동 마이그레이션됩니다.

다음 단계