次の方法で共有


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

警告

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

重要

  • 現在、次のリージョンでは、パブリック IP アドレスがない Azure Batch プールのサポートは、パブリックプレビュー段階にあります。フランス中部、東アジア、米国中西部、米国中南部、米国西部 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 数 (つまり、プールの targetDedicatedNodes および targetLowPriorityNodes プロパティの合計) に対応できる十分な未割り当て IP アドレスが必要です。 サブネットの未割り当て 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 個の専用ノードまたはスポット ノードごとに、プライベート リンク サービスが 1 つおよびロード バランサーが 1 つ、Batch によって割り当てられます。 これらのリソースは、サブスクリプションのリソース クォータによって制限されます。 大規模なプールでは、これらの 1 つまたは複数のリソースについて、クォータの引き上げの要求が必要になる場合があります。 また、Batch によって作成されたリソースにはリソース ロックを適用しないでください。そうしないと、プールの削除やゼロへのサイズ変更など、ユーザーが開始した操作の結果として、リソースのクリーンアップが妨げられるからです。

現在の制限

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

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

  1. Azure Portal の Batch アカウントに移動します。
  2. 左側の [設定] ウィンドウで、 [プール] を選択します。
  3. [プール] ウィンドウで、 [追加] を選択します。
  4. [プールの追加] ウィンドウで、 [イメージの種類] ドロップダウンから、使用する予定のオプションを選択します。
  5. ご利用のイメージの適切な [Publisher](パブリッシャー)、[Offer](プラン)、[SKU] を選択します。
  6. [ノード サイズ][ターゲットの専用ノード数][ターゲットのスポットまたは低優先度ノード] など、残りの必須の設定を指定し、オプションの設定も必要に応じて指定します。
  7. 必要に応じて、使用する仮想ネットワークとサブネットを選択します。 この仮想ネットワークは、作成するプールと同じリソース グループに存在する必要があります。
  8. [IP アドレスのプロビジョニングの種類] で、 [NoPublicIPAddresses] を選択します。

NoPublicIPAddresses が選択された [プールの追加] 画面のスクリーンショット。

Batch REST API を使用して、パブリック IP アドレスなしのプールを作成する

次の例では、Batch Service 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 では、仮想ネットワーク内の仮想マシンからインターネットへのアウトバウンド アクセスのみが許可されます。 Batch で作成されたコンピューティング ノードにはパブリックにアクセスすることはできません。パブリック IP アドレスが関連付けられていないためです。

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

次のステップ