共用方式為


建立不具公用 IP 位址的 Batch 集區 (預覽)

警告

此預覽版本將於 2023 年 3 月 31 日淘汰,並由沒有公用 IP 位址的簡化節點通訊集區取代。 如需詳細資訊,請參閱 淘汰移轉指南

重要事項

  • 下列區域已可支援 Azure Batch 中無公用 IP 位址的集區,並且是公開預覽狀態:法國中部、東亞、美國中西部、美國中南部、美國西部 2、美國東部、北歐、美國東部 2、美國中部、西歐、美國中北部、美國西部、澳大利亞東部、日本東部、日本西部。
  • 此預覽版本是在沒有服務等級協定的情況下提供,不建議用於生產工作負載。 可能不支援特定功能,或可能已經限制功能。
  • 如需詳細資訊,請參閱 Microsoft Azure 預覽版增補使用條款

當您建立 Azure Batch 集區時,您可以佈建虛擬機器設定集區,而不需要公用 IP 位址。 本文說明如何設定沒有公用 IP 位址的 Batch 集區。

為何要使用不具公用 IP 位址的集區?

根據預設,均會向 Azure Batch 虛擬機器設定集區的所有計算節點指派公用 IP 位址。 Batch 服務會使用此位址來排程工作以及與計算節點通訊,包括對網際網路的輸出存取。

若要限制存取這些節點,並減少在網際網路上發現這些節點的機會,您可以佈建不使用公用 IP 位址的集區。

Prerequisites

  • 驗證。 若要在虛擬網路內不使用公用IP位址的集區,Batch用戶端 API 必須使用 Microsoft Entra 驗證。 Azure Batch 支援 Microsoft Entra ID 記載於使用 Microsoft Entra ID 驗證 Azure Batch 服務中。 如果您未在虛擬網路內建立集區,可以使用 Microsoft Entra 驗證或密鑰型驗證。

  • Azure VNet。 如果您要在 虛擬網路中建立集區,請遵循這些需求和設定。 若要事先準備具有一個或多個子網路的 VNet,您可以使用 Azure 入口網站、Azure PowerShell、Azure CLI 或其他方法。

    • VNet 必須與您用來建立集區的 Batch 帳戶位於相同的訂用帳戶和區域中。

    • 針對集區指定的子網路必須有足夠的未指派 IP 位址,可容納目標設為集區的 VM 數目;也就是集區之 targetDedicatedNodestargetLowPriorityNodes 屬性的總和。 如果子網路沒有足夠的未指派 IP 位址,集區會局部配置計算節點,並發生調整大小錯誤。

    • 您必須停用私人連結服務和端點網路原則。 您可以使用 Azure CLI 來完成此動作:

      az network vnet subnet update --vnet-name <vnetname> -n <subnetname> --resource-group <resourcegroup> --disable-private-endpoint-network-policies --disable-private-link-service-network-policies

重要事項

針對每個 100 個專用或現成節點,Batch 會配置一個私人連結服務和一個負載平衡器。 這些資源會被訂用帳戶的資源配額所限制。 對於大型集區,建議您要求增加其中一或多項資源的配額。 此外,不應將資源鎖定套用至 Batch 所建立的任何資源,因為可能會由於使用者起始的動作 (例如刪除集區或調整大小至零) 而無法清除資源。

目前的限制

  1. 沒有公用 IP 位址的集區必須使用虛擬機器設定,而不是雲端服務設定。
  2. 用來批次計算節點的自訂端點設定不適用於沒有公用 IP 位址的集區。
  3. 因為沒有公用 IP 位址,所以您無法使用自己的指定公用 IP 位址搭配這種類型的集區。
  4. 基本 VM 大小不適用於沒有公用 IP 位址的集區。

在 Azure 入口網站中建立不含公用 IP 位址的集區

  1. 在 Azure 入口網站中瀏覽至您的 Batch 帳戶。
  2. 在左側的 [設定] 視窗中,選取 [集區]。
  3. 在 [集區] 視窗中,選取 [新增]。
  4. 在 [新增集區] 視窗上,從 [映像類型] 下拉式清單選取您要使用的選項。
  5. 針對映像選取正確的發行者/供應項目/SKU
  6. 指定其餘的必要設定,包括 [節點大小]、[目標專用節點] 和 [目標現成/低優先順序節點],以及所需的任何選擇性設定。
  7. 選擇性地選取您想要使用的虛擬網路和子網路。 此虛擬網路必須與您要建立的集區位於相同的資源群組中。
  8. 在 [IP 位址佈建類型] 中,選取 [NoPublicIPAddresses]。

新增集區畫面螢幕擷取畫面,其中已選取 NoPublicIPAddresses。

使用 Batch REST API 建立沒有公用 IP 位址的集區

下列範例示範如何使用 Batch 服務 REST API 來建立使用公用 IP 位址的集區。

REST API URI

POST {batchURL}/pools?api-version=2020-03-01.11.0
client-request-id: 00000000-0000-0000-0000-000000000000

要求本文

"pool": {
     "id": "pool2",
     "vmSize": "standard_a1",
     "virtualMachineConfiguration": {
          "imageReference": {
               "publisher": "Canonical",
               "offer": "UbuntuServer",
               "sku": "20.04-lts"
          },
          "nodeAgentSKUId": "batch.node.ubuntu 20.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": 5,
     "targetLowPriorityNodes": 0,
     "taskSlotsPerNode": 3,
     "taskSchedulingPolicy": {
          "nodeFillType": "spread"
     },
     "enableAutoScale": false,
     "enableInterNodeCommunication": true,
     "metadata": [
          {
               "name": "myproperty",
               "value": "myvalue"
          }
     ]
}

重要

本文件參考即將或接近或接近的Linux版本, (EOL) 。 請考慮更新為較最新的版本。

對網際網路的輸出存取

在沒有公用 IP 位址的集區中,除非您適當地設定網路設定,例如使用 虛擬網路 NAT,否則虛擬機器將無法存取公用網際網路。 NAT 只允許從虛擬網路中的虛擬機器對網際網路進行輸出存取。 Batch 建立的計算節點將無法公開存取,因為其沒有相關聯的公用 IP 位址。

提供輸出連線的另一種方式是使用使用者定義的路由 (UDR)。 這個方法可讓您將流量路由傳送至具有公用因特網存取的 Proxy 計算機。

下一步