警告
このプレビュー バージョンは 、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 によって作成されたリソースにはリソース ロックを適用しないでください。これは、プールの削除やサイズ変更をゼロに変更するなど、ユーザーが開始したアクションの結果としてリソースがクリーンアップされないようにするためです。
現在の制限
- パブリック IP アドレスのないプールでは、Cloud Services 構成ではなく仮想マシン構成を使用する必要があります。
- Batch コンピューティング ノードに対するカスタム エンドポイント構成は、パブリック IP アドレスのないプールでは機能しません。
- パブリック IP アドレスがないため、この種類のプールで独自に 指定されたパブリック IP アドレスを使用 することはできません。
- 基本的な VM サイズ は、パブリック IP アドレスのないプールでは機能しません。
Azure portal でパブリック IP アドレスのないプールを作成する
- Azure Portal の Batch アカウントに移動します。
- 左側の [設定] ウィンドウで、[プール] を選択 します。
- [ プール ] ウィンドウで、[ 追加] を選択します。
- [ プールの追加 ] ウィンドウで、[ イメージの種類 ] ドロップダウンから使用するオプションを選択します。
- イメージの適切な 発行元/オファー/SKU を選択します。
- 残りの必要な設定 ( ノード サイズ、 ターゲット専用ノード、 ターゲット スポット/低優先度ノードなど) と、必要なオプション設定を指定します。
- 必要に応じて、使用する仮想ネットワークとサブネットを選択します。 この仮想ネットワークは、作成するプールと同じリソース グループ内に存在する必要があります。
- IP アドレスのプロビジョニングの種類で、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) を使用することです。 この方法では、パブリック インターネット アクセスを持つプロキシ マシンにトラフィックをルーティングできます。
次のステップ
- 仮想ネットワーク内でのプールの作成について詳細を説明します。
- Batch アカウントでプライベート エンドポイントを使用する方法について説明します。