特定のパブリック IP アドレスの Azure Batch プールを作成する
Azure Batch では、Azure 仮想ネットワーク (VNet) のサブネットに Batch プールを作成できます。 Batch プール内の仮想マシン (VM) には、Batch によって作成されるパブリック IP アドレスを使用してアクセスできます。 これらのパブリック IP アドレスは、プールの有効期間中に変化する可能性があります。 IP アドレスが最新の情報に更新されていない場合は、ネットワーク設定が古くなる可能性があります。
代わりに、プール内の VM で使用する静的パブリック IP アドレスの一覧を作成できます。 場合によっては、パブリック IP アドレスの一覧を制御して、予期せず変更されないようにすることが必要な場合があります。 たとえば、特定の IP アドレスへのアクセスを制限するデータベースなどの外部サービスを使用している場合があります。
パブリック IP アドレスのないプールを作成する方法については、「パブリック IP アドレスのない Azure Batch プールを作成する」を参照してください。
前提条件
- Batch クライアント API は、パブリック IP アドレスを使用するために Microsoft Entra 認証 を使用する必要があります。
- プールと IP アドレスを作成するのと同じサブスクリプションの Azure VNet。 Azure Resource Manager ベースの VNet のみを使用できます。 VNet が一般的な VNet 要件をすべて満たしていることを確認してください。
- 少なくとも 1 つの既存の Azure パブリック IP アドレス。 パブリック IP アドレスの要件に従って、IP アドレスを作成して構成します。
Note
パブリック IP アドレスを含んでいるリソース グループには、Batch によって自動的に追加のネットワーク リソースが割り当てられます。 通常、専用のノード 100 台ごとに、1 つのネットワーク セキュリティ グループ (NSG) と 1 つのロード バランサーが Batch によって割り当てられます。 これらのリソースは、サブスクリプションのリソース クォータによって制限されます。 大規模なプールを使用する場合、これらの 1 つ以上のリソースについて、クォータの引き上げの要求が必要になる場合があります。
パブリック IP アドレス要件
次のいずれかの方法を使用して、1 つ以上のパブリック IP アドレスを作成します。
- Azure portal を使用します
- Azure コマンド ライン インターフェイス (Azure CLI) を使用します
- Azure PowerShell を使用します。
パブリック IP アドレスが次の要件を満たしていることを確認します。
- Batch プールのアカウントと同じサブスクリプションおよびリージョンにパブリック IP アドレスを作成します。
- [IP アドレスの割り当て] を [静的] に設定します。
- [SKU] を [Standard] に設定します。
- DNS 名を指定します。
- 他のリソースがこれらのパブリック IP アドレスを使用していないことを確認します。そうしないと、プールに割り当てエラーが発生する可能性があります。 VM 構成プールには、これらのパブリック IP アドレスのみを使用します。
- セキュリティ ポリシーまたはリソース ロックによって、ユーザーのパブリック IP アドレスへのアクセスが制限されないことを確認します。
- ターゲット VM の数に対応するために、プール用に十分なパブリック IP アドレスを作成します。
- この数は、少なくともプールの targetDedicatedNodes と targetLowPriorityNodes プロパティの合計と等しい必要があります。
- 十分な IP アドレスを作成しない場合、プールによって計算ノードが部分的に割り当てられ、サイズ変更エラーが発生します。
- Batch では、現時点で、100 台の VM ごとに 1 つのパブリック IP アドレスが使用されます。
- パブリック IP アドレスのバッファーも作成します。 バッファーは、Batch のスケールダウンのための内部最適化に役立ちます。 バッファーを使用すると、スケールアップまたはスケールダウンに失敗した後のスケールアップを迅速に実行することもできます。 次のいずれかの量のバッファー IP アドレスを追加することをお勧めします。より大きい方の数値を選んでください。
- 少なくとも 1 つの IP アドレスを追加します。
- または、プール内のパブリック IP アドレスの総数の約 10% を追加します。
重要
Batch プールを作成した後は、パブリック IP アドレスの一覧を追加または変更できません。 一覧を変更する場合は、プールを削除して再作成する必要があります。
パブリック IP アドレスで Batch プールを作成する
次の例では、Azure 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/<subId>/resourceGroups/<rgId>/providers/Microsoft.Network/virtualNetworks/<vNetId>/subnets/<subnetId>",
"publicIPAddressConfiguration": {
"provision": "usermanaged",
"ipAddressIds": [
"/subscriptions/<subId>/resourceGroups/<rgId>/providers/Microsoft.Network/publicIPAddresses/<publicIpId>"
]
},
"resizeTimeout":"PT15M",
"targetDedicatedNodes":5,
"targetLowPriorityNodes":0,
"taskSlotsPerNode":3,
"taskSchedulingPolicy": {
"nodeFillType":"spread"
},
"enableAutoScale":false,
"enableInterNodeCommunication":true,
"metadata": [ {
"name":"myproperty",
"value":"myvalue"
} ]
}