Microsoft.Batch batchAccounts/pools 2021-01-01

Bicep リソース定義

batchAccounts/pools リソースの種類は、次をターゲットとする操作と共にデプロイできます。

  • リソース グループの - リソース グループのデプロイ コマンド 参照

各 API バージョンで変更されたプロパティの一覧については、変更ログの参照してください。

リソースの形式

Microsoft.Batch/batchAccounts/pools リソースを作成するには、次の Bicep をテンプレートに追加します。

resource symbolicname 'Microsoft.Batch/batchAccounts/pools@2021-01-01' = {
  name: 'string'
  parent: resourceSymbolicName
  identity: {
    type: 'string'
    userAssignedIdentities: {
      {customized property}: {}
    }
  }
  properties: {
    applicationLicenses: [
      'string'
    ]
    applicationPackages: [
      {
        id: 'string'
        version: 'string'
      }
    ]
    certificates: [
      {
        id: 'string'
        storeLocation: 'string'
        storeName: 'string'
        visibility: [
          'string'
        ]
      }
    ]
    deploymentConfiguration: {
      cloudServiceConfiguration: {
        osFamily: 'string'
        osVersion: 'string'
      }
      virtualMachineConfiguration: {
        containerConfiguration: {
          containerImageNames: [
            'string'
          ]
          containerRegistries: [
            {
              password: 'string'
              registryServer: 'string'
              username: 'string'
            }
          ]
          type: 'DockerCompatible'
        }
        dataDisks: [
          {
            caching: 'string'
            diskSizeGB: int
            lun: int
            storageAccountType: 'string'
          }
        ]
        diskEncryptionConfiguration: {
          targets: [
            'string'
          ]
        }
        extensions: [
          {
            autoUpgradeMinorVersion: bool
            name: 'string'
            protectedSettings: any()
            provisionAfterExtensions: [
              'string'
            ]
            publisher: 'string'
            settings: any()
            type: 'string'
            typeHandlerVersion: 'string'
          }
        ]
        imageReference: {
          id: 'string'
          offer: 'string'
          publisher: 'string'
          sku: 'string'
          version: 'string'
        }
        licenseType: 'string'
        nodeAgentSkuId: 'string'
        nodePlacementConfiguration: {
          policy: 'string'
        }
        windowsConfiguration: {
          enableAutomaticUpdates: bool
        }
      }
    }
    displayName: 'string'
    interNodeCommunication: 'string'
    metadata: [
      {
        name: 'string'
        value: 'string'
      }
    ]
    mountConfiguration: [
      {
        azureBlobFileSystemConfiguration: {
          accountKey: 'string'
          accountName: 'string'
          blobfuseOptions: 'string'
          containerName: 'string'
          relativeMountPath: 'string'
          sasKey: 'string'
        }
        azureFileShareConfiguration: {
          accountKey: 'string'
          accountName: 'string'
          azureFileUrl: 'string'
          mountOptions: 'string'
          relativeMountPath: 'string'
        }
        cifsMountConfiguration: {
          mountOptions: 'string'
          password: 'string'
          relativeMountPath: 'string'
          source: 'string'
          username: 'string'
        }
        nfsMountConfiguration: {
          mountOptions: 'string'
          relativeMountPath: 'string'
          source: 'string'
        }
      }
    ]
    networkConfiguration: {
      endpointConfiguration: {
        inboundNatPools: [
          {
            backendPort: int
            frontendPortRangeEnd: int
            frontendPortRangeStart: int
            name: 'string'
            networkSecurityGroupRules: [
              {
                access: 'string'
                priority: int
                sourceAddressPrefix: 'string'
                sourcePortRanges: [
                  'string'
                ]
              }
            ]
            protocol: 'string'
          }
        ]
      }
      publicIPAddressConfiguration: {
        ipAddressIds: [
          'string'
        ]
        provision: 'string'
      }
      subnetId: 'string'
    }
    scaleSettings: {
      autoScale: {
        evaluationInterval: 'string'
        formula: 'string'
      }
      fixedScale: {
        nodeDeallocationOption: 'string'
        resizeTimeout: 'string'
        targetDedicatedNodes: int
        targetLowPriorityNodes: int
      }
    }
    startTask: {
      commandLine: 'string'
      containerSettings: {
        containerRunOptions: 'string'
        imageName: 'string'
        registry: {
          password: 'string'
          registryServer: 'string'
          username: 'string'
        }
        workingDirectory: 'string'
      }
      environmentSettings: [
        {
          name: 'string'
          value: 'string'
        }
      ]
      maxTaskRetryCount: int
      resourceFiles: [
        {
          autoStorageContainerName: 'string'
          blobPrefix: 'string'
          fileMode: 'string'
          filePath: 'string'
          httpUrl: 'string'
          storageContainerUrl: 'string'
        }
      ]
      userIdentity: {
        autoUser: {
          elevationLevel: 'string'
          scope: 'string'
        }
        userName: 'string'
      }
      waitForSuccess: bool
    }
    taskSchedulingPolicy: {
      nodeFillType: 'string'
    }
    taskSlotsPerNode: int
    userAccounts: [
      {
        elevationLevel: 'string'
        linuxUserConfiguration: {
          gid: int
          sshPrivateKey: 'string'
          uid: int
        }
        name: 'string'
        password: 'string'
        windowsUserConfiguration: {
          loginMode: 'string'
        }
      }
    ]
    vmSize: 'string'
  }
}

プロパティ値

batchAccounts/pools

名前 形容 価値
名前 リソース名

Bicepで子リソースの名前と種類 設定する方法を参照してください。
string (必須)

文字制限: 1 ~ 64

有効な文字:
英数字、アンダースコア、ハイフン。
Bicep では、子リソースの親リソースを指定できます。 このプロパティを追加する必要があるのは、子リソースが親リソースの外部で宣言されている場合のみです。

詳細については、「親リソースの外部 子リソース」を参照してください。
種類のリソースのシンボリック名: batchAccounts
同一性 バッチ プールに使用される ID の種類。 BatchPoolIdentity の
プロパティ プールに関連付けられているプロパティ。 PoolProperties

BatchPoolIdentity

名前 形容 価値
種類 バッチ プールに使用される ID の種類。 'None'
'UserAssigned' (必須)
userAssignedIdentities Batch プールに関連付けられているユーザー ID の一覧。 ユーザー ID ディクショナリ のキー参照は、'/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}' という形式の ARM リソース ID になります。 BatchPoolIdentityUserAssignedIdentities

BatchPoolIdentityUserAssignedIdentities

名前 形容 価値
{カスタマイズされたプロパティ} Components81XseeSchemasBatchpoolidentityPropertiesUs...

Components81XseeSchemasBatchpoolidentityPropertiesUs...

このオブジェクトには、配置時に設定するプロパティは含まれません。 すべてのプロパティは ReadOnly です。

PoolProperties

名前 形容 価値
applicationLicenses アプリケーション ライセンスの一覧は、使用可能な Batch サービス アプリケーション ライセンスのサブセットである必要があります。 サポートされていないライセンスが要求された場合、プールの作成は失敗します。 string[]
applicationPackages アプリケーション パッケージ参照に対する変更は、プールに参加しているすべての新しいコンピューティング ノードに影響しますが、再起動または再イメージ化されるまで、プール内に既に存在するコンピューティング ノードには影響しません。 特定のプールには、最大 10 個のアプリケーション パッケージ参照があります。 ApplicationPackageReference[]
証明 書 Windows コンピューティング ノードの場合、Batch サービスは、指定された証明書ストアと場所に証明書をインストールします。 Linux コンピューティング ノードの場合、証明書はタスク作業ディレクトリ内のディレクトリに格納され、この場所を照会するためにタスクにAZ_BATCH_CERTIFICATES_DIR環境変数が提供されます。 'remoteUser' の可視性を持つ証明書の場合、ユーザーのホーム ディレクトリ (/home/{user-name}/certs など) に 'certs' ディレクトリが作成され、そのディレクトリに証明書が配置されます。 CertificateReference[]
deploymentConfiguration CloudServiceConfiguration を使用すると、ノードは Azure Cloud Services (PaaS) を使用して作成する必要があり、VirtualMachineConfiguration では Azure Virtual Machines (IaaS) が使用されます。 DeploymentConfiguration
displayName 表示名は一意である必要はありません。最大長 1024 までの Unicode 文字を含めることができます。
interNodeCommunication これにより、プールに割り当てることができるノードに制限が適用されます。 この値を有効にすると、要求されたノード数がプールに割り当てられる可能性が低くなります。 指定しない場合、この値の既定値は "Disabled" になります。 'Disabled'
'Enabled'
metadata Batch サービスは、メタデータに意味を割り当てません。これは、ユーザー コードの使用のみを目的とします。 MetadataItem[]
mountConfiguration これにより、Azure Files、NFS、CIFS/SMB、Blobfuse がサポートされます。 MountConfiguration[]
networkConfiguration プールのネットワーク構成。 NetworkConfiguration
scaleSettings プールの目的のサイズを定義します。 これは、要求された targetDedicatedNodes が指定されている "fixedScale" か、定期的に再評価される数式を定義する 'autoScale' のいずれかです。 このプロパティを指定しない場合、プールは 0 targetDedicatedNodes を使用して固定スケールになります。 ScaleSettings
startTask PATCH (更新) 操作では、このプロパティを空のオブジェクトに設定して、プールから開始タスクを削除できます。 StartTask の
taskSchedulingPolicy 指定しない場合、既定値はスプレッドです。 TaskSchedulingPolicy
taskSlotsPerNode 既定値は 1 です。 最大値は、プールの vmSize または 256 のコア数の 4 倍の小さい値です。 int
userAccounts プール内の各ノードに作成するユーザー アカウントの一覧。 UserAccount[]
vmSize Cloud Services プール (cloudServiceConfiguration で作成されたプール) で使用可能な仮想マシンのサイズについては、「Cloud Services のサイズ (https://azure.microsoft.com/documentation/articles/cloud-services-sizes-specs/)」を参照してください。 Batch では、ExtraSmall を除くすべての Cloud Services VM サイズがサポートされます。 Virtual Machines Marketplace のイメージを使用するプールで使用可能な VM サイズ (virtualMachineConfiguration で作成されたプール) の詳細については、「Virtual Machines (Linux) のサイズ (/azure/virtual-machines/sizes-general)」または「Virtual Machines (Windows) のサイズ (https://azure.microsoft.com/documentation/articles/virtual-machines-windows-sizes/)」を参照してください。 Batch では、STANDARD_A0と Premium Storage (STANDARD_GS、STANDARD_DS、STANDARD_DSV2 シリーズ) を除くすべての Azure VM サイズがサポートされます。

ApplicationPackageReference

名前 形容 価値
身分証明書 インストールするアプリケーション パッケージの ID。 これは、プールと同じバッチ アカウント内にある必要があります。 これは、特定のバージョンへの参照でも、存在する場合は既定のバージョンでもかまいません。 string (必須)
バージョン これを省略し、このアプリケーションに既定のバージョンが指定されていない場合、要求はエラー コード InvalidApplicationPackageReferences で失敗します。 REST API を直接呼び出す場合、HTTP 状態コードは 409 です。

CertificateReference

名前 形容 価値
身分証明書 プールにインストールする証明書の完全修飾 ID。 これは、プールと同じバッチ アカウント内にある必要があります。 string (必須)
storeLocation 既定値は currentUser です。 このプロパティは、Windows ノードで構成されたプール (つまり、cloudServiceConfiguration で作成されたプール、または Windows イメージ参照を使用した virtualMachineConfiguration を使用して作成されたプール) にのみ適用されます。 Linux コンピューティング ノードの場合、証明書はタスク作業ディレクトリ内のディレクトリに格納され、この場所を照会するためにタスクにAZ_BATCH_CERTIFICATES_DIR環境変数が提供されます。 'remoteUser' の可視性を持つ証明書の場合、ユーザーのホーム ディレクトリ (/home/{user-name}/certs など) に 'certs' ディレクトリが作成され、そのディレクトリに証明書が配置されます。 'CurrentUser'
'LocalMachine'
storeName このプロパティは、Windows ノードで構成されたプール (つまり、cloudServiceConfiguration で作成されたプール、または Windows イメージ参照を使用した virtualMachineConfiguration を使用して作成されたプール) にのみ適用されます。 一般的なストア名には、My、Root、CA、Trust、Disallowed、TrustedPeople、TrustedPublisher、AuthRoot、AddressBook などがありますが、カスタム ストア名も使用できます。 既定値は My です。
可視 証明書のプライベート データにアクセスできるコンピューティング ノード上のユーザー アカウント。 次のいずれかを含む文字列配列:
'RemoteUser'
'StartTask'
'Task'

DeploymentConfiguration

名前 形容 価値
cloudServiceConfiguration このプロパティと virtualMachineConfiguration は相互に排他的であり、プロパティの 1 つを指定する必要があります。 batch アカウントが poolAllocationMode プロパティを 'UserSubscription' に設定して作成された場合、このプロパティを指定できません。 CloudServiceConfiguration
virtualMachineConfiguration このプロパティと cloudServiceConfiguration は相互に排他的であり、プロパティの 1 つを指定する必要があります。 VirtualMachineConfiguration

CloudServiceConfiguration

名前 形容 価値
osFamily 使用可能な値は 2 - OS ファミリ 2 で、Windows Server 2008 R2 SP1 に相当します。 3 - WINDOWS Server 2012 と同等の OS ファミリ 3。 4 - WINDOWS Server 2012 R2 と同等の OS ファミリ 4。 5 - Windows Server 2016 と同等の OS ファミリ 5。 6 - Windows Server 2019 と同等の OS ファミリ 6。 詳細については、「Azure ゲスト OS リリース (https://azure.microsoft.com/documentation/articles/cloud-services-guestos-update-matrix/#releases)」を参照してください。 string (必須)
osVersion 既定値は * で、指定した OS ファミリの最新のオペレーティング システム バージョンを指定します。

VirtualMachineConfiguration

名前 形容 価値
containerConfiguration 指定した場合、タスクをコンテナーで実行できるように、プール内の各ノードでセットアップが実行されます。 このプールで実行されるすべての通常のタスクとジョブ マネージャー タスクは containerSettings プロパティを指定する必要があり、他のすべてのタスクで指定できます。 ContainerConfiguration
dataDisks プール内のコンピューティング ノードに空のデータ ディスクが接続されている必要がある場合は、このプロパティを指定する必要があります。 DataDisk[]
diskEncryptionConfiguration 指定した場合、暗号化は、ノードのプロビジョニング中にプール内の各ノードで実行されます。 DiskEncryptionConfiguration
拡張 機能 指定した場合、この構成に記載されている拡張機能が各ノードにインストールされます。 VMExtension[]
imageReference カスタム仮想マシンの Azure Virtual Machines Marketplace イメージまたは Azure Image リソースへの参照。 Azure Batch によって検証されたすべての imageReferences の一覧を取得するには、「サポートされているノード エージェント SKU の一覧表示」操作を参照してください。 ImageReference (必須)
licenseType これは、Windows オペレーティング システムを含むイメージにのみ適用され、展開されるノードの有効なオンプレミス ライセンスを保持している場合にのみ使用する必要があります。 省略した場合、オンプレミスのライセンス割引は適用されません。 値は次のとおりです。

Windows_Server - オンプレミスライセンスは Windows Server 用です。
Windows_Client - オンプレミス ライセンスは Windows クライアント用です。
nodeAgentSkuId Batch ノード エージェントは、プール内の各ノードで実行されるプログラムであり、ノードと Batch サービスの間のコマンドおよび制御インターフェイスを提供します。 オペレーティング システムごとに、SKU と呼ばれるノード エージェントのさまざまな実装があります。 選択したイメージ参照に一致するノード エージェント SKU を指定する必要があります。 サポートされているノード エージェント SKU の一覧と検証済みイメージ参照の一覧を取得するには、「サポートされているノード エージェント SKU の一覧表示」操作を参照してください。 string (必須)
nodePlacementConfiguration この構成では、プール内のノードを物理的に割り当てる方法に関する規則を指定します。 NodePlacementConfiguration
windowsConfiguration imageReference で Linux OS イメージが指定されている場合は、このプロパティを指定しないでください。 WindowsConfiguration

ContainerConfiguration

名前 形容 価値
containerImageNames これは、"docker pull" に指定される完全なイメージ参照です。 イメージが代替レジストリで完全修飾されていない限り、イメージは既定の Docker レジストリから取得されます。 string[]
containerRegistries 資格情報を必要とするプライベート レジストリからイメージをダウンロードする必要がある場合は、これらの資格情報をここで指定する必要があります。 ContainerRegistry[]
種類 使用するコンテナー テクノロジ。 'DockerCompatible' (必須)

ContainerRegistry

名前 形容 価値
パスワード レジストリ サーバーにログインするためのパスワード。 string (必須)
registryServer 省略した場合、既定値は "docker.io" です。
username レジストリ サーバーにログインするユーザー名。 string (必須)

DataDisk

名前 形容 価値
キャッシング 値は次のとおりです。

none - ディスクのキャッシュ モードが有効になっていません。
readOnly - ディスクのキャッシュ モードは読み取り専用です。
readWrite - ディスクのキャッシュ モードは読み取りと書き込みです。

キャッシュの既定値は none です。 キャッシュ オプションの詳細については、次を参照してください: https://blogs.msdn.microsoft.com/windowsazurestorage/2012/06/27/exploring-windows-azure-drives-disks-and-images/.
'None'
'ReadOnly'
'ReadWrite'
diskSizeGB 新しいデータ ディスクを作成するときの初期ディスク サイズ (GB)。 int (必須)
lun lun は、各データ ディスクを一意に識別するために使用されます。 複数のディスクを接続する場合は、それぞれ個別の LUN が必要です。 値は、0 ~ 63 の範囲である必要があります。 int (必須)
storageAccountType 省略した場合、既定値は "Standard_LRS" です。 値は次のとおりです。

Standard_LRS - データ ディスクは、標準のローカル冗長ストレージを使用する必要があります。
Premium_LRS - データ ディスクでは、Premium ローカル冗長ストレージを使用する必要があります。
'Premium_LRS'
'Standard_LRS'

DiskEncryptionConfiguration

名前 形容 価値
ターゲット Linux プールでは、"TemporaryDisk" のみがサポートされています。Windows プールでは、"OsDisk" と "TemporaryDisk" を指定する必要があります。 次のいずれかを含む文字列配列:
'OsDisk'
'TemporaryDisk'

VMExtension

名前 形容 価値
autoUpgradeMinorVersion 展開時に使用可能な場合に、拡張機能で新しいマイナー バージョンを使用する必要があるかどうかを示します。 ただし、デプロイされると、このプロパティが true に設定されていても、再デプロイされない限り、拡張機能はマイナー バージョンをアップグレードしません。 bool
名前 仮想マシン拡張機能の名前。 string (必須)
protectedSettings 拡張機能には、protectedSettings または protectedSettingsFromKeyVault、または保護された設定をまったく含めなくなります。 Bicep の場合は、any() 関数を使用できます。
provisionAfterExtensions この拡張機能をプロビジョニングする必要がある拡張機能名のコレクション。 string[]
発行者 拡張ハンドラーの発行元の名前。 string (必須)
設定 拡張機能の JSON 形式のパブリック設定。 Bicep の場合は、any() 関数を使用できます。
種類 拡張機能の種類。 string (必須)
typeHandlerVersion スクリプト ハンドラーのバージョン。

ImageReference

名前 形容 価値
身分証明書 このプロパティは、他のプロパティと相互に排他的です。 共有イメージ ギャラリー イメージには、Azure Batch アカウントと同じリージョンにレプリカが必要です。 Batch サービスと通信するための Batch ノード エージェントのファイアウォール設定については、/azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration を参照してください。
提供 たとえば、UbuntuServer や WindowsServer などです。
発行者 たとえば、Canonical または MicrosoftWindowsServer です。
sku たとえば、18.04-LTS や 2019-Datacenter などです。
バージョン "latest" の値を指定して、イメージの最新バージョンを選択できます。 省略した場合、既定値は 'latest' です。

NodePlacementConfiguration

名前 形容 価値
政策 ノードをプロビジョニングするために Batch Service によって使用される割り当てポリシー。 指定しない場合、Batch はリージョン ポリシーを使用します。 'Regional'
'Zonal'

WindowsConfiguration

名前 形容 価値
enableAutomaticUpdates 省略した場合、既定値は true です。 bool

MetadataItem

名前 形容 価値
名前 メタデータ項目の名前。 string (必須)
価値 メタデータ項目の値。 string (必須)

MountConfiguration

名前 形容 価値
azureBlobFileSystemConfiguration このプロパティは、他のすべてのプロパティと相互に排他的です。 AzureBlobFileSystemConfiguration の
azureFileShareConfiguration このプロパティは、他のすべてのプロパティと相互に排他的です。 AzureFileShareConfiguration
cifsMountConfiguration このプロパティは、他のすべてのプロパティと相互に排他的です。 CifsMountConfiguration の
nfsMountConfiguration このプロパティは、他のすべてのプロパティと相互に排他的です。 NFSMountConfiguration の

AzureBlobFileSystemConfiguration

名前 形容 価値
accountKey このプロパティは sasKey と相互に排他的であり、1 つを指定する必要があります。
accountName Azure ストレージ アカウント名。 string (必須)
blobfuseOptions これらは、Windows の "net use" オプションと Linux の "マウント" オプションです。
containerName Azure Blob Storage コンテナー名。 string (必須)
relativeMountPath すべてのファイル システムは、AZ_BATCH_NODE_MOUNTS_DIR環境変数を介してアクセスできる Batch マウント ディレクトリに対して相対的にマウントされます。 string (必須)
sasKey このプロパティは accountKey と相互に排他的であり、1 つを指定する必要があります。

AzureFileShareConfiguration

名前 形容 価値
accountKey Azure Storage アカウント キー。 string (必須)
accountName Azure Storage アカウント名。 string (必須)
azureFileUrl これは 'https://{account}.file.core.windows.net/' の形式です。 string (必須)
mountOptions これらは、Windows の "net use" オプションと Linux の "マウント" オプションです。
relativeMountPath すべてのファイル システムは、AZ_BATCH_NODE_MOUNTS_DIR環境変数を介してアクセスできる Batch マウント ディレクトリに対して相対的にマウントされます。 string (必須)

CifsMountConfiguration

名前 形容 価値
mountOptions これらは、Windows の "net use" オプションと Linux の "マウント" オプションです。
パスワード CIFS ファイル システムに対する認証に使用するパスワード。 string (必須)
relativeMountPath すべてのファイル システムは、AZ_BATCH_NODE_MOUNTS_DIR環境変数を介してアクセスできる Batch マウント ディレクトリに対して相対的にマウントされます。 string (必須)
マウントするファイル システムの URI。 string (必須)
username CIFS ファイル システムに対する認証に使用するユーザー。 string (必須)

NFSMountConfiguration

名前 形容 価値
mountOptions これらは、Windows の "net use" オプションと Linux の "マウント" オプションです。
relativeMountPath すべてのファイル システムは、AZ_BATCH_NODE_MOUNTS_DIR環境変数を介してアクセスできる Batch マウント ディレクトリに対して相対的にマウントされます。 string (必須)
マウントするファイル システムの URI。 string (必須)

NetworkConfiguration

名前 形容 価値
endpointConfiguration プール エンドポイントの構成は、virtualMachineConfiguration プロパティを持つプールでのみサポートされます。 PoolEndpointConfiguration
publicIPAddressConfiguration このプロパティは、virtualMachineConfiguration プロパティを持つプールでのみサポートされます。 PublicIPAddressConfiguration
subnetId 仮想ネットワークは、Azure Batch アカウントと同じリージョンとサブスクリプションに存在する必要があります。 指定されたサブネットには、プール内のノード数に対応できる十分な空き IP アドレスが必要です。 サブネットに十分な空き IP アドレスがない場合、プールはコンピューティング ノードを部分的に割り当て、サイズ変更エラーが発生します。 "MicrosoftAzureBatch" サービス プリンシパルには、指定された VNet の "クラシック仮想マシン共同作成者" Role-Based アクセス制御 (RBAC) ロールが必要です。 指定したサブネットでは、コンピューティング ノードでタスクをスケジュールできるように、Azure Batch サービスからの通信を許可する必要があります。 これは、指定された VNet にネットワーク セキュリティ グループ (NSG) が関連付けられているかどうかを確認することで確認できます。 指定したサブネット内のコンピューティング ノードへの通信が NSG によって拒否された場合、Batch サービスはコンピューティング ノードの状態を使用不可に設定します。 指定した VNet にネットワーク セキュリティ グループ (NSG) が関連付けられている場合は、いくつかの予約済みシステム ポートを受信通信に対して有効にする必要があります。 仮想マシン構成で作成されたプールの場合は、ポート 29876 と 29877、Linux の場合はポート 22、Windows の場合はポート 3389 を有効にします。 クラウド サービス構成で作成されたプールの場合は、ポート 10100、20100、および 30100 を有効にします。 また、ポート 443 で Azure Storage への送信接続を有効にします。 cloudServiceConfiguration プールでは、"クラシック" VNET のみがサポートされます。 詳細については、/azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration を参照してください。

PoolEndpointConfiguration

名前 形容 価値
inboundNatPools Batch プールあたりの受信 NAT プールの最大数は 5 です。 受信 NAT プールの最大数を超えた場合、要求は HTTP 状態コード 400 で失敗します。 IPAddressProvisioningType が NoPublicIPAddresses の場合、これは指定できません。 InboundNatPool[] (必須)

InboundNatPool

名前 形容 価値
backendPort これは Batch プール内で一意である必要があります。 22、3389、29876、29877 を除き、使用可能な値は 1 から 65535 の間です。これらは予約されています。 予約された値が指定された場合、要求は HTTP 状態コード 400 で失敗します。 int (必須)
frontendPortRangeEnd 指定できる値の範囲は 1 ~ 65534 です。ただし、Batch サービスによって予約されているポートは 50000 ~ 55000 です。 プール内のすべての範囲は個別である必要があり、重複することはできません。 予約された値または重複する値が指定されている場合、要求は HTTP 状態コード 400 で失敗します。 int (必須)
frontendPortRangeStart 使用可能な値の範囲は 1 ~ 65534 です。ただし、予約されているポートは 50000 ~ 55000 です。 プール内のすべての範囲は個別である必要があり、重複することはできません。 予約された値または重複する値が指定されている場合、要求は HTTP 状態コード 400 で失敗します。 int (必須)
名前 名前は Batch プール内で一意である必要があり、文字、数字、アンダースコア、ピリオド、ハイフンを含めることができます。 名前は文字または数字で始まる必要があり、末尾は文字、数字、またはアンダースコアで終わる必要があり、77 文字を超えることはできません。 無効な値が指定された場合、要求は HTTP 状態コード 400 で失敗します。 string (必須)
networkSecurityGroupRules Batch プール上のすべてのエンドポイントで指定できるルールの最大数は 25 です。 ネットワーク セキュリティ グループの規則が指定されていない場合は、指定された backendPort への受信アクセスを許可する既定の規則が作成されます。 ネットワーク セキュリティ グループ規則の最大数を超えた場合、要求は HTTP 状態コード 400 で失敗します。 NetworkSecurityGroupRule[]
議定書 エンドポイントのプロトコル。 'TCP'
'UDP' (必須)

NetworkSecurityGroupRule

名前 形容 価値
アクセス 指定した IP アドレス、サブネット範囲、またはタグに対して実行する必要があるアクション。 'Allow'
'Deny' (必須)
優先権 プール内の優先順位は一意である必要があり、優先順位の順に評価されます。 数値が小さい方が優先度が高くなります。 たとえば、順序番号が 150、250、350 のルールを指定できます。 順序番号が 150 のルールは、順序が 250 のルールよりも優先されます。 許可される優先順位は 150 から 4096 です。 予約された値または重複する値が指定されている場合、要求は HTTP 状態コード 400 で失敗します。 int (必須)
sourceAddressPrefix 有効な値は、1 つの IP アドレス (10.10.10.10.10)、IP サブネット (つまり 192.168.1.0/24)、既定のタグ、または * (すべてのアドレスの場合) です。 その他の値が指定されている場合、要求は HTTP 状態コード 400 で失敗します。 string (必須)
sourcePortRanges 有効な値は、'*' (すべてのポート 0 から 65535) またはポートまたはポート範囲の配列 (つまり、100 から 200) です。 ポートは 0 ~ 65535 の範囲にする必要があり、ポート範囲またはポートは重複できません。 その他の値が指定されている場合、要求は HTTP 状態コード 400 で失敗します。 既定値は *です。 string[]

PublicIPAddressConfiguration

名前 形容 価値
ipAddressIds ここで指定する IP の数によって、プールの最大サイズが制限されます。パブリック IP ごとに 100 個の専用ノードまたは 100 個の低優先度ノードを割り当てることができます。 たとえば、250 個の専用 VM を必要とするプールには、少なくとも 3 つのパブリック IP が指定されている必要があります。 このコレクションの各要素は、/subscriptions/{subscription}/resourceGroups/{group}/providers/Microsoft.Network/publicIPAddresses/{ip} の形式です。 string[]
支給 既定値は BatchManaged です 'BatchManaged'
'NoPublicIPAddresses'
'UserManaged'

ScaleSettings

名前 形容 価値
autoScale このプロパティと fixedScale は相互に排他的であり、プロパティの 1 つを指定する必要があります。 AutoScaleSettings の
fixedScale このプロパティと自動スケールは相互に排他的であり、プロパティの 1 つを指定する必要があります。 FixedScaleSettings

AutoScaleSettings

名前 形容 価値
evaluationInterval 省略した場合、既定値は 15 分 (PT15M) です。
プール内のコンピューティング ノードの必要な数の数式。 string (必須)

FixedScaleSettings

名前 形容 価値
nodeDeallocationOption 省略した場合、既定値は Requeue です。 'Requeue'
'RetainedData'
'TaskCompletion'
'Terminate'
resizeTimeout 既定値は 15 分です。 タイムアウト値は ISO 8601 形式を使用します。 たとえば、PT10M を 10 分間使用します。 最小値は 5 分です。 5 分未満の値を指定した場合、Batch サービスはエラーで要求を拒否します。REST API を直接呼び出す場合、HTTP 状態コードは 400 (無効な要求) です。
targetDedicatedNodes targetDedicatedNodes のうち少なくとも 1 つ、targetLowPriorityNodes を設定する必要があります。 int
targetLowPriorityNodes targetDedicatedNodes のうち少なくとも 1 つ、targetLowPriorityNodes を設定する必要があります。 int

StartTask

名前 形容 価値
commandLine コマンド ラインはシェルでは実行されないため、環境変数の拡張などのシェル機能を利用することはできません。 このような機能を利用する場合は、コマンド ラインでシェルを呼び出す必要があります。たとえば、Windows では "cmd /c MyCommand" を使用し、Linux では "/bin/sh -c MyCommand" を使用します。 startTask の他のプロパティが指定されている場合は必須です。
containerSettings これを指定すると、AZ_BATCH_NODE_ROOT_DIRの下にあるすべてのディレクトリ (ノード上の Azure Batch ディレクトリのルート) がコンテナーに再帰的にマップされ、すべてのタスク環境変数がコンテナーにマップされ、タスク コマンド ラインがコンテナーで実行されます。 TaskContainerSettings
environmentSettings 開始タスクの環境変数設定の一覧。 EnvironmentSetting[]
maxTaskRetryCount 終了コードが 0 以外の場合、Batch サービスはタスクを再試行します。 この値は、再試行回数を特に制御します。 Batch サービスはタスクを 1 回試し、この制限まで再試行できます。 たとえば、最大再試行回数が 3 の場合、Batch はタスクを最大 4 回試行します (1 回の最初の再試行と 3 回の再試行)。 最大再試行回数が 0 の場合、Batch サービスはタスクを再試行しません。 最大再試行回数が -1 の場合、Batch サービスは制限なくタスクを再試行します。 int
resourceFiles コマンド ラインを実行する前に Batch サービスがコンピューティング ノードにダウンロードするファイルの一覧。 ResourceFile[]
userIdentity 省略すると、タスクはタスクに固有の非管理ユーザーとして実行されます。 UserIdentity の
waitForSuccess true で、コンピューティング ノードで開始タスクが失敗した場合、Batch サービスは開始タスクを最大再試行回数 (maxTaskRetryCount) まで再試行します。 すべての再試行の後もタスクが正常に完了していない場合、Batch サービスはコンピューティング ノードを使用不可としてマークし、タスクをスケジュールしません。 この条件は、ノードの状態とスケジュール エラーの詳細を使用して検出できます。 false の場合、Batch サービスは開始タスクの完了を待機しません。 この場合、開始タスクの実行中に、他のタスクがコンピューティング ノードで実行を開始できます。開始タスクが失敗した場合でも、新しいタスクはノードで引き続きスケジュールされます。 既定値は true です。 bool

TaskContainerSettings

名前 形容 価値
containerRunOptions これらの追加オプションは、Batch サービスによって制御されるオプションに加えて、"docker create" コマンドの引数として提供されます。
imageName これは、"docker pull" に指定される完全なイメージ参照です。 イメージ名の一部としてタグが指定されていない場合、タグ ":latest" が既定として使用されます。 string (必須)
記帳 プールの作成時に既に指定されている場合は、この設定を省略できます。 ContainerRegistry
workingDirectory コンテナー タスクの作業ディレクトリの場所を示すフラグ。 既定値は 'taskWorkingDirectory' です。 'ContainerImageDefault'
'TaskWorkingDirectory'

EnvironmentSetting

名前 形容 価値
名前 環境変数の名前。 string (必須)
価値 環境変数の値。

ResourceFile

名前 形容 価値
autoStorageContainerName autoStorageContainerName、storageContainerUrl、および httpUrl プロパティは相互に排他的であり、そのうちの 1 つを指定する必要があります。
blobPrefix このプロパティは、autoStorageContainerName または storageContainerUrl が使用されている場合にのみ有効です。 このプレフィックスには、部分的なファイル名またはサブディレクトリを指定できます。 プレフィックスが指定されていない場合は、コンテナー内のすべてのファイルがダウンロードされます。
fileMode このプロパティは、Linux コンピューティング ノードにダウンロードされるファイルにのみ適用されます。 これは、Windows ノードにダウンロードされる resourceFile に対して指定されている場合は無視されます。 Linux ノードにこのプロパティが指定されていない場合は、既定値の 0770 がファイルに適用されます。
filePath httpUrl プロパティが指定されている場合、filePath は必須であり、ファイルのダウンロード先となるパス (ファイル名を含む) を記述します。 それ以外の場合、autoStorageContainerName または storageContainerUrl プロパティが指定されている場合、filePath は省略可能であり、ファイルをダウンロードするディレクトリです。 filePath がディレクトリとして使用されている場合、入力データに既に関連付けられているディレクトリ構造は完全に保持され、指定された filePath ディレクトリに追加されます。 指定した相対パスは、タスクの作業ディレクトリから抜け出すことはできません (たとえば、'..' を使用)。
httpUrl autoStorageContainerName、storageContainerUrl、および httpUrl プロパティは相互に排他的であり、そのうちの 1 つを指定する必要があります。 URL が Azure Blob Storage の場合は、匿名アクセスを使用して読み取り可能である必要があります。つまり、Batch サービスは BLOB のダウンロード時に資格情報を提示しません。 Azure Storage 内の BLOB のこのような URL を取得するには、BLOB に対する読み取りアクセス許可を付与する Shared Access Signature (SAS) を含めるか、パブリック アクセスを許可するように BLOB またはそのコンテナーの ACL を設定する方法の 2 つがあります。
storageContainerUrl autoStorageContainerName、storageContainerUrl、および httpUrl プロパティは相互に排他的であり、そのうちの 1 つを指定する必要があります。 この URL は、匿名アクセスを使用して読み取り可能でリスト可能である必要があります。つまり、Batch サービスは BLOB のダウンロード時に資格情報を提示しません。 Azure Storage 内の BLOB のこのような URL を取得するには、BLOB に対する読み取りと一覧表示のアクセス許可を付与する Shared Access Signature (SAS) を含める方法と、パブリック アクセスを許可するように BLOB またはそのコンテナーの ACL を設定する方法の 2 つがあります。

UserIdentity

名前 形容 価値
autoUser userName プロパティと autoUser プロパティは相互に排他的です。1 つを指定する必要がありますが、両方を指定する必要はありません。 AutoUserSpecification の
userName userName プロパティと autoUser プロパティは相互に排他的です。1 つを指定する必要がありますが、両方を指定する必要はありません。

AutoUserSpecification

名前 形容 価値
elevationLevel 既定値は nonAdmin です。 'Admin'
'NonAdmin'
スコープ 既定値は Pool です。 プールが Windows を実行している場合は、タスク間のより厳密な分離が必要な場合は、Task の値を指定する必要があります。 たとえば、タスクが他のタスクに影響を与える可能性のある方法でレジストリを変更する場合や、通常のタスクではアクセスできないが、開始タスクからアクセスできる必要がある証明書がプールで指定されている場合などです。 'Pool'
'Task'

TaskSchedulingPolicy

名前 形容 価値
nodeFillType タスクをコンピューティング ノード間で分散する方法。 'Pack'
'Spread' (必須)

UserAccount

名前 形容 価値
elevationLevel nonAdmin - 自動ユーザーは、昇格されたアクセス権を持たない標準ユーザーです。 admin - 自動ユーザーは昇格されたアクセス権を持つユーザーであり、完全な管理者アクセス許可で動作します。 既定値は nonAdmin です。 'Admin'
'NonAdmin'
linuxUserConfiguration このプロパティは、Windows プールで指定されている場合は無視されます。 指定しない場合、ユーザーは既定のオプションで作成されます。 LinuxUserConfiguration
名前 ユーザー アカウントの名前。 string (必須)
パスワード ユーザー アカウントのパスワード。 string (必須)
windowsUserConfiguration このプロパティは、ユーザーが Windows プール上にある場合にのみ指定できます。 指定されていない場合、Windows プールでは、既定のオプションを使用してユーザーが作成されます。 WindowsUserConfiguration

LinuxUserConfiguration

名前 形容 価値
gid uid プロパティと gid プロパティは、一緒に指定するか、まったく指定しない必要があります。 指定しない場合、基になるオペレーティング システムは gid を選択します。 int
sshPrivateKey 秘密キーはパスワードで保護しないでください。 この秘密キーは、プールの enableInterNodeCommunication プロパティが true の場合 (enableInterNodeCommunication が false の場合は無視されます)、Linux プール内のノード間で SSH の非対称キー ベースの認証を自動的に構成するために使用されます。 これを行うには、キー ペアをユーザーの .ssh ディレクトリに配置します。 指定しない場合、ノード間でパスワードレス SSH は構成されません (ユーザーの .ssh ディレクトリの変更は行われません)。
uid uid プロパティと gid プロパティは、一緒に指定するか、まったく指定しない必要があります。 指定しない場合、基になるオペレーティング システムは uid を選択します。 int

WindowsUserConfiguration

名前 形容 価値
loginMode ユーザーのログイン モードを指定します。 VirtualMachineConfiguration プールの既定値は対話型モードで、CloudServiceConfiguration プールの場合はバッチ モードです。 'Batch'
'Interactive'

クイック スタート テンプレート

次のクイック スタート テンプレートでは、このリソースの種類をデプロイします。

テンプレート 形容
パブリック IP アドレスを せずに Azure Batch プールを する

Azure
にデプロイする
このテンプレートでは、パブリック IP アドレスのない Azure Batch の簡略化されたノード通信プールが作成されます。

ARM テンプレート リソース定義

batchAccounts/pools リソースの種類は、次をターゲットとする操作と共にデプロイできます。

  • リソース グループの - リソース グループのデプロイ コマンド 参照

各 API バージョンで変更されたプロパティの一覧については、変更ログの参照してください。

リソースの形式

Microsoft.Batch/batchAccounts/pools リソースを作成するには、次の JSON をテンプレートに追加します。

{
  "type": "Microsoft.Batch/batchAccounts/pools",
  "apiVersion": "2021-01-01",
  "name": "string",
  "identity": {
    "type": "string",
    "userAssignedIdentities": {
      "{customized property}": {}
    }
  },
  "properties": {
    "applicationLicenses": [ "string" ],
    "applicationPackages": [
      {
        "id": "string",
        "version": "string"
      }
    ],
    "certificates": [
      {
        "id": "string",
        "storeLocation": "string",
        "storeName": "string",
        "visibility": [ "string" ]
      }
    ],
    "deploymentConfiguration": {
      "cloudServiceConfiguration": {
        "osFamily": "string",
        "osVersion": "string"
      },
      "virtualMachineConfiguration": {
        "containerConfiguration": {
          "containerImageNames": [ "string" ],
          "containerRegistries": [
            {
              "password": "string",
              "registryServer": "string",
              "username": "string"
            }
          ],
          "type": "DockerCompatible"
        },
        "dataDisks": [
          {
            "caching": "string",
            "diskSizeGB": "int",
            "lun": "int",
            "storageAccountType": "string"
          }
        ],
        "diskEncryptionConfiguration": {
          "targets": [ "string" ]
        },
        "extensions": [
          {
            "autoUpgradeMinorVersion": "bool",
            "name": "string",
            "protectedSettings": {},
            "provisionAfterExtensions": [ "string" ],
            "publisher": "string",
            "settings": {},
            "type": "string",
            "typeHandlerVersion": "string"
          }
        ],
        "imageReference": {
          "id": "string",
          "offer": "string",
          "publisher": "string",
          "sku": "string",
          "version": "string"
        },
        "licenseType": "string",
        "nodeAgentSkuId": "string",
        "nodePlacementConfiguration": {
          "policy": "string"
        },
        "windowsConfiguration": {
          "enableAutomaticUpdates": "bool"
        }
      }
    },
    "displayName": "string",
    "interNodeCommunication": "string",
    "metadata": [
      {
        "name": "string",
        "value": "string"
      }
    ],
    "mountConfiguration": [
      {
        "azureBlobFileSystemConfiguration": {
          "accountKey": "string",
          "accountName": "string",
          "blobfuseOptions": "string",
          "containerName": "string",
          "relativeMountPath": "string",
          "sasKey": "string"
        },
        "azureFileShareConfiguration": {
          "accountKey": "string",
          "accountName": "string",
          "azureFileUrl": "string",
          "mountOptions": "string",
          "relativeMountPath": "string"
        },
        "cifsMountConfiguration": {
          "mountOptions": "string",
          "password": "string",
          "relativeMountPath": "string",
          "source": "string",
          "username": "string"
        },
        "nfsMountConfiguration": {
          "mountOptions": "string",
          "relativeMountPath": "string",
          "source": "string"
        }
      }
    ],
    "networkConfiguration": {
      "endpointConfiguration": {
        "inboundNatPools": [
          {
            "backendPort": "int",
            "frontendPortRangeEnd": "int",
            "frontendPortRangeStart": "int",
            "name": "string",
            "networkSecurityGroupRules": [
              {
                "access": "string",
                "priority": "int",
                "sourceAddressPrefix": "string",
                "sourcePortRanges": [ "string" ]
              }
            ],
            "protocol": "string"
          }
        ]
      },
      "publicIPAddressConfiguration": {
        "ipAddressIds": [ "string" ],
        "provision": "string"
      },
      "subnetId": "string"
    },
    "scaleSettings": {
      "autoScale": {
        "evaluationInterval": "string",
        "formula": "string"
      },
      "fixedScale": {
        "nodeDeallocationOption": "string",
        "resizeTimeout": "string",
        "targetDedicatedNodes": "int",
        "targetLowPriorityNodes": "int"
      }
    },
    "startTask": {
      "commandLine": "string",
      "containerSettings": {
        "containerRunOptions": "string",
        "imageName": "string",
        "registry": {
          "password": "string",
          "registryServer": "string",
          "username": "string"
        },
        "workingDirectory": "string"
      },
      "environmentSettings": [
        {
          "name": "string",
          "value": "string"
        }
      ],
      "maxTaskRetryCount": "int",
      "resourceFiles": [
        {
          "autoStorageContainerName": "string",
          "blobPrefix": "string",
          "fileMode": "string",
          "filePath": "string",
          "httpUrl": "string",
          "storageContainerUrl": "string"
        }
      ],
      "userIdentity": {
        "autoUser": {
          "elevationLevel": "string",
          "scope": "string"
        },
        "userName": "string"
      },
      "waitForSuccess": "bool"
    },
    "taskSchedulingPolicy": {
      "nodeFillType": "string"
    },
    "taskSlotsPerNode": "int",
    "userAccounts": [
      {
        "elevationLevel": "string",
        "linuxUserConfiguration": {
          "gid": "int",
          "sshPrivateKey": "string",
          "uid": "int"
        },
        "name": "string",
        "password": "string",
        "windowsUserConfiguration": {
          "loginMode": "string"
        }
      }
    ],
    "vmSize": "string"
  }
}

プロパティ値

batchAccounts/pools

名前 形容 価値
種類 リソースの種類 'Microsoft.Batch/batchAccounts/pools'
apiVersion リソース API のバージョン '2021-01-01'
名前 リソース名

JSON ARM テンプレートで子リソースの名前と型 設定する方法を参照してください。
string (必須)

文字制限: 1 ~ 64

有効な文字:
英数字、アンダースコア、ハイフン。
同一性 バッチ プールに使用される ID の種類。 BatchPoolIdentity の
プロパティ プールに関連付けられているプロパティ。 PoolProperties

BatchPoolIdentity

名前 形容 価値
種類 バッチ プールに使用される ID の種類。 'None'
'UserAssigned' (必須)
userAssignedIdentities Batch プールに関連付けられているユーザー ID の一覧。 ユーザー ID ディクショナリ のキー参照は、'/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}' という形式の ARM リソース ID になります。 BatchPoolIdentityUserAssignedIdentities

BatchPoolIdentityUserAssignedIdentities

名前 形容 価値
{カスタマイズされたプロパティ} Components81XseeSchemasBatchpoolidentityPropertiesUs...

Components81XseeSchemasBatchpoolidentityPropertiesUs...

このオブジェクトには、配置時に設定するプロパティは含まれません。 すべてのプロパティは ReadOnly です。

PoolProperties

名前 形容 価値
applicationLicenses アプリケーション ライセンスの一覧は、使用可能な Batch サービス アプリケーション ライセンスのサブセットである必要があります。 サポートされていないライセンスが要求された場合、プールの作成は失敗します。 string[]
applicationPackages アプリケーション パッケージ参照に対する変更は、プールに参加しているすべての新しいコンピューティング ノードに影響しますが、再起動または再イメージ化されるまで、プール内に既に存在するコンピューティング ノードには影響しません。 特定のプールには、最大 10 個のアプリケーション パッケージ参照があります。 ApplicationPackageReference[]
証明 書 Windows コンピューティング ノードの場合、Batch サービスは、指定された証明書ストアと場所に証明書をインストールします。 Linux コンピューティング ノードの場合、証明書はタスク作業ディレクトリ内のディレクトリに格納され、この場所を照会するためにタスクにAZ_BATCH_CERTIFICATES_DIR環境変数が提供されます。 'remoteUser' の可視性を持つ証明書の場合、ユーザーのホーム ディレクトリ (/home/{user-name}/certs など) に 'certs' ディレクトリが作成され、そのディレクトリに証明書が配置されます。 CertificateReference[]
deploymentConfiguration CloudServiceConfiguration を使用すると、ノードは Azure Cloud Services (PaaS) を使用して作成する必要があり、VirtualMachineConfiguration では Azure Virtual Machines (IaaS) が使用されます。 DeploymentConfiguration
displayName 表示名は一意である必要はありません。最大長 1024 までの Unicode 文字を含めることができます。
interNodeCommunication これにより、プールに割り当てることができるノードに制限が適用されます。 この値を有効にすると、要求されたノード数がプールに割り当てられる可能性が低くなります。 指定しない場合、この値の既定値は "Disabled" になります。 'Disabled'
'Enabled'
metadata Batch サービスは、メタデータに意味を割り当てません。これは、ユーザー コードの使用のみを目的とします。 MetadataItem[]
mountConfiguration これにより、Azure Files、NFS、CIFS/SMB、Blobfuse がサポートされます。 MountConfiguration[]
networkConfiguration プールのネットワーク構成。 NetworkConfiguration
scaleSettings プールの目的のサイズを定義します。 これは、要求された targetDedicatedNodes が指定されている "fixedScale" か、定期的に再評価される数式を定義する 'autoScale' のいずれかです。 このプロパティを指定しない場合、プールは 0 targetDedicatedNodes を使用して固定スケールになります。 ScaleSettings
startTask PATCH (更新) 操作では、このプロパティを空のオブジェクトに設定して、プールから開始タスクを削除できます。 StartTask の
taskSchedulingPolicy 指定しない場合、既定値はスプレッドです。 TaskSchedulingPolicy
taskSlotsPerNode 既定値は 1 です。 最大値は、プールの vmSize または 256 のコア数の 4 倍の小さい値です。 int
userAccounts プール内の各ノードに作成するユーザー アカウントの一覧。 UserAccount[]
vmSize Cloud Services プール (cloudServiceConfiguration で作成されたプール) で使用可能な仮想マシンのサイズについては、「Cloud Services のサイズ (https://azure.microsoft.com/documentation/articles/cloud-services-sizes-specs/)」を参照してください。 Batch では、ExtraSmall を除くすべての Cloud Services VM サイズがサポートされます。 Virtual Machines Marketplace のイメージを使用するプールで使用可能な VM サイズ (virtualMachineConfiguration で作成されたプール) の詳細については、「Virtual Machines (Linux) のサイズ (/azure/virtual-machines/sizes-general)」または「Virtual Machines (Windows) のサイズ (https://azure.microsoft.com/documentation/articles/virtual-machines-windows-sizes/)」を参照してください。 Batch では、STANDARD_A0と Premium Storage (STANDARD_GS、STANDARD_DS、STANDARD_DSV2 シリーズ) を除くすべての Azure VM サイズがサポートされます。

ApplicationPackageReference

名前 形容 価値
身分証明書 インストールするアプリケーション パッケージの ID。 これは、プールと同じバッチ アカウント内にある必要があります。 これは、特定のバージョンへの参照でも、存在する場合は既定のバージョンでもかまいません。 string (必須)
バージョン これを省略し、このアプリケーションに既定のバージョンが指定されていない場合、要求はエラー コード InvalidApplicationPackageReferences で失敗します。 REST API を直接呼び出す場合、HTTP 状態コードは 409 です。

CertificateReference

名前 形容 価値
身分証明書 プールにインストールする証明書の完全修飾 ID。 これは、プールと同じバッチ アカウント内にある必要があります。 string (必須)
storeLocation 既定値は currentUser です。 このプロパティは、Windows ノードで構成されたプール (つまり、cloudServiceConfiguration で作成されたプール、または Windows イメージ参照を使用した virtualMachineConfiguration を使用して作成されたプール) にのみ適用されます。 Linux コンピューティング ノードの場合、証明書はタスク作業ディレクトリ内のディレクトリに格納され、この場所を照会するためにタスクにAZ_BATCH_CERTIFICATES_DIR環境変数が提供されます。 'remoteUser' の可視性を持つ証明書の場合、ユーザーのホーム ディレクトリ (/home/{user-name}/certs など) に 'certs' ディレクトリが作成され、そのディレクトリに証明書が配置されます。 'CurrentUser'
'LocalMachine'
storeName このプロパティは、Windows ノードで構成されたプール (つまり、cloudServiceConfiguration で作成されたプール、または Windows イメージ参照を使用した virtualMachineConfiguration を使用して作成されたプール) にのみ適用されます。 一般的なストア名には、My、Root、CA、Trust、Disallowed、TrustedPeople、TrustedPublisher、AuthRoot、AddressBook などがありますが、カスタム ストア名も使用できます。 既定値は My です。
可視 証明書のプライベート データにアクセスできるコンピューティング ノード上のユーザー アカウント。 次のいずれかを含む文字列配列:
'RemoteUser'
'StartTask'
'Task'

DeploymentConfiguration

名前 形容 価値
cloudServiceConfiguration このプロパティと virtualMachineConfiguration は相互に排他的であり、プロパティの 1 つを指定する必要があります。 batch アカウントが poolAllocationMode プロパティを 'UserSubscription' に設定して作成された場合、このプロパティを指定できません。 CloudServiceConfiguration
virtualMachineConfiguration このプロパティと cloudServiceConfiguration は相互に排他的であり、プロパティの 1 つを指定する必要があります。 VirtualMachineConfiguration

CloudServiceConfiguration

名前 形容 価値
osFamily 使用可能な値は 2 - OS ファミリ 2 で、Windows Server 2008 R2 SP1 に相当します。 3 - WINDOWS Server 2012 と同等の OS ファミリ 3。 4 - WINDOWS Server 2012 R2 と同等の OS ファミリ 4。 5 - Windows Server 2016 と同等の OS ファミリ 5。 6 - Windows Server 2019 と同等の OS ファミリ 6。 詳細については、「Azure ゲスト OS リリース (https://azure.microsoft.com/documentation/articles/cloud-services-guestos-update-matrix/#releases)」を参照してください。 string (必須)
osVersion 既定値は * で、指定した OS ファミリの最新のオペレーティング システム バージョンを指定します。

VirtualMachineConfiguration

名前 形容 価値
containerConfiguration 指定した場合、タスクをコンテナーで実行できるように、プール内の各ノードでセットアップが実行されます。 このプールで実行されるすべての通常のタスクとジョブ マネージャー タスクは containerSettings プロパティを指定する必要があり、他のすべてのタスクで指定できます。 ContainerConfiguration
dataDisks プール内のコンピューティング ノードに空のデータ ディスクが接続されている必要がある場合は、このプロパティを指定する必要があります。 DataDisk[]
diskEncryptionConfiguration 指定した場合、暗号化は、ノードのプロビジョニング中にプール内の各ノードで実行されます。 DiskEncryptionConfiguration
拡張 機能 指定した場合、この構成に記載されている拡張機能が各ノードにインストールされます。 VMExtension[]
imageReference カスタム仮想マシンの Azure Virtual Machines Marketplace イメージまたは Azure Image リソースへの参照。 Azure Batch によって検証されたすべての imageReferences の一覧を取得するには、「サポートされているノード エージェント SKU の一覧表示」操作を参照してください。 ImageReference (必須)
licenseType これは、Windows オペレーティング システムを含むイメージにのみ適用され、展開されるノードの有効なオンプレミス ライセンスを保持している場合にのみ使用する必要があります。 省略した場合、オンプレミスのライセンス割引は適用されません。 値は次のとおりです。

Windows_Server - オンプレミスライセンスは Windows Server 用です。
Windows_Client - オンプレミス ライセンスは Windows クライアント用です。
nodeAgentSkuId Batch ノード エージェントは、プール内の各ノードで実行されるプログラムであり、ノードと Batch サービスの間のコマンドおよび制御インターフェイスを提供します。 オペレーティング システムごとに、SKU と呼ばれるノード エージェントのさまざまな実装があります。 選択したイメージ参照に一致するノード エージェント SKU を指定する必要があります。 サポートされているノード エージェント SKU の一覧と検証済みイメージ参照の一覧を取得するには、「サポートされているノード エージェント SKU の一覧表示」操作を参照してください。 string (必須)
nodePlacementConfiguration この構成では、プール内のノードを物理的に割り当てる方法に関する規則を指定します。 NodePlacementConfiguration
windowsConfiguration imageReference で Linux OS イメージが指定されている場合は、このプロパティを指定しないでください。 WindowsConfiguration

ContainerConfiguration

名前 形容 価値
containerImageNames これは、"docker pull" に指定される完全なイメージ参照です。 イメージが代替レジストリで完全修飾されていない限り、イメージは既定の Docker レジストリから取得されます。 string[]
containerRegistries 資格情報を必要とするプライベート レジストリからイメージをダウンロードする必要がある場合は、これらの資格情報をここで指定する必要があります。 ContainerRegistry[]
種類 使用するコンテナー テクノロジ。 'DockerCompatible' (必須)

ContainerRegistry

名前 形容 価値
パスワード レジストリ サーバーにログインするためのパスワード。 string (必須)
registryServer 省略した場合、既定値は "docker.io" です。
username レジストリ サーバーにログインするユーザー名。 string (必須)

DataDisk

名前 形容 価値
キャッシング 値は次のとおりです。

none - ディスクのキャッシュ モードが有効になっていません。
readOnly - ディスクのキャッシュ モードは読み取り専用です。
readWrite - ディスクのキャッシュ モードは読み取りと書き込みです。

キャッシュの既定値は none です。 キャッシュ オプションの詳細については、次を参照してください: https://blogs.msdn.microsoft.com/windowsazurestorage/2012/06/27/exploring-windows-azure-drives-disks-and-images/.
'None'
'ReadOnly'
'ReadWrite'
diskSizeGB 新しいデータ ディスクを作成するときの初期ディスク サイズ (GB)。 int (必須)
lun lun は、各データ ディスクを一意に識別するために使用されます。 複数のディスクを接続する場合は、それぞれ個別の LUN が必要です。 値は、0 ~ 63 の範囲である必要があります。 int (必須)
storageAccountType 省略した場合、既定値は "Standard_LRS" です。 値は次のとおりです。

Standard_LRS - データ ディスクは、標準のローカル冗長ストレージを使用する必要があります。
Premium_LRS - データ ディスクでは、Premium ローカル冗長ストレージを使用する必要があります。
'Premium_LRS'
'Standard_LRS'

DiskEncryptionConfiguration

名前 形容 価値
ターゲット Linux プールでは、"TemporaryDisk" のみがサポートされています。Windows プールでは、"OsDisk" と "TemporaryDisk" を指定する必要があります。 次のいずれかを含む文字列配列:
'OsDisk'
'TemporaryDisk'

VMExtension

名前 形容 価値
autoUpgradeMinorVersion 展開時に使用可能な場合に、拡張機能で新しいマイナー バージョンを使用する必要があるかどうかを示します。 ただし、デプロイされると、このプロパティが true に設定されていても、再デプロイされない限り、拡張機能はマイナー バージョンをアップグレードしません。 bool
名前 仮想マシン拡張機能の名前。 string (必須)
protectedSettings 拡張機能には、protectedSettings または protectedSettingsFromKeyVault、または保護された設定をまったく含めなくなります。
provisionAfterExtensions この拡張機能をプロビジョニングする必要がある拡張機能名のコレクション。 string[]
発行者 拡張ハンドラーの発行元の名前。 string (必須)
設定 拡張機能の JSON 形式のパブリック設定。
種類 拡張機能の種類。 string (必須)
typeHandlerVersion スクリプト ハンドラーのバージョン。

ImageReference

名前 形容 価値
身分証明書 このプロパティは、他のプロパティと相互に排他的です。 共有イメージ ギャラリー イメージには、Azure Batch アカウントと同じリージョンにレプリカが必要です。 Batch サービスと通信するための Batch ノード エージェントのファイアウォール設定については、/azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration を参照してください。
提供 たとえば、UbuntuServer や WindowsServer などです。
発行者 たとえば、Canonical または MicrosoftWindowsServer です。
sku たとえば、18.04-LTS や 2019-Datacenter などです。
バージョン "latest" の値を指定して、イメージの最新バージョンを選択できます。 省略した場合、既定値は 'latest' です。

NodePlacementConfiguration

名前 形容 価値
政策 ノードをプロビジョニングするために Batch Service によって使用される割り当てポリシー。 指定しない場合、Batch はリージョン ポリシーを使用します。 'Regional'
'Zonal'

WindowsConfiguration

名前 形容 価値
enableAutomaticUpdates 省略した場合、既定値は true です。 bool

MetadataItem

名前 形容 価値
名前 メタデータ項目の名前。 string (必須)
価値 メタデータ項目の値。 string (必須)

MountConfiguration

名前 形容 価値
azureBlobFileSystemConfiguration このプロパティは、他のすべてのプロパティと相互に排他的です。 AzureBlobFileSystemConfiguration の
azureFileShareConfiguration このプロパティは、他のすべてのプロパティと相互に排他的です。 AzureFileShareConfiguration
cifsMountConfiguration このプロパティは、他のすべてのプロパティと相互に排他的です。 CifsMountConfiguration の
nfsMountConfiguration このプロパティは、他のすべてのプロパティと相互に排他的です。 NFSMountConfiguration の

AzureBlobFileSystemConfiguration

名前 形容 価値
accountKey このプロパティは sasKey と相互に排他的であり、1 つを指定する必要があります。
accountName Azure ストレージ アカウント名。 string (必須)
blobfuseOptions これらは、Windows の "net use" オプションと Linux の "マウント" オプションです。
containerName Azure Blob Storage コンテナー名。 string (必須)
relativeMountPath すべてのファイル システムは、AZ_BATCH_NODE_MOUNTS_DIR環境変数を介してアクセスできる Batch マウント ディレクトリに対して相対的にマウントされます。 string (必須)
sasKey このプロパティは accountKey と相互に排他的であり、1 つを指定する必要があります。

AzureFileShareConfiguration

名前 形容 価値
accountKey Azure Storage アカウント キー。 string (必須)
accountName Azure Storage アカウント名。 string (必須)
azureFileUrl これは 'https://{account}.file.core.windows.net/' の形式です。 string (必須)
mountOptions これらは、Windows の "net use" オプションと Linux の "マウント" オプションです。
relativeMountPath すべてのファイル システムは、AZ_BATCH_NODE_MOUNTS_DIR環境変数を介してアクセスできる Batch マウント ディレクトリに対して相対的にマウントされます。 string (必須)

CifsMountConfiguration

名前 形容 価値
mountOptions これらは、Windows の "net use" オプションと Linux の "マウント" オプションです。
パスワード CIFS ファイル システムに対する認証に使用するパスワード。 string (必須)
relativeMountPath すべてのファイル システムは、AZ_BATCH_NODE_MOUNTS_DIR環境変数を介してアクセスできる Batch マウント ディレクトリに対して相対的にマウントされます。 string (必須)
マウントするファイル システムの URI。 string (必須)
username CIFS ファイル システムに対する認証に使用するユーザー。 string (必須)

NFSMountConfiguration

名前 形容 価値
mountOptions これらは、Windows の "net use" オプションと Linux の "マウント" オプションです。
relativeMountPath すべてのファイル システムは、AZ_BATCH_NODE_MOUNTS_DIR環境変数を介してアクセスできる Batch マウント ディレクトリに対して相対的にマウントされます。 string (必須)
マウントするファイル システムの URI。 string (必須)

NetworkConfiguration

名前 形容 価値
endpointConfiguration プール エンドポイントの構成は、virtualMachineConfiguration プロパティを持つプールでのみサポートされます。 PoolEndpointConfiguration
publicIPAddressConfiguration このプロパティは、virtualMachineConfiguration プロパティを持つプールでのみサポートされます。 PublicIPAddressConfiguration
subnetId 仮想ネットワークは、Azure Batch アカウントと同じリージョンとサブスクリプションに存在する必要があります。 指定されたサブネットには、プール内のノード数に対応できる十分な空き IP アドレスが必要です。 サブネットに十分な空き IP アドレスがない場合、プールはコンピューティング ノードを部分的に割り当て、サイズ変更エラーが発生します。 "MicrosoftAzureBatch" サービス プリンシパルには、指定された VNet の "クラシック仮想マシン共同作成者" Role-Based アクセス制御 (RBAC) ロールが必要です。 指定したサブネットでは、コンピューティング ノードでタスクをスケジュールできるように、Azure Batch サービスからの通信を許可する必要があります。 これは、指定された VNet にネットワーク セキュリティ グループ (NSG) が関連付けられているかどうかを確認することで確認できます。 指定したサブネット内のコンピューティング ノードへの通信が NSG によって拒否された場合、Batch サービスはコンピューティング ノードの状態を使用不可に設定します。 指定した VNet にネットワーク セキュリティ グループ (NSG) が関連付けられている場合は、いくつかの予約済みシステム ポートを受信通信に対して有効にする必要があります。 仮想マシン構成で作成されたプールの場合は、ポート 29876 と 29877、Linux の場合はポート 22、Windows の場合はポート 3389 を有効にします。 クラウド サービス構成で作成されたプールの場合は、ポート 10100、20100、および 30100 を有効にします。 また、ポート 443 で Azure Storage への送信接続を有効にします。 cloudServiceConfiguration プールでは、"クラシック" VNET のみがサポートされます。 詳細については、/azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration を参照してください。

PoolEndpointConfiguration

名前 形容 価値
inboundNatPools Batch プールあたりの受信 NAT プールの最大数は 5 です。 受信 NAT プールの最大数を超えた場合、要求は HTTP 状態コード 400 で失敗します。 IPAddressProvisioningType が NoPublicIPAddresses の場合、これは指定できません。 InboundNatPool[] (必須)

InboundNatPool

名前 形容 価値
backendPort これは Batch プール内で一意である必要があります。 22、3389、29876、29877 を除き、使用可能な値は 1 から 65535 の間です。これらは予約されています。 予約された値が指定された場合、要求は HTTP 状態コード 400 で失敗します。 int (必須)
frontendPortRangeEnd 指定できる値の範囲は 1 ~ 65534 です。ただし、Batch サービスによって予約されているポートは 50000 ~ 55000 です。 プール内のすべての範囲は個別である必要があり、重複することはできません。 予約された値または重複する値が指定されている場合、要求は HTTP 状態コード 400 で失敗します。 int (必須)
frontendPortRangeStart 使用可能な値の範囲は 1 ~ 65534 です。ただし、予約されているポートは 50000 ~ 55000 です。 プール内のすべての範囲は個別である必要があり、重複することはできません。 予約された値または重複する値が指定されている場合、要求は HTTP 状態コード 400 で失敗します。 int (必須)
名前 名前は Batch プール内で一意である必要があり、文字、数字、アンダースコア、ピリオド、ハイフンを含めることができます。 名前は文字または数字で始まる必要があり、末尾は文字、数字、またはアンダースコアで終わる必要があり、77 文字を超えることはできません。 無効な値が指定された場合、要求は HTTP 状態コード 400 で失敗します。 string (必須)
networkSecurityGroupRules Batch プール上のすべてのエンドポイントで指定できるルールの最大数は 25 です。 ネットワーク セキュリティ グループの規則が指定されていない場合は、指定された backendPort への受信アクセスを許可する既定の規則が作成されます。 ネットワーク セキュリティ グループ規則の最大数を超えた場合、要求は HTTP 状態コード 400 で失敗します。 NetworkSecurityGroupRule[]
議定書 エンドポイントのプロトコル。 'TCP'
'UDP' (必須)

NetworkSecurityGroupRule

名前 形容 価値
アクセス 指定した IP アドレス、サブネット範囲、またはタグに対して実行する必要があるアクション。 'Allow'
'Deny' (必須)
優先権 プール内の優先順位は一意である必要があり、優先順位の順に評価されます。 数値が小さい方が優先度が高くなります。 たとえば、順序番号が 150、250、350 のルールを指定できます。 順序番号が 150 のルールは、順序が 250 のルールよりも優先されます。 許可される優先順位は 150 から 4096 です。 予約された値または重複する値が指定されている場合、要求は HTTP 状態コード 400 で失敗します。 int (必須)
sourceAddressPrefix 有効な値は、1 つの IP アドレス (10.10.10.10.10)、IP サブネット (つまり 192.168.1.0/24)、既定のタグ、または * (すべてのアドレスの場合) です。 その他の値が指定されている場合、要求は HTTP 状態コード 400 で失敗します。 string (必須)
sourcePortRanges 有効な値は、'*' (すべてのポート 0 から 65535) またはポートまたはポート範囲の配列 (つまり、100 から 200) です。 ポートは 0 ~ 65535 の範囲にする必要があり、ポート範囲またはポートは重複できません。 その他の値が指定されている場合、要求は HTTP 状態コード 400 で失敗します。 既定値は *です。 string[]

PublicIPAddressConfiguration

名前 形容 価値
ipAddressIds ここで指定する IP の数によって、プールの最大サイズが制限されます。パブリック IP ごとに 100 個の専用ノードまたは 100 個の低優先度ノードを割り当てることができます。 たとえば、250 個の専用 VM を必要とするプールには、少なくとも 3 つのパブリック IP が指定されている必要があります。 このコレクションの各要素は、/subscriptions/{subscription}/resourceGroups/{group}/providers/Microsoft.Network/publicIPAddresses/{ip} の形式です。 string[]
支給 既定値は BatchManaged です 'BatchManaged'
'NoPublicIPAddresses'
'UserManaged'

ScaleSettings

名前 形容 価値
autoScale このプロパティと fixedScale は相互に排他的であり、プロパティの 1 つを指定する必要があります。 AutoScaleSettings の
fixedScale このプロパティと自動スケールは相互に排他的であり、プロパティの 1 つを指定する必要があります。 FixedScaleSettings

AutoScaleSettings

名前 形容 価値
evaluationInterval 省略した場合、既定値は 15 分 (PT15M) です。
プール内のコンピューティング ノードの必要な数の数式。 string (必須)

FixedScaleSettings

名前 形容 価値
nodeDeallocationOption 省略した場合、既定値は Requeue です。 'Requeue'
'RetainedData'
'TaskCompletion'
'Terminate'
resizeTimeout 既定値は 15 分です。 タイムアウト値は ISO 8601 形式を使用します。 たとえば、PT10M を 10 分間使用します。 最小値は 5 分です。 5 分未満の値を指定した場合、Batch サービスはエラーで要求を拒否します。REST API を直接呼び出す場合、HTTP 状態コードは 400 (無効な要求) です。
targetDedicatedNodes targetDedicatedNodes のうち少なくとも 1 つ、targetLowPriorityNodes を設定する必要があります。 int
targetLowPriorityNodes targetDedicatedNodes のうち少なくとも 1 つ、targetLowPriorityNodes を設定する必要があります。 int

StartTask

名前 形容 価値
commandLine コマンド ラインはシェルでは実行されないため、環境変数の拡張などのシェル機能を利用することはできません。 このような機能を利用する場合は、コマンド ラインでシェルを呼び出す必要があります。たとえば、Windows では "cmd /c MyCommand" を使用し、Linux では "/bin/sh -c MyCommand" を使用します。 startTask の他のプロパティが指定されている場合は必須です。
containerSettings これを指定すると、AZ_BATCH_NODE_ROOT_DIRの下にあるすべてのディレクトリ (ノード上の Azure Batch ディレクトリのルート) がコンテナーに再帰的にマップされ、すべてのタスク環境変数がコンテナーにマップされ、タスク コマンド ラインがコンテナーで実行されます。 TaskContainerSettings
environmentSettings 開始タスクの環境変数設定の一覧。 EnvironmentSetting[]
maxTaskRetryCount 終了コードが 0 以外の場合、Batch サービスはタスクを再試行します。 この値は、再試行回数を特に制御します。 Batch サービスはタスクを 1 回試し、この制限まで再試行できます。 たとえば、最大再試行回数が 3 の場合、Batch はタスクを最大 4 回試行します (1 回の最初の再試行と 3 回の再試行)。 最大再試行回数が 0 の場合、Batch サービスはタスクを再試行しません。 最大再試行回数が -1 の場合、Batch サービスは制限なくタスクを再試行します。 int
resourceFiles コマンド ラインを実行する前に Batch サービスがコンピューティング ノードにダウンロードするファイルの一覧。 ResourceFile[]
userIdentity 省略すると、タスクはタスクに固有の非管理ユーザーとして実行されます。 UserIdentity の
waitForSuccess true で、コンピューティング ノードで開始タスクが失敗した場合、Batch サービスは開始タスクを最大再試行回数 (maxTaskRetryCount) まで再試行します。 すべての再試行の後もタスクが正常に完了していない場合、Batch サービスはコンピューティング ノードを使用不可としてマークし、タスクをスケジュールしません。 この条件は、ノードの状態とスケジュール エラーの詳細を使用して検出できます。 false の場合、Batch サービスは開始タスクの完了を待機しません。 この場合、開始タスクの実行中に、他のタスクがコンピューティング ノードで実行を開始できます。開始タスクが失敗した場合でも、新しいタスクはノードで引き続きスケジュールされます。 既定値は true です。 bool

TaskContainerSettings

名前 形容 価値
containerRunOptions これらの追加オプションは、Batch サービスによって制御されるオプションに加えて、"docker create" コマンドの引数として提供されます。
imageName これは、"docker pull" に指定される完全なイメージ参照です。 イメージ名の一部としてタグが指定されていない場合、タグ ":latest" が既定として使用されます。 string (必須)
記帳 プールの作成時に既に指定されている場合は、この設定を省略できます。 ContainerRegistry
workingDirectory コンテナー タスクの作業ディレクトリの場所を示すフラグ。 既定値は 'taskWorkingDirectory' です。 'ContainerImageDefault'
'TaskWorkingDirectory'

EnvironmentSetting

名前 形容 価値
名前 環境変数の名前。 string (必須)
価値 環境変数の値。

ResourceFile

名前 形容 価値
autoStorageContainerName autoStorageContainerName、storageContainerUrl、および httpUrl プロパティは相互に排他的であり、そのうちの 1 つを指定する必要があります。
blobPrefix このプロパティは、autoStorageContainerName または storageContainerUrl が使用されている場合にのみ有効です。 このプレフィックスには、部分的なファイル名またはサブディレクトリを指定できます。 プレフィックスが指定されていない場合は、コンテナー内のすべてのファイルがダウンロードされます。
fileMode このプロパティは、Linux コンピューティング ノードにダウンロードされるファイルにのみ適用されます。 これは、Windows ノードにダウンロードされる resourceFile に対して指定されている場合は無視されます。 Linux ノードにこのプロパティが指定されていない場合は、既定値の 0770 がファイルに適用されます。
filePath httpUrl プロパティが指定されている場合、filePath は必須であり、ファイルのダウンロード先となるパス (ファイル名を含む) を記述します。 それ以外の場合、autoStorageContainerName または storageContainerUrl プロパティが指定されている場合、filePath は省略可能であり、ファイルをダウンロードするディレクトリです。 filePath がディレクトリとして使用されている場合、入力データに既に関連付けられているディレクトリ構造は完全に保持され、指定された filePath ディレクトリに追加されます。 指定した相対パスは、タスクの作業ディレクトリから抜け出すことはできません (たとえば、'..' を使用)。
httpUrl autoStorageContainerName、storageContainerUrl、および httpUrl プロパティは相互に排他的であり、そのうちの 1 つを指定する必要があります。 URL が Azure Blob Storage の場合は、匿名アクセスを使用して読み取り可能である必要があります。つまり、Batch サービスは BLOB のダウンロード時に資格情報を提示しません。 Azure Storage 内の BLOB のこのような URL を取得するには、BLOB に対する読み取りアクセス許可を付与する Shared Access Signature (SAS) を含めるか、パブリック アクセスを許可するように BLOB またはそのコンテナーの ACL を設定する方法の 2 つがあります。
storageContainerUrl autoStorageContainerName、storageContainerUrl、および httpUrl プロパティは相互に排他的であり、そのうちの 1 つを指定する必要があります。 この URL は、匿名アクセスを使用して読み取り可能でリスト可能である必要があります。つまり、Batch サービスは BLOB のダウンロード時に資格情報を提示しません。 Azure Storage 内の BLOB のこのような URL を取得するには、BLOB に対する読み取りと一覧表示のアクセス許可を付与する Shared Access Signature (SAS) を含める方法と、パブリック アクセスを許可するように BLOB またはそのコンテナーの ACL を設定する方法の 2 つがあります。

UserIdentity

名前 形容 価値
autoUser userName プロパティと autoUser プロパティは相互に排他的です。1 つを指定する必要がありますが、両方を指定する必要はありません。 AutoUserSpecification の
userName userName プロパティと autoUser プロパティは相互に排他的です。1 つを指定する必要がありますが、両方を指定する必要はありません。

AutoUserSpecification

名前 形容 価値
elevationLevel 既定値は nonAdmin です。 'Admin'
'NonAdmin'
スコープ 既定値は Pool です。 プールが Windows を実行している場合は、タスク間のより厳密な分離が必要な場合は、Task の値を指定する必要があります。 たとえば、タスクが他のタスクに影響を与える可能性のある方法でレジストリを変更する場合や、通常のタスクではアクセスできないが、開始タスクからアクセスできる必要がある証明書がプールで指定されている場合などです。 'Pool'
'Task'

TaskSchedulingPolicy

名前 形容 価値
nodeFillType タスクをコンピューティング ノード間で分散する方法。 'Pack'
'Spread' (必須)

UserAccount

名前 形容 価値
elevationLevel nonAdmin - 自動ユーザーは、昇格されたアクセス権を持たない標準ユーザーです。 admin - 自動ユーザーは昇格されたアクセス権を持つユーザーであり、完全な管理者アクセス許可で動作します。 既定値は nonAdmin です。 'Admin'
'NonAdmin'
linuxUserConfiguration このプロパティは、Windows プールで指定されている場合は無視されます。 指定しない場合、ユーザーは既定のオプションで作成されます。 LinuxUserConfiguration
名前 ユーザー アカウントの名前。 string (必須)
パスワード ユーザー アカウントのパスワード。 string (必須)
windowsUserConfiguration このプロパティは、ユーザーが Windows プール上にある場合にのみ指定できます。 指定されていない場合、Windows プールでは、既定のオプションを使用してユーザーが作成されます。 WindowsUserConfiguration

LinuxUserConfiguration

名前 形容 価値
gid uid プロパティと gid プロパティは、一緒に指定するか、まったく指定しない必要があります。 指定しない場合、基になるオペレーティング システムは gid を選択します。 int
sshPrivateKey 秘密キーはパスワードで保護しないでください。 この秘密キーは、プールの enableInterNodeCommunication プロパティが true の場合 (enableInterNodeCommunication が false の場合は無視されます)、Linux プール内のノード間で SSH の非対称キー ベースの認証を自動的に構成するために使用されます。 これを行うには、キー ペアをユーザーの .ssh ディレクトリに配置します。 指定しない場合、ノード間でパスワードレス SSH は構成されません (ユーザーの .ssh ディレクトリの変更は行われません)。
uid uid プロパティと gid プロパティは、一緒に指定するか、まったく指定しない必要があります。 指定しない場合、基になるオペレーティング システムは uid を選択します。 int

WindowsUserConfiguration

名前 形容 価値
loginMode ユーザーのログイン モードを指定します。 VirtualMachineConfiguration プールの既定値は対話型モードで、CloudServiceConfiguration プールの場合はバッチ モードです。 'Batch'
'Interactive'

クイック スタート テンプレート

次のクイック スタート テンプレートでは、このリソースの種類をデプロイします。

テンプレート 形容
パブリック IP アドレスを せずに Azure Batch プールを する

Azure
にデプロイする
このテンプレートでは、パブリック IP アドレスのない Azure Batch の簡略化されたノード通信プールが作成されます。

Terraform (AzAPI プロバイダー) リソース定義

batchAccounts/pools リソースの種類は、次をターゲットとする操作と共にデプロイできます。

  • リソース グループの

各 API バージョンで変更されたプロパティの一覧については、変更ログの参照してください。

リソースの形式

Microsoft.Batch/batchAccounts/pools リソースを作成するには、次の Terraform をテンプレートに追加します。

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.Batch/batchAccounts/pools@2021-01-01"
  name = "string"
  parent_id = "string"
  identity {
    type =  "UserAssigned"
    identity_ids = []
  }
  body = jsonencode({
    properties = {
      applicationLicenses = [
        "string"
      ]
      applicationPackages = [
        {
          id = "string"
          version = "string"
        }
      ]
      certificates = [
        {
          id = "string"
          storeLocation = "string"
          storeName = "string"
          visibility = [
            "string"
          ]
        }
      ]
      deploymentConfiguration = {
        cloudServiceConfiguration = {
          osFamily = "string"
          osVersion = "string"
        }
        virtualMachineConfiguration = {
          containerConfiguration = {
            containerImageNames = [
              "string"
            ]
            containerRegistries = [
              {
                password = "string"
                registryServer = "string"
                username = "string"
              }
            ]
            type = "DockerCompatible"
          }
          dataDisks = [
            {
              caching = "string"
              diskSizeGB = int
              lun = int
              storageAccountType = "string"
            }
          ]
          diskEncryptionConfiguration = {
            targets = [
              "string"
            ]
          }
          extensions = [
            {
              autoUpgradeMinorVersion = bool
              name = "string"
              provisionAfterExtensions = [
                "string"
              ]
              publisher = "string"
              type = "string"
              typeHandlerVersion = "string"
            }
          ]
          imageReference = {
            id = "string"
            offer = "string"
            publisher = "string"
            sku = "string"
            version = "string"
          }
          licenseType = "string"
          nodeAgentSkuId = "string"
          nodePlacementConfiguration = {
            policy = "string"
          }
          windowsConfiguration = {
            enableAutomaticUpdates = bool
          }
        }
      }
      displayName = "string"
      interNodeCommunication = "string"
      metadata = [
        {
          name = "string"
          value = "string"
        }
      ]
      mountConfiguration = [
        {
          azureBlobFileSystemConfiguration = {
            accountKey = "string"
            accountName = "string"
            blobfuseOptions = "string"
            containerName = "string"
            relativeMountPath = "string"
            sasKey = "string"
          }
          azureFileShareConfiguration = {
            accountKey = "string"
            accountName = "string"
            azureFileUrl = "string"
            mountOptions = "string"
            relativeMountPath = "string"
          }
          cifsMountConfiguration = {
            mountOptions = "string"
            password = "string"
            relativeMountPath = "string"
            source = "string"
            username = "string"
          }
          nfsMountConfiguration = {
            mountOptions = "string"
            relativeMountPath = "string"
            source = "string"
          }
        }
      ]
      networkConfiguration = {
        endpointConfiguration = {
          inboundNatPools = [
            {
              backendPort = int
              frontendPortRangeEnd = int
              frontendPortRangeStart = int
              name = "string"
              networkSecurityGroupRules = [
                {
                  access = "string"
                  priority = int
                  sourceAddressPrefix = "string"
                  sourcePortRanges = [
                    "string"
                  ]
                }
              ]
              protocol = "string"
            }
          ]
        }
        publicIPAddressConfiguration = {
          ipAddressIds = [
            "string"
          ]
          provision = "string"
        }
        subnetId = "string"
      }
      scaleSettings = {
        autoScale = {
          evaluationInterval = "string"
          formula = "string"
        }
        fixedScale = {
          nodeDeallocationOption = "string"
          resizeTimeout = "string"
          targetDedicatedNodes = int
          targetLowPriorityNodes = int
        }
      }
      startTask = {
        commandLine = "string"
        containerSettings = {
          containerRunOptions = "string"
          imageName = "string"
          registry = {
            password = "string"
            registryServer = "string"
            username = "string"
          }
          workingDirectory = "string"
        }
        environmentSettings = [
          {
            name = "string"
            value = "string"
          }
        ]
        maxTaskRetryCount = int
        resourceFiles = [
          {
            autoStorageContainerName = "string"
            blobPrefix = "string"
            fileMode = "string"
            filePath = "string"
            httpUrl = "string"
            storageContainerUrl = "string"
          }
        ]
        userIdentity = {
          autoUser = {
            elevationLevel = "string"
            scope = "string"
          }
          userName = "string"
        }
        waitForSuccess = bool
      }
      taskSchedulingPolicy = {
        nodeFillType = "string"
      }
      taskSlotsPerNode = int
      userAccounts = [
        {
          elevationLevel = "string"
          linuxUserConfiguration = {
            gid = int
            sshPrivateKey = "string"
            uid = int
          }
          name = "string"
          password = "string"
          windowsUserConfiguration = {
            loginMode = "string"
          }
        }
      ]
      vmSize = "string"
    }
  })
}

プロパティ値

batchAccounts/pools

名前 形容 価値
種類 リソースの種類 "Microsoft.Batch/batchAccounts/pools@2021-01-01"
名前 リソース名 string (必須)

文字制限: 1 ~ 64

有効な文字:
英数字、アンダースコア、ハイフン。
parent_id このリソースの親であるリソースの ID。 種類のリソースの ID: batchAccounts
同一性 バッチ プールに使用される ID の種類。 BatchPoolIdentity の
プロパティ プールに関連付けられているプロパティ。 PoolProperties

BatchPoolIdentity

名前 形容 価値
種類 バッチ プールに使用される ID の種類。 "UserAssigned" (必須)
identity_ids Batch プールに関連付けられているユーザー ID の一覧。 ユーザー ID ディクショナリ のキー参照は、'/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}' という形式の ARM リソース ID になります。 ユーザー ID ID の配列。

BatchPoolIdentityUserAssignedIdentities

名前 形容 価値
{カスタマイズされたプロパティ} Components81XseeSchemasBatchpoolidentityPropertiesUs...

Components81XseeSchemasBatchpoolidentityPropertiesUs...

このオブジェクトには、配置時に設定するプロパティは含まれません。 すべてのプロパティは ReadOnly です。

PoolProperties

名前 形容 価値
applicationLicenses アプリケーション ライセンスの一覧は、使用可能な Batch サービス アプリケーション ライセンスのサブセットである必要があります。 サポートされていないライセンスが要求された場合、プールの作成は失敗します。 string[]
applicationPackages アプリケーション パッケージ参照に対する変更は、プールに参加しているすべての新しいコンピューティング ノードに影響しますが、再起動または再イメージ化されるまで、プール内に既に存在するコンピューティング ノードには影響しません。 特定のプールには、最大 10 個のアプリケーション パッケージ参照があります。 ApplicationPackageReference[]
証明 書 Windows コンピューティング ノードの場合、Batch サービスは、指定された証明書ストアと場所に証明書をインストールします。 Linux コンピューティング ノードの場合、証明書はタスク作業ディレクトリ内のディレクトリに格納され、この場所を照会するためにタスクにAZ_BATCH_CERTIFICATES_DIR環境変数が提供されます。 'remoteUser' の可視性を持つ証明書の場合、ユーザーのホーム ディレクトリ (/home/{user-name}/certs など) に 'certs' ディレクトリが作成され、そのディレクトリに証明書が配置されます。 CertificateReference[]
deploymentConfiguration CloudServiceConfiguration を使用すると、ノードは Azure Cloud Services (PaaS) を使用して作成する必要があり、VirtualMachineConfiguration では Azure Virtual Machines (IaaS) が使用されます。 DeploymentConfiguration
displayName 表示名は一意である必要はありません。最大長 1024 までの Unicode 文字を含めることができます。
interNodeCommunication これにより、プールに割り当てることができるノードに制限が適用されます。 この値を有効にすると、要求されたノード数がプールに割り当てられる可能性が低くなります。 指定しない場合、この値の既定値は "Disabled" になります。 "無効"
"有効"
metadata Batch サービスは、メタデータに意味を割り当てません。これは、ユーザー コードの使用のみを目的とします。 MetadataItem[]
mountConfiguration これにより、Azure Files、NFS、CIFS/SMB、Blobfuse がサポートされます。 MountConfiguration[]
networkConfiguration プールのネットワーク構成。 NetworkConfiguration
scaleSettings プールの目的のサイズを定義します。 これは、要求された targetDedicatedNodes が指定されている "fixedScale" か、定期的に再評価される数式を定義する 'autoScale' のいずれかです。 このプロパティを指定しない場合、プールは 0 targetDedicatedNodes を使用して固定スケールになります。 ScaleSettings
startTask PATCH (更新) 操作では、このプロパティを空のオブジェクトに設定して、プールから開始タスクを削除できます。 StartTask の
taskSchedulingPolicy 指定しない場合、既定値はスプレッドです。 TaskSchedulingPolicy
taskSlotsPerNode 既定値は 1 です。 最大値は、プールの vmSize または 256 のコア数の 4 倍の小さい値です。 int
userAccounts プール内の各ノードに作成するユーザー アカウントの一覧。 UserAccount[]
vmSize Cloud Services プール (cloudServiceConfiguration で作成されたプール) で使用可能な仮想マシンのサイズについては、「Cloud Services のサイズ (https://azure.microsoft.com/documentation/articles/cloud-services-sizes-specs/)」を参照してください。 Batch では、ExtraSmall を除くすべての Cloud Services VM サイズがサポートされます。 Virtual Machines Marketplace のイメージを使用するプールで使用可能な VM サイズ (virtualMachineConfiguration で作成されたプール) の詳細については、「Virtual Machines (Linux) のサイズ (/azure/virtual-machines/sizes-general)」または「Virtual Machines (Windows) のサイズ (https://azure.microsoft.com/documentation/articles/virtual-machines-windows-sizes/)」を参照してください。 Batch では、STANDARD_A0と Premium Storage (STANDARD_GS、STANDARD_DS、STANDARD_DSV2 シリーズ) を除くすべての Azure VM サイズがサポートされます。

ApplicationPackageReference

名前 形容 価値
身分証明書 インストールするアプリケーション パッケージの ID。 これは、プールと同じバッチ アカウント内にある必要があります。 これは、特定のバージョンへの参照でも、存在する場合は既定のバージョンでもかまいません。 string (必須)
バージョン これを省略し、このアプリケーションに既定のバージョンが指定されていない場合、要求はエラー コード InvalidApplicationPackageReferences で失敗します。 REST API を直接呼び出す場合、HTTP 状態コードは 409 です。

CertificateReference

名前 形容 価値
身分証明書 プールにインストールする証明書の完全修飾 ID。 これは、プールと同じバッチ アカウント内にある必要があります。 string (必須)
storeLocation 既定値は currentUser です。 このプロパティは、Windows ノードで構成されたプール (つまり、cloudServiceConfiguration で作成されたプール、または Windows イメージ参照を使用した virtualMachineConfiguration を使用して作成されたプール) にのみ適用されます。 Linux コンピューティング ノードの場合、証明書はタスク作業ディレクトリ内のディレクトリに格納され、この場所を照会するためにタスクにAZ_BATCH_CERTIFICATES_DIR環境変数が提供されます。 'remoteUser' の可視性を持つ証明書の場合、ユーザーのホーム ディレクトリ (/home/{user-name}/certs など) に 'certs' ディレクトリが作成され、そのディレクトリに証明書が配置されます。 "CurrentUser"
"LocalMachine"
storeName このプロパティは、Windows ノードで構成されたプール (つまり、cloudServiceConfiguration で作成されたプール、または Windows イメージ参照を使用した virtualMachineConfiguration を使用して作成されたプール) にのみ適用されます。 一般的なストア名には、My、Root、CA、Trust、Disallowed、TrustedPeople、TrustedPublisher、AuthRoot、AddressBook などがありますが、カスタム ストア名も使用できます。 既定値は My です。
可視 証明書のプライベート データにアクセスできるコンピューティング ノード上のユーザー アカウント。 次のいずれかを含む文字列配列:
"RemoteUser"
"StartTask"
"タスク"

DeploymentConfiguration

名前 形容 価値
cloudServiceConfiguration このプロパティと virtualMachineConfiguration は相互に排他的であり、プロパティの 1 つを指定する必要があります。 batch アカウントが poolAllocationMode プロパティを 'UserSubscription' に設定して作成された場合、このプロパティを指定できません。 CloudServiceConfiguration
virtualMachineConfiguration このプロパティと cloudServiceConfiguration は相互に排他的であり、プロパティの 1 つを指定する必要があります。 VirtualMachineConfiguration

CloudServiceConfiguration

名前 形容 価値
osFamily 使用可能な値は 2 - OS ファミリ 2 で、Windows Server 2008 R2 SP1 に相当します。 3 - WINDOWS Server 2012 と同等の OS ファミリ 3。 4 - WINDOWS Server 2012 R2 と同等の OS ファミリ 4。 5 - Windows Server 2016 と同等の OS ファミリ 5。 6 - Windows Server 2019 と同等の OS ファミリ 6。 詳細については、「Azure ゲスト OS リリース (https://azure.microsoft.com/documentation/articles/cloud-services-guestos-update-matrix/#releases)」を参照してください。 string (必須)
osVersion 既定値は * で、指定した OS ファミリの最新のオペレーティング システム バージョンを指定します。

VirtualMachineConfiguration

名前 形容 価値
containerConfiguration 指定した場合、タスクをコンテナーで実行できるように、プール内の各ノードでセットアップが実行されます。 このプールで実行されるすべての通常のタスクとジョブ マネージャー タスクは containerSettings プロパティを指定する必要があり、他のすべてのタスクで指定できます。 ContainerConfiguration
dataDisks プール内のコンピューティング ノードに空のデータ ディスクが接続されている必要がある場合は、このプロパティを指定する必要があります。 DataDisk[]
diskEncryptionConfiguration 指定した場合、暗号化は、ノードのプロビジョニング中にプール内の各ノードで実行されます。 DiskEncryptionConfiguration
拡張 機能 指定した場合、この構成に記載されている拡張機能が各ノードにインストールされます。 VMExtension[]
imageReference カスタム仮想マシンの Azure Virtual Machines Marketplace イメージまたは Azure Image リソースへの参照。 Azure Batch によって検証されたすべての imageReferences の一覧を取得するには、「サポートされているノード エージェント SKU の一覧表示」操作を参照してください。 ImageReference (必須)
licenseType これは、Windows オペレーティング システムを含むイメージにのみ適用され、展開されるノードの有効なオンプレミス ライセンスを保持している場合にのみ使用する必要があります。 省略した場合、オンプレミスのライセンス割引は適用されません。 値は次のとおりです。

Windows_Server - オンプレミスライセンスは Windows Server 用です。
Windows_Client - オンプレミス ライセンスは Windows クライアント用です。
nodeAgentSkuId Batch ノード エージェントは、プール内の各ノードで実行されるプログラムであり、ノードと Batch サービスの間のコマンドおよび制御インターフェイスを提供します。 オペレーティング システムごとに、SKU と呼ばれるノード エージェントのさまざまな実装があります。 選択したイメージ参照に一致するノード エージェント SKU を指定する必要があります。 サポートされているノード エージェント SKU の一覧と検証済みイメージ参照の一覧を取得するには、「サポートされているノード エージェント SKU の一覧表示」操作を参照してください。 string (必須)
nodePlacementConfiguration この構成では、プール内のノードを物理的に割り当てる方法に関する規則を指定します。 NodePlacementConfiguration
windowsConfiguration imageReference で Linux OS イメージが指定されている場合は、このプロパティを指定しないでください。 WindowsConfiguration

ContainerConfiguration

名前 形容 価値
containerImageNames これは、"docker pull" に指定される完全なイメージ参照です。 イメージが代替レジストリで完全修飾されていない限り、イメージは既定の Docker レジストリから取得されます。 string[]
containerRegistries 資格情報を必要とするプライベート レジストリからイメージをダウンロードする必要がある場合は、これらの資格情報をここで指定する必要があります。 ContainerRegistry[]
種類 使用するコンテナー テクノロジ。 "DockerCompatible" (必須)

ContainerRegistry

名前 形容 価値
パスワード レジストリ サーバーにログインするためのパスワード。 string (必須)
registryServer 省略した場合、既定値は "docker.io" です。
username レジストリ サーバーにログインするユーザー名。 string (必須)

DataDisk

名前 形容 価値
キャッシング 値は次のとおりです。

none - ディスクのキャッシュ モードが有効になっていません。
readOnly - ディスクのキャッシュ モードは読み取り専用です。
readWrite - ディスクのキャッシュ モードは読み取りと書き込みです。

キャッシュの既定値は none です。 キャッシュ オプションの詳細については、次を参照してください: https://blogs.msdn.microsoft.com/windowsazurestorage/2012/06/27/exploring-windows-azure-drives-disks-and-images/.
"なし"
"ReadOnly"
"ReadWrite"
diskSizeGB 新しいデータ ディスクを作成するときの初期ディスク サイズ (GB)。 int (必須)
lun lun は、各データ ディスクを一意に識別するために使用されます。 複数のディスクを接続する場合は、それぞれ個別の LUN が必要です。 値は、0 ~ 63 の範囲である必要があります。 int (必須)
storageAccountType 省略した場合、既定値は "Standard_LRS" です。 値は次のとおりです。

Standard_LRS - データ ディスクは、標準のローカル冗長ストレージを使用する必要があります。
Premium_LRS - データ ディスクでは、Premium ローカル冗長ストレージを使用する必要があります。
"Premium_LRS"
"Standard_LRS"

DiskEncryptionConfiguration

名前 形容 価値
ターゲット Linux プールでは、"TemporaryDisk" のみがサポートされています。Windows プールでは、"OsDisk" と "TemporaryDisk" を指定する必要があります。 次のいずれかを含む文字列配列:
"OsDisk"
"TemporaryDisk"

VMExtension

名前 形容 価値
autoUpgradeMinorVersion 展開時に使用可能な場合に、拡張機能で新しいマイナー バージョンを使用する必要があるかどうかを示します。 ただし、デプロイされると、このプロパティが true に設定されていても、再デプロイされない限り、拡張機能はマイナー バージョンをアップグレードしません。 bool
名前 仮想マシン拡張機能の名前。 string (必須)
protectedSettings 拡張機能には、protectedSettings または protectedSettingsFromKeyVault、または保護された設定をまったく含めなくなります。
provisionAfterExtensions この拡張機能をプロビジョニングする必要がある拡張機能名のコレクション。 string[]
発行者 拡張ハンドラーの発行元の名前。 string (必須)
設定 拡張機能の JSON 形式のパブリック設定。
種類 拡張機能の種類。 string (必須)
typeHandlerVersion スクリプト ハンドラーのバージョン。

ImageReference

名前 形容 価値
身分証明書 このプロパティは、他のプロパティと相互に排他的です。 共有イメージ ギャラリー イメージには、Azure Batch アカウントと同じリージョンにレプリカが必要です。 Batch サービスと通信するための Batch ノード エージェントのファイアウォール設定については、/azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration を参照してください。
提供 たとえば、UbuntuServer や WindowsServer などです。
発行者 たとえば、Canonical または MicrosoftWindowsServer です。
sku たとえば、18.04-LTS や 2019-Datacenter などです。
バージョン "latest" の値を指定して、イメージの最新バージョンを選択できます。 省略した場合、既定値は 'latest' です。

NodePlacementConfiguration

名前 形容 価値
政策 ノードをプロビジョニングするために Batch Service によって使用される割り当てポリシー。 指定しない場合、Batch はリージョン ポリシーを使用します。 "地域"
"Zonal"

WindowsConfiguration

名前 形容 価値
enableAutomaticUpdates 省略した場合、既定値は true です。 bool

MetadataItem

名前 形容 価値
名前 メタデータ項目の名前。 string (必須)
価値 メタデータ項目の値。 string (必須)

MountConfiguration

名前 形容 価値
azureBlobFileSystemConfiguration このプロパティは、他のすべてのプロパティと相互に排他的です。 AzureBlobFileSystemConfiguration の
azureFileShareConfiguration このプロパティは、他のすべてのプロパティと相互に排他的です。 AzureFileShareConfiguration
cifsMountConfiguration このプロパティは、他のすべてのプロパティと相互に排他的です。 CifsMountConfiguration の
nfsMountConfiguration このプロパティは、他のすべてのプロパティと相互に排他的です。 NFSMountConfiguration の

AzureBlobFileSystemConfiguration

名前 形容 価値
accountKey このプロパティは sasKey と相互に排他的であり、1 つを指定する必要があります。
accountName Azure ストレージ アカウント名。 string (必須)
blobfuseOptions これらは、Windows の "net use" オプションと Linux の "マウント" オプションです。
containerName Azure Blob Storage コンテナー名。 string (必須)
relativeMountPath すべてのファイル システムは、AZ_BATCH_NODE_MOUNTS_DIR環境変数を介してアクセスできる Batch マウント ディレクトリに対して相対的にマウントされます。 string (必須)
sasKey このプロパティは accountKey と相互に排他的であり、1 つを指定する必要があります。

AzureFileShareConfiguration

名前 形容 価値
accountKey Azure Storage アカウント キー。 string (必須)
accountName Azure Storage アカウント名。 string (必須)
azureFileUrl これは 'https://{account}.file.core.windows.net/' の形式です。 string (必須)
mountOptions これらは、Windows の "net use" オプションと Linux の "マウント" オプションです。
relativeMountPath すべてのファイル システムは、AZ_BATCH_NODE_MOUNTS_DIR環境変数を介してアクセスできる Batch マウント ディレクトリに対して相対的にマウントされます。 string (必須)

CifsMountConfiguration

名前 形容 価値
mountOptions これらは、Windows の "net use" オプションと Linux の "マウント" オプションです。
パスワード CIFS ファイル システムに対する認証に使用するパスワード。 string (必須)
relativeMountPath すべてのファイル システムは、AZ_BATCH_NODE_MOUNTS_DIR環境変数を介してアクセスできる Batch マウント ディレクトリに対して相対的にマウントされます。 string (必須)
マウントするファイル システムの URI。 string (必須)
username CIFS ファイル システムに対する認証に使用するユーザー。 string (必須)

NFSMountConfiguration

名前 形容 価値
mountOptions これらは、Windows の "net use" オプションと Linux の "マウント" オプションです。
relativeMountPath すべてのファイル システムは、AZ_BATCH_NODE_MOUNTS_DIR環境変数を介してアクセスできる Batch マウント ディレクトリに対して相対的にマウントされます。 string (必須)
マウントするファイル システムの URI。 string (必須)

NetworkConfiguration

名前 形容 価値
endpointConfiguration プール エンドポイントの構成は、virtualMachineConfiguration プロパティを持つプールでのみサポートされます。 PoolEndpointConfiguration
publicIPAddressConfiguration このプロパティは、virtualMachineConfiguration プロパティを持つプールでのみサポートされます。 PublicIPAddressConfiguration
subnetId 仮想ネットワークは、Azure Batch アカウントと同じリージョンとサブスクリプションに存在する必要があります。 指定されたサブネットには、プール内のノード数に対応できる十分な空き IP アドレスが必要です。 サブネットに十分な空き IP アドレスがない場合、プールはコンピューティング ノードを部分的に割り当て、サイズ変更エラーが発生します。 "MicrosoftAzureBatch" サービス プリンシパルには、指定された VNet の "クラシック仮想マシン共同作成者" Role-Based アクセス制御 (RBAC) ロールが必要です。 指定したサブネットでは、コンピューティング ノードでタスクをスケジュールできるように、Azure Batch サービスからの通信を許可する必要があります。 これは、指定された VNet にネットワーク セキュリティ グループ (NSG) が関連付けられているかどうかを確認することで確認できます。 指定したサブネット内のコンピューティング ノードへの通信が NSG によって拒否された場合、Batch サービスはコンピューティング ノードの状態を使用不可に設定します。 指定した VNet にネットワーク セキュリティ グループ (NSG) が関連付けられている場合は、いくつかの予約済みシステム ポートを受信通信に対して有効にする必要があります。 仮想マシン構成で作成されたプールの場合は、ポート 29876 と 29877、Linux の場合はポート 22、Windows の場合はポート 3389 を有効にします。 クラウド サービス構成で作成されたプールの場合は、ポート 10100、20100、および 30100 を有効にします。 また、ポート 443 で Azure Storage への送信接続を有効にします。 cloudServiceConfiguration プールでは、"クラシック" VNET のみがサポートされます。 詳細については、/azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration を参照してください。

PoolEndpointConfiguration

名前 形容 価値
inboundNatPools Batch プールあたりの受信 NAT プールの最大数は 5 です。 受信 NAT プールの最大数を超えた場合、要求は HTTP 状態コード 400 で失敗します。 IPAddressProvisioningType が NoPublicIPAddresses の場合、これは指定できません。 InboundNatPool[] (必須)

InboundNatPool

名前 形容 価値
backendPort これは Batch プール内で一意である必要があります。 22、3389、29876、29877 を除き、使用可能な値は 1 から 65535 の間です。これらは予約されています。 予約された値が指定された場合、要求は HTTP 状態コード 400 で失敗します。 int (必須)
frontendPortRangeEnd 指定できる値の範囲は 1 ~ 65534 です。ただし、Batch サービスによって予約されているポートは 50000 ~ 55000 です。 プール内のすべての範囲は個別である必要があり、重複することはできません。 予約された値または重複する値が指定されている場合、要求は HTTP 状態コード 400 で失敗します。 int (必須)
frontendPortRangeStart 使用可能な値の範囲は 1 ~ 65534 です。ただし、予約されているポートは 50000 ~ 55000 です。 プール内のすべての範囲は個別である必要があり、重複することはできません。 予約された値または重複する値が指定されている場合、要求は HTTP 状態コード 400 で失敗します。 int (必須)
名前 名前は Batch プール内で一意である必要があり、文字、数字、アンダースコア、ピリオド、ハイフンを含めることができます。 名前は文字または数字で始まる必要があり、末尾は文字、数字、またはアンダースコアで終わる必要があり、77 文字を超えることはできません。 無効な値が指定された場合、要求は HTTP 状態コード 400 で失敗します。 string (必須)
networkSecurityGroupRules Batch プール上のすべてのエンドポイントで指定できるルールの最大数は 25 です。 ネットワーク セキュリティ グループの規則が指定されていない場合は、指定された backendPort への受信アクセスを許可する既定の規則が作成されます。 ネットワーク セキュリティ グループ規則の最大数を超えた場合、要求は HTTP 状態コード 400 で失敗します。 NetworkSecurityGroupRule[]
議定書 エンドポイントのプロトコル。 "TCP"
"UDP" (必須)

NetworkSecurityGroupRule

名前 形容 価値
アクセス 指定した IP アドレス、サブネット範囲、またはタグに対して実行する必要があるアクション。 "許可"
"拒否" (必須)
優先権 プール内の優先順位は一意である必要があり、優先順位の順に評価されます。 数値が小さい方が優先度が高くなります。 たとえば、順序番号が 150、250、350 のルールを指定できます。 順序番号が 150 のルールは、順序が 250 のルールよりも優先されます。 許可される優先順位は 150 から 4096 です。 予約された値または重複する値が指定されている場合、要求は HTTP 状態コード 400 で失敗します。 int (必須)
sourceAddressPrefix 有効な値は、1 つの IP アドレス (10.10.10.10.10)、IP サブネット (つまり 192.168.1.0/24)、既定のタグ、または * (すべてのアドレスの場合) です。 その他の値が指定されている場合、要求は HTTP 状態コード 400 で失敗します。 string (必須)
sourcePortRanges 有効な値は、'*' (すべてのポート 0 から 65535) またはポートまたはポート範囲の配列 (つまり、100 から 200) です。 ポートは 0 ~ 65535 の範囲にする必要があり、ポート範囲またはポートは重複できません。 その他の値が指定されている場合、要求は HTTP 状態コード 400 で失敗します。 既定値は *です。 string[]

PublicIPAddressConfiguration

名前 形容 価値
ipAddressIds ここで指定する IP の数によって、プールの最大サイズが制限されます。パブリック IP ごとに 100 個の専用ノードまたは 100 個の低優先度ノードを割り当てることができます。 たとえば、250 個の専用 VM を必要とするプールには、少なくとも 3 つのパブリック IP が指定されている必要があります。 このコレクションの各要素は、/subscriptions/{subscription}/resourceGroups/{group}/providers/Microsoft.Network/publicIPAddresses/{ip} の形式です。 string[]
支給 既定値は BatchManaged です "BatchManaged"
"NoPublicIPAddresses"
"UserManaged"

ScaleSettings

名前 形容 価値
autoScale このプロパティと fixedScale は相互に排他的であり、プロパティの 1 つを指定する必要があります。 AutoScaleSettings の
fixedScale このプロパティと自動スケールは相互に排他的であり、プロパティの 1 つを指定する必要があります。 FixedScaleSettings

AutoScaleSettings

名前 形容 価値
evaluationInterval 省略した場合、既定値は 15 分 (PT15M) です。
プール内のコンピューティング ノードの必要な数の数式。 string (必須)

FixedScaleSettings

名前 形容 価値
nodeDeallocationOption 省略した場合、既定値は Requeue です。 "Requeue"
"RetainedData"
"TaskCompletion"
"Terminate"
resizeTimeout 既定値は 15 分です。 タイムアウト値は ISO 8601 形式を使用します。 たとえば、PT10M を 10 分間使用します。 最小値は 5 分です。 5 分未満の値を指定した場合、Batch サービスはエラーで要求を拒否します。REST API を直接呼び出す場合、HTTP 状態コードは 400 (無効な要求) です。
targetDedicatedNodes targetDedicatedNodes のうち少なくとも 1 つ、targetLowPriorityNodes を設定する必要があります。 int
targetLowPriorityNodes targetDedicatedNodes のうち少なくとも 1 つ、targetLowPriorityNodes を設定する必要があります。 int

StartTask

名前 形容 価値
commandLine コマンド ラインはシェルでは実行されないため、環境変数の拡張などのシェル機能を利用することはできません。 このような機能を利用する場合は、コマンド ラインでシェルを呼び出す必要があります。たとえば、Windows では "cmd /c MyCommand" を使用し、Linux では "/bin/sh -c MyCommand" を使用します。 startTask の他のプロパティが指定されている場合は必須です。
containerSettings これを指定すると、AZ_BATCH_NODE_ROOT_DIRの下にあるすべてのディレクトリ (ノード上の Azure Batch ディレクトリのルート) がコンテナーに再帰的にマップされ、すべてのタスク環境変数がコンテナーにマップされ、タスク コマンド ラインがコンテナーで実行されます。 TaskContainerSettings
environmentSettings 開始タスクの環境変数設定の一覧。 EnvironmentSetting[]
maxTaskRetryCount 終了コードが 0 以外の場合、Batch サービスはタスクを再試行します。 この値は、再試行回数を特に制御します。 Batch サービスはタスクを 1 回試し、この制限まで再試行できます。 たとえば、最大再試行回数が 3 の場合、Batch はタスクを最大 4 回試行します (1 回の最初の再試行と 3 回の再試行)。 最大再試行回数が 0 の場合、Batch サービスはタスクを再試行しません。 最大再試行回数が -1 の場合、Batch サービスは制限なくタスクを再試行します。 int
resourceFiles コマンド ラインを実行する前に Batch サービスがコンピューティング ノードにダウンロードするファイルの一覧。 ResourceFile[]
userIdentity 省略すると、タスクはタスクに固有の非管理ユーザーとして実行されます。 UserIdentity の
waitForSuccess true で、コンピューティング ノードで開始タスクが失敗した場合、Batch サービスは開始タスクを最大再試行回数 (maxTaskRetryCount) まで再試行します。 すべての再試行の後もタスクが正常に完了していない場合、Batch サービスはコンピューティング ノードを使用不可としてマークし、タスクをスケジュールしません。 この条件は、ノードの状態とスケジュール エラーの詳細を使用して検出できます。 false の場合、Batch サービスは開始タスクの完了を待機しません。 この場合、開始タスクの実行中に、他のタスクがコンピューティング ノードで実行を開始できます。開始タスクが失敗した場合でも、新しいタスクはノードで引き続きスケジュールされます。 既定値は true です。 bool

TaskContainerSettings

名前 形容 価値
containerRunOptions これらの追加オプションは、Batch サービスによって制御されるオプションに加えて、"docker create" コマンドの引数として提供されます。
imageName これは、"docker pull" に指定される完全なイメージ参照です。 イメージ名の一部としてタグが指定されていない場合、タグ ":latest" が既定として使用されます。 string (必須)
記帳 プールの作成時に既に指定されている場合は、この設定を省略できます。 ContainerRegistry
workingDirectory コンテナー タスクの作業ディレクトリの場所を示すフラグ。 既定値は 'taskWorkingDirectory' です。 "ContainerImageDefault"
"TaskWorkingDirectory"

EnvironmentSetting

名前 形容 価値
名前 環境変数の名前。 string (必須)
価値 環境変数の値。

ResourceFile

名前 形容 価値
autoStorageContainerName autoStorageContainerName、storageContainerUrl、および httpUrl プロパティは相互に排他的であり、そのうちの 1 つを指定する必要があります。
blobPrefix このプロパティは、autoStorageContainerName または storageContainerUrl が使用されている場合にのみ有効です。 このプレフィックスには、部分的なファイル名またはサブディレクトリを指定できます。 プレフィックスが指定されていない場合は、コンテナー内のすべてのファイルがダウンロードされます。
fileMode このプロパティは、Linux コンピューティング ノードにダウンロードされるファイルにのみ適用されます。 これは、Windows ノードにダウンロードされる resourceFile に対して指定されている場合は無視されます。 Linux ノードにこのプロパティが指定されていない場合は、既定値の 0770 がファイルに適用されます。
filePath httpUrl プロパティが指定されている場合、filePath は必須であり、ファイルのダウンロード先となるパス (ファイル名を含む) を記述します。 それ以外の場合、autoStorageContainerName または storageContainerUrl プロパティが指定されている場合、filePath は省略可能であり、ファイルをダウンロードするディレクトリです。 filePath がディレクトリとして使用されている場合、入力データに既に関連付けられているディレクトリ構造は完全に保持され、指定された filePath ディレクトリに追加されます。 指定した相対パスは、タスクの作業ディレクトリから抜け出すことはできません (たとえば、'..' を使用)。
httpUrl autoStorageContainerName、storageContainerUrl、および httpUrl プロパティは相互に排他的であり、そのうちの 1 つを指定する必要があります。 URL が Azure Blob Storage の場合は、匿名アクセスを使用して読み取り可能である必要があります。つまり、Batch サービスは BLOB のダウンロード時に資格情報を提示しません。 Azure Storage 内の BLOB のこのような URL を取得するには、BLOB に対する読み取りアクセス許可を付与する Shared Access Signature (SAS) を含めるか、パブリック アクセスを許可するように BLOB またはそのコンテナーの ACL を設定する方法の 2 つがあります。
storageContainerUrl autoStorageContainerName、storageContainerUrl、および httpUrl プロパティは相互に排他的であり、そのうちの 1 つを指定する必要があります。 この URL は、匿名アクセスを使用して読み取り可能でリスト可能である必要があります。つまり、Batch サービスは BLOB のダウンロード時に資格情報を提示しません。 Azure Storage 内の BLOB のこのような URL を取得するには、BLOB に対する読み取りと一覧表示のアクセス許可を付与する Shared Access Signature (SAS) を含める方法と、パブリック アクセスを許可するように BLOB またはそのコンテナーの ACL を設定する方法の 2 つがあります。

UserIdentity

名前 形容 価値
autoUser userName プロパティと autoUser プロパティは相互に排他的です。1 つを指定する必要がありますが、両方を指定する必要はありません。 AutoUserSpecification の
userName userName プロパティと autoUser プロパティは相互に排他的です。1 つを指定する必要がありますが、両方を指定する必要はありません。

AutoUserSpecification

名前 形容 価値
elevationLevel 既定値は nonAdmin です。 "Admin"
"NonAdmin"
スコープ 既定値は Pool です。 プールが Windows を実行している場合は、タスク間のより厳密な分離が必要な場合は、Task の値を指定する必要があります。 たとえば、タスクが他のタスクに影響を与える可能性のある方法でレジストリを変更する場合や、通常のタスクではアクセスできないが、開始タスクからアクセスできる必要がある証明書がプールで指定されている場合などです。 "プール"
"タスク"

TaskSchedulingPolicy

名前 形容 価値
nodeFillType タスクをコンピューティング ノード間で分散する方法。 "Pack"
"スプレッド" (必須)

UserAccount

名前 形容 価値
elevationLevel nonAdmin - 自動ユーザーは、昇格されたアクセス権を持たない標準ユーザーです。 admin - 自動ユーザーは昇格されたアクセス権を持つユーザーであり、完全な管理者アクセス許可で動作します。 既定値は nonAdmin です。 "Admin"
"NonAdmin"
linuxUserConfiguration このプロパティは、Windows プールで指定されている場合は無視されます。 指定しない場合、ユーザーは既定のオプションで作成されます。 LinuxUserConfiguration
名前 ユーザー アカウントの名前。 string (必須)
パスワード ユーザー アカウントのパスワード。 string (必須)
windowsUserConfiguration このプロパティは、ユーザーが Windows プール上にある場合にのみ指定できます。 指定されていない場合、Windows プールでは、既定のオプションを使用してユーザーが作成されます。 WindowsUserConfiguration

LinuxUserConfiguration

名前 形容 価値
gid uid プロパティと gid プロパティは、一緒に指定するか、まったく指定しない必要があります。 指定しない場合、基になるオペレーティング システムは gid を選択します。 int
sshPrivateKey 秘密キーはパスワードで保護しないでください。 この秘密キーは、プールの enableInterNodeCommunication プロパティが true の場合 (enableInterNodeCommunication が false の場合は無視されます)、Linux プール内のノード間で SSH の非対称キー ベースの認証を自動的に構成するために使用されます。 これを行うには、キー ペアをユーザーの .ssh ディレクトリに配置します。 指定しない場合、ノード間でパスワードレス SSH は構成されません (ユーザーの .ssh ディレクトリの変更は行われません)。
uid uid プロパティと gid プロパティは、一緒に指定するか、まったく指定しない必要があります。 指定しない場合、基になるオペレーティング システムは uid を選択します。 int

WindowsUserConfiguration

名前 形容 価値
loginMode ユーザーのログイン モードを指定します。 VirtualMachineConfiguration プールの既定値は対話型モードで、CloudServiceConfiguration プールの場合はバッチ モードです。 "Batch"
"対話型"