次の方法で共有


パブリック IP アドレスなしで Batch プールを作成する (プレビュー)

警告

このプレビュー バージョンは 、2023 年 3 月 31 日に廃止され、 パブリック IP アドレスのない簡略化されたノード通信プールに置き換えられます。 詳細については、「 廃止移行ガイド」を参照してください。

重要

  • Azure Batch でのパブリック IP アドレスのないプールのサポートは、現在、フランス中部、東アジア、米国中西部、米国中南部、米国中西部 2、米国東部、北ヨーロッパ、米国東部 2、米国中部、西ヨーロッパ、米国中北部、米国西部、オーストラリア東部、東日本、西日本の各リージョンでパブリック プレビュー段階にあります。
  • このプレビュー バージョンはサービス レベル アグリーメントなしで提供されています。運用環境のワークロードに使用することはお勧めできません。 特定の機能はサポート対象ではなく、機能が制限されることがあります。
  • 詳しくは、Microsoft Azure プレビューの追加使用条件に関するページをご覧ください。

Azure Batch プールを作成するときに、パブリック IP アドレスなしで仮想マシン構成プールをプロビジョニングできます。 この記事では、パブリック IP アドレスを使用せずに Batch プールを設定する方法について説明します。

パブリック IP アドレスのないプールを使用する理由

既定では、Azure Batch 仮想マシン構成プール内のすべてのコンピューティング ノードにパブリック IP アドレスが割り当てられます。 このアドレスは、Batch サービスによって、タスクのスケジュール設定や、インターネットへの送信アクセスを含むコンピューティング ノードとの通信に使用されます。

これらのノードへのアクセスを制限し、インターネットからのこれらのノードの探索可能性を低く抑えるには、パブリック IP アドレスのないプールをプロビジョニングできます。

[前提条件]

  • 認証仮想ネットワーク内でパブリック IP アドレスのないプールを使用するには、Batch クライアント API で Microsoft Entra 認証を使用する必要があります。 Microsoft Entra ID に対する Azure Batch のサポートについては、「 Microsoft Entra ID を使用した Azure Batch サービスの認証」に記載されています。 仮想ネットワーク内にプールを作成していない場合は、Microsoft Entra 認証またはキーベースの認証を使用できます。

  • Azure VNet仮想ネットワークにプールを作成する場合は、次の要件と構成に従います。 1 つ以上のサブネットを含む VNet を事前に準備するには、Azure portal、Azure PowerShell、Azure CLI、またはその他の方法を使用できます。

    • VNet は、プールの作成に使用する Batch アカウントと同じサブスクリプションとリージョンに存在する必要があります。

    • プールに指定するサブネットには、プールを対象とする VM の数に対応するために十分な未割り当て IP アドレスが必要です。つまり、プールの targetDedicatedNodes プロパティと targetLowPriorityNodes プロパティの合計です。 サブネットの未割り当て 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 は 1 つのプライベート リンク サービスと 1 つのロード バランサーを割り当てます。 これらのリソースは、サブスクリプションのリソース クォータによって制限されます。 大規模なプールの場合は、これらのリソースの 1 つ以上の クォータの引き上げを要求 する必要があります。 さらに、Batch によって作成されたリソースにはリソース ロックを適用しないでください。これは、プールの削除やサイズ変更をゼロに変更するなど、ユーザーが開始したアクションの結果としてリソースがクリーンアップされないようにするためです。

現在の制限

  1. パブリック IP アドレスのないプールでは、Cloud Services 構成ではなく仮想マシン構成を使用する必要があります。
  2. Batch コンピューティング ノードに対するカスタム エンドポイント構成は、パブリック IP アドレスのないプールでは機能しません。
  3. パブリック IP アドレスがないため、この種類のプールで独自に 指定されたパブリック IP アドレスを使用 することはできません。
  4. 基本的な VM サイズ は、パブリック IP アドレスのないプールでは機能しません。

Azure portal でパブリック IP アドレスのないプールを作成する

  1. Azure Portal の 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"
          }
     ]
}

重要

このドキュメントでは、サポート終了 (EOL) が近い、また既にサポートが終了した Linux のリリース バージョンを参照しています。 より新しいバージョンへの更新をご検討ください。

インターネットへの送信アクセス

パブリック IP アドレスのないプールでは、仮想ネットワーク NAT を使用するなど、ネットワークセットアップを適切に構成しない限り、 仮想マシンはパブリック インターネットにアクセスできません。 NAT では、仮想ネットワーク内の仮想マシンからのインターネットへの送信アクセスのみが許可されます。 バッチ作成されたコンピューティング ノードにはパブリック IP アドレスが関連付けられていないため、パブリックにアクセスできません。

送信接続を提供するもう 1 つの方法は、ユーザー定義ルート (UDR) を使用することです。 この方法では、パブリック インターネット アクセスを持つプロキシ マシンにトラフィックをルーティングできます。

次のステップ