Microsoft.Batch batchAccounts/pools 2017-09-01
Bicep リソース定義
batchAccounts/pools リソースの種類は、次をターゲットとする操作と共にデプロイできます。
- リソース グループの - リソース グループのデプロイ コマンド 参照
各 API バージョンで変更されたプロパティの一覧については、変更ログの
リソースの形式
Microsoft.Batch/batchAccounts/pools リソースを作成するには、次の Bicep をテンプレートに追加します。
resource symbolicname 'Microsoft.Batch/batchAccounts/pools@2017-09-01' = {
parent: resourceSymbolicName
name: 'string'
properties: {
applicationLicenses: [
'string'
]
applicationPackages: [
{
id: 'string'
version: 'string'
}
]
certificates: [
{
id: 'string'
storeLocation: 'string'
storeName: 'string'
visibility: [
'string'
]
}
]
deploymentConfiguration: {
cloudServiceConfiguration: {
currentOSVersion: 'string'
osFamily: 'string'
targetOSVersion: 'string'
}
virtualMachineConfiguration: {
dataDisks: [
{
caching: 'string'
diskSizeGB: int
lun: int
storageAccountType: 'string'
}
]
imageReference: {
id: 'string'
offer: 'string'
publisher: 'string'
sku: 'string'
version: 'string'
}
licenseType: 'string'
nodeAgentSkuId: 'string'
osDisk: {
caching: 'string'
}
windowsConfiguration: {
enableAutomaticUpdates: bool
}
}
}
displayName: 'string'
interNodeCommunication: 'string'
maxTasksPerNode: int
metadata: [
{
name: 'string'
value: 'string'
}
]
networkConfiguration: {
endpointConfiguration: {
inboundNatPools: [
{
backendPort: int
frontendPortRangeEnd: int
frontendPortRangeStart: int
name: 'string'
networkSecurityGroupRules: [
{
access: 'string'
priority: int
sourceAddressPrefix: 'string'
}
]
protocol: 'string'
}
]
}
subnetId: 'string'
}
scaleSettings: {
autoScale: {
evaluationInterval: 'string'
formula: 'string'
}
fixedScale: {
nodeDeallocationOption: 'string'
resizeTimeout: 'string'
targetDedicatedNodes: int
targetLowPriorityNodes: int
}
}
startTask: {
commandLine: 'string'
environmentSettings: [
{
name: 'string'
value: 'string'
}
]
maxTaskRetryCount: int
resourceFiles: [
{
blobSource: 'string'
fileMode: 'string'
filePath: 'string'
}
]
userIdentity: {
autoUser: {
elevationLevel: 'string'
scope: 'string'
}
userName: 'string'
}
waitForSuccess: bool
}
taskSchedulingPolicy: {
nodeFillType: 'string'
}
userAccounts: [
{
elevationLevel: 'string'
linuxUserConfiguration: {
gid: int
sshPrivateKey: 'string'
uid: int
}
name: 'string'
password: 'string'
}
]
vmSize: 'string'
}
}
プロパティ値
ApplicationPackageReference
名前 | 形容 | 価値 |
---|---|---|
身分証明書 | インストールするアプリケーション パッケージの ID。 これは、プールと同じバッチ アカウント内にある必要があります。 これは、特定のバージョンへの参照でも、存在する場合は既定のバージョンでもかまいません。 | string (必須) |
バージョン | これを省略し、このアプリケーションに既定のバージョンが指定されていない場合、要求はエラー コード InvalidApplicationPackageReferences で失敗します。 REST API を直接呼び出す場合、HTTP 状態コードは 409 です。 | 糸 |
AutoScaleSettings
名前 | 形容 | 価値 |
---|---|---|
evaluationInterval | 省略した場合、既定値は 15 分 (PT15M) です。 | 糸 |
式 | プール内のコンピューティング ノードの必要な数の数式。 | string (必須) |
AutoUserSpecification
名前 | 形容 | 価値 |
---|---|---|
elevationLevel | nonAdmin - 自動ユーザーは、昇格されたアクセス権を持たない標準ユーザーです。 admin - 自動ユーザーは昇格されたアクセス権を持つユーザーであり、完全な管理者アクセス許可で動作します。 既定値は nonAdmin です。 | 'Admin' 'NonAdmin' |
スコープ | pool - タスクが、プール内のすべてのノードで作成される共通の自動ユーザー アカウントとして実行されることを指定します。 task - サービスがタスクの新しいユーザーを作成することを指定します。 既定値は task です。 | 'Pool' 'Task' |
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 です。 | 糸 |
可視 | 値は次のとおりです。 starttask - 開始タスクを実行するユーザー アカウント。 task - ジョブ タスクを実行するアカウント。 remoteuser - ユーザーがノードにリモートでアクセスするアカウント。 このコレクションでは、複数の可視性を指定できます。 既定値は、すべてのアカウントです。 |
次のいずれかを含む文字列配列: 'RemoteUser' 'StartTask' 'Task' |
CloudServiceConfiguration
名前 | 形容 | 価値 |
---|---|---|
currentOSVersion | プールの状態がアップグレード中の場合、これは targetOSVersion とは異なる場合があります。 この場合、一部の仮想マシンは targetOSVersion 上にあり、一部はアップグレード プロセス中に currentOSVersion 上にある可能性があります。 すべての仮想マシンがアップグレードされると、currentOSVersion が targetOSVersion と同じに更新されます。 | 糸 |
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。 詳細については、「Azure ゲスト OS リリース (https://azure.microsoft.com/documentation/articles/cloud-services-guestos-update-matrix/#releases)」を参照してください。 | string (必須) |
targetOSVersion | 既定値は * で、指定した OS ファミリの最新のオペレーティング システム バージョンを指定します。 | 糸 |
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 が必要です。 | int (必須) |
storageAccountType | 省略した場合、既定値は "Standard_LRS" です。 値は次のとおりです。 Standard_LRS - データ ディスクは、標準のローカル冗長ストレージを使用する必要があります。 Premium_LRS - データ ディスクでは、Premium ローカル冗長ストレージを使用する必要があります。 |
'Premium_LRS' 'Standard_LRS' |
DeploymentConfiguration
名前 | 形容 | 価値 |
---|---|---|
cloudServiceConfiguration | このプロパティと virtualMachineConfiguration は相互に排他的であり、プロパティの 1 つを指定する必要があります。 batch アカウントが poolAllocationMode プロパティを 'UserSubscription' に設定して作成された場合、このプロパティを指定できません。 | CloudServiceConfiguration |
virtualMachineConfiguration | このプロパティと cloudServiceConfiguration は相互に排他的であり、プロパティの 1 つを指定する必要があります。 | VirtualMachineConfiguration |
EnvironmentSetting
名前 | 形容 | 価値 |
---|---|---|
名前 | 環境変数の名前。 | string (必須) |
価値 | 環境変数の値。 | 糸 |
FixedScaleSettings
名前 | 形容 | 価値 |
---|---|---|
nodeDeallocationOption | 省略した場合、既定値は Requeue です。 | 'Requeue' 'RetainedData' 'TaskCompletion' 'Terminate' |
resizeTimeout | 既定値は 15 分です。 タイムアウト値は ISO 8601 形式を使用します。 たとえば、PT10M を 10 分間使用します。 最小値は 5 分です。 5 分未満の値を指定した場合、Batch サービスはエラーで要求を拒否します。REST API を直接呼び出す場合、HTTP 状態コードは 400 (無効な要求) です。 | 糸 |
targetDedicatedNodes | targetDedicatedNodes のうち少なくとも 1 つ、targetLowPriority ノードを設定する必要があります。 | int |
targetLowPriorityNodes | targetDedicatedNodes のうち少なくとも 1 つ、targetLowPriority ノードを設定する必要があります。 | int |
ImageReference
名前 | 形容 | 価値 |
---|---|---|
身分証明書 | このプロパティは、他のプロパティと相互に排他的です。 仮想マシン イメージは、Azure Batch アカウントと同じリージョンとサブスクリプションに存在する必要があります。 Batch サービスと通信するための Batch ノード エージェントのファイアウォール設定については、/azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration を参照してください。 | 糸 |
提供 | たとえば、UbuntuServer や WindowsServer などです。 | 糸 |
発行者 | たとえば、Canonical または MicrosoftWindowsServer です。 | 糸 |
sku | たとえば、14.04.0-LTS や 2012-R2-Datacenter などです。 | 糸 |
バージョン | "latest" の値を指定して、イメージの最新バージョンを選択できます。 省略した場合、既定値は 'latest' です。 | 糸 |
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' (必須) |
LinuxUserConfiguration
名前 | 形容 | 価値 |
---|---|---|
gid | uid プロパティと gid プロパティは、一緒に指定するか、まったく指定しない必要があります。 指定しない場合、基になるオペレーティング システムは gid を選択します。 | int |
sshPrivateKey | 秘密キーはパスワードで保護しないでください。 この秘密キーは、プールの enableInterNodeCommunication プロパティが true の場合 (enableInterNodeCommunication が false の場合は無視されます)、Linux プール内のノード間で SSH の非対称キー ベースの認証を自動的に構成するために使用されます。 これを行うには、キー ペアをユーザーの .ssh ディレクトリに配置します。 指定しない場合、ノード間でパスワードレス SSH は構成されません (ユーザーの .ssh ディレクトリの変更は行われません)。 | 糸 |
uid | uid プロパティと gid プロパティは、一緒に指定するか、まったく指定しない必要があります。 指定しない場合、基になるオペレーティング システムは uid を選択します。 | int |
MetadataItem
名前 | 形容 | 価値 |
---|---|---|
名前 | メタデータ項目の名前。 | string (必須) |
価値 | メタデータ項目の値。 | string (必須) |
Microsoft.Batch/batchAccounts/pools
名前 | 形容 | 価値 |
---|---|---|
名前 | リソース名 | 糸 制約: 最小長 = 1 最大長 = 1 パターン = ^[a-zA-Z0-9_-]+$ (必須) |
親 | Bicep では、子リソースの親リソースを指定できます。 このプロパティを追加する必要があるのは、子リソースが親リソースの外部で宣言されている場合のみです。 詳細については、「親リソースの外部 |
種類のリソースのシンボリック名: batchAccounts |
プロパティ | プールに関連付けられているプロパティ。 | PoolProperties |
NetworkConfiguration
名前 | 形容 | 価値 |
---|---|---|
endpointConfiguration | プール エンドポイントの構成は、virtualMachineConfiguration プロパティを持つプールでのみサポートされます。 | PoolEndpointConfiguration |
subnetId | 仮想ネットワークは、Azure Batch アカウントと同じリージョンとサブスクリプションに存在する必要があります。 指定されたサブネットには、プール内のノード数に対応できる十分な空き IP アドレスが必要です。 サブネットに十分な空き IP アドレスがない場合、プールはコンピューティング ノードを部分的に割り当て、サイズ変更エラーが発生します。 "MicrosoftAzureBatch" サービス プリンシパルには、指定された VNet の "クラシック仮想マシン共同作成者" Role-Based アクセス制御 (RBAC) ロールが必要です。 指定したサブネットでは、コンピューティング ノードでタスクをスケジュールできるように、Azure Batch サービスからの通信を許可する必要があります。 これは、指定された VNet にネットワーク セキュリティ グループ (NSG) が関連付けられているかどうかを確認することで確認できます。 指定したサブネット内のコンピューティング ノードへの通信が NSG によって拒否された場合、Batch サービスはコンピューティング ノードの状態を使用不可に設定します。 virtualMachineConfiguration を使用して作成されたプールの場合、VNet を使用するには、Batch アカウントに poolAllocationMode userSubscription が必要です。 指定した VNet にネットワーク セキュリティ グループ (NSG) が関連付けられている場合は、いくつかの予約済みシステム ポートを受信通信に対して有効にする必要があります。 仮想マシン構成で作成されたプールの場合は、ポート 29876 と 29877、Linux の場合はポート 22、Windows の場合はポート 3389 を有効にします。 クラウド サービス構成で作成されたプールの場合は、ポート 10100、20100、および 30100 を有効にします。 また、ポート 443 で Azure Storage への送信接続を有効にします。 詳細については、/azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration を参照してください。 | 糸 |
NetworkSecurityGroupRule
名前 | 形容 | 価値 |
---|---|---|
アクセス | 指定した IP アドレス、サブネット範囲、またはタグに対して実行する必要があるアクション。 | 'Allow' 'Deny' (必須) |
優先権 | プール内の優先順位は一意である必要があり、優先順位の順に評価されます。 数値が小さい方が優先度が高くなります。 たとえば、順序番号が 150、250、350 のルールを指定できます。 順序番号が 150 のルールは、順序が 250 のルールよりも優先されます。 許可される優先順位は 150 から 3500 です。 予約された値または重複する値が指定されている場合、要求は HTTP 状態コード 400 で失敗します。 | int (必須) |
sourceAddressPrefix | 有効な値は、1 つの IP アドレス (10.10.10.10.10)、IP サブネット (つまり 192.168.1.0/24)、既定のタグ、または * (すべてのアドレスの場合) です。 その他の値が指定されている場合、要求は HTTP 状態コード 400 で失敗します。 | string (必須) |
OSDisk
名前 | 形容 | 価値 |
---|---|---|
キャッシング | 既定値は none です。 | 'None' 'ReadOnly' 'ReadWrite' |
PoolEndpointConfiguration
名前 | 形容 | 価値 |
---|---|---|
inboundNatPools | Batch プールあたりの受信 NAT プールの最大数は 5 です。 受信 NAT プールの最大数を超えた場合、要求は HTTP 状態コード 400 で失敗します。 | InboundNatPool[] (必須) |
PoolProperties
名前 | 形容 | 価値 |
---|---|---|
applicationLicenses | アプリケーション ライセンスの一覧は、使用可能な Batch サービス アプリケーション ライセンスのサブセットである必要があります。 サポートされていないライセンスが要求された場合、プールの作成は失敗します。 | string[] |
applicationPackages | アプリケーション パッケージに対する変更は、プールに参加しているすべての新しいコンピューティング ノードに影響しますが、再起動または再イメージ化されるまで、既にプール内にあるコンピューティング ノードには影響しません。 | 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' |
maxTasksPerNode | プール内の 1 つのコンピューティング ノードで同時に実行できるタスクの最大数。 | int |
metadata | Batch サービスは、メタデータに意味を割り当てません。これは、ユーザー コードの使用のみを目的とします。 | MetadataItem[] |
networkConfiguration | プールのネットワーク構成。 | NetworkConfiguration |
scaleSettings | プールの目的のサイズを定義します。 これは、要求された targetDedicatedNodes が指定されている "fixedScale" か、定期的に再評価される数式を定義する 'autoScale' のいずれかです。 このプロパティを指定しない場合、プールは 0 targetDedicatedNodes を使用して固定スケールになります。 | ScaleSettings |
startTask | PATCH (更新) 操作では、このプロパティを空のオブジェクトに設定して、プールから開始タスクを削除できます。 | StartTask の |
taskSchedulingPolicy | タスクをコンピューティング ノード間で分散する方法を指定します。 | TaskSchedulingPolicy |
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 で作成されたプール) の詳細については、「仮想マシンのサイズ (Linux) (https://azure.microsoft.com/documentation/articles/virtual-machines-linux-sizes/) または仮想マシンのサイズ (Windows) (https://azure.microsoft.com/documentation/articles/virtual-machines-windows-sizes/)」を参照してください。 Batch では、STANDARD_A0と Premium Storage (STANDARD_GS、STANDARD_DS、STANDARD_DSV2 シリーズ) を除くすべての Azure VM サイズがサポートされます。 | 糸 |
ResourceFile
名前 | 形容 | 価値 |
---|---|---|
blobSource | この URL は、匿名アクセスを使用して読み取り可能である必要があります。つまり、Batch サービスは BLOB のダウンロード時に資格情報を提示しません。 Azure Storage 内の BLOB のこのような URL を取得するには、BLOB に対する読み取りアクセス許可を付与する Shared Access Signature (SAS) を含めるか、パブリック アクセスを許可するように BLOB またはそのコンテナーの ACL を設定する方法の 2 つがあります。 | string (必須) |
fileMode | このプロパティは、Linux コンピューティング ノードにダウンロードされるファイルにのみ適用されます。 これは、Windows ノードにダウンロードされる resourceFile に対して指定されている場合は無視されます。 Linux ノードにこのプロパティが指定されていない場合は、既定値の 0770 がファイルに適用されます。 | 糸 |
filePath | タスクの作業ディレクトリを基準とした、ファイルのダウンロード先となるコンピューティング ノード上の場所。 | string (必須) |
ScaleSettings
名前 | 形容 | 価値 |
---|---|---|
autoScale | このプロパティと fixedScale は相互に排他的であり、プロパティの 1 つを指定する必要があります。 | AutoScaleSettings の |
fixedScale | このプロパティと自動スケールは相互に排他的であり、プロパティの 1 つを指定する必要があります。 | FixedScaleSettings |
StartTask
名前 | 形容 | 価値 |
---|---|---|
commandLine | コマンド ラインはシェルでは実行されないため、環境変数の拡張などのシェル機能を利用することはできません。 このような機能を利用する場合は、コマンド ラインでシェルを呼び出す必要があります。たとえば、Windows では "cmd /c MyCommand" を使用し、Linux では "/bin/sh -c MyCommand" を使用します。 startTask の他のプロパティが指定されている場合は必須です。 | 糸 |
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 サービスは開始タスクの完了を待機しません。 この場合、開始タスクの実行中に、他のタスクがコンピューティング ノードで実行を開始できます。開始タスクが失敗した場合でも、新しいタスクはノードで引き続きスケジュールされます。 既定値は false です。 | bool |
TaskSchedulingPolicy
名前 | 形容 | 価値 |
---|---|---|
nodeFillType | タスクをコンピューティング ノード間で分散する方法。 | 'Pack' 'Spread' (必須) |
UserAccount
名前 | 形容 | 価値 |
---|---|---|
elevationLevel | nonAdmin - 自動ユーザーは、昇格されたアクセス権を持たない標準ユーザーです。 admin - 自動ユーザーは昇格されたアクセス権を持つユーザーであり、完全な管理者アクセス許可で動作します。 既定値は nonAdmin です。 | 'Admin' 'NonAdmin' |
linuxUserConfiguration | このプロパティは、Windows プールで指定されている場合は無視されます。 指定しない場合、ユーザーは既定のオプションで作成されます。 | LinuxUserConfiguration |
名前 | ユーザー アカウントの名前。 | string (必須) |
パスワード | ユーザー アカウントのパスワード。 | string (必須) |
UserIdentity
名前 | 形容 | 価値 |
---|---|---|
autoUser | userName プロパティと autoUser プロパティは相互に排他的です。1 つを指定する必要がありますが、両方を指定する必要はありません。 | AutoUserSpecification の |
userName | userName プロパティと autoUser プロパティは相互に排他的です。1 つを指定する必要がありますが、両方を指定する必要はありません。 | 糸 |
VirtualMachineConfiguration
名前 | 形容 | 価値 |
---|---|---|
dataDisks | プール内のコンピューティング ノードに空のデータ ディスクが接続されている必要がある場合は、このプロパティを指定する必要があります。 | DataDisk[] |
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 (必須) |
osDisk | 仮想マシンのオペレーティング システム ディスクの設定。 | OSDisk |
windowsConfiguration | imageReference で Linux OS イメージが指定されている場合は、このプロパティを指定しないでください。 | WindowsConfiguration |
WindowsConfiguration
名前 | 形容 | 価値 |
---|---|---|
enableAutomaticUpdates | 省略した場合、既定値は true です。 | bool |
クイック スタートのサンプル
次のクイック スタート サンプルでは、このリソースの種類をデプロイします。
Bicep ファイル | 形容 |
---|---|
パブリック IP アドレスを せずに Azure Batch プールを |
このテンプレートでは、パブリック IP アドレスのない Azure Batch の簡略化されたノード通信プールが作成されます。 |
ARM テンプレート リソース定義
batchAccounts/pools リソースの種類は、次をターゲットとする操作と共にデプロイできます。
- リソース グループの - リソース グループのデプロイ コマンド 参照
各 API バージョンで変更されたプロパティの一覧については、変更ログの
リソースの形式
Microsoft.Batch/batchAccounts/pools リソースを作成するには、次の JSON をテンプレートに追加します。
{
"type": "Microsoft.Batch/batchAccounts/pools",
"apiVersion": "2017-09-01",
"name": "string",
"properties": {
"applicationLicenses": [ "string" ],
"applicationPackages": [
{
"id": "string",
"version": "string"
}
],
"certificates": [
{
"id": "string",
"storeLocation": "string",
"storeName": "string",
"visibility": [ "string" ]
}
],
"deploymentConfiguration": {
"cloudServiceConfiguration": {
"currentOSVersion": "string",
"osFamily": "string",
"targetOSVersion": "string"
},
"virtualMachineConfiguration": {
"dataDisks": [
{
"caching": "string",
"diskSizeGB": "int",
"lun": "int",
"storageAccountType": "string"
}
],
"imageReference": {
"id": "string",
"offer": "string",
"publisher": "string",
"sku": "string",
"version": "string"
},
"licenseType": "string",
"nodeAgentSkuId": "string",
"osDisk": {
"caching": "string"
},
"windowsConfiguration": {
"enableAutomaticUpdates": "bool"
}
}
},
"displayName": "string",
"interNodeCommunication": "string",
"maxTasksPerNode": "int",
"metadata": [
{
"name": "string",
"value": "string"
}
],
"networkConfiguration": {
"endpointConfiguration": {
"inboundNatPools": [
{
"backendPort": "int",
"frontendPortRangeEnd": "int",
"frontendPortRangeStart": "int",
"name": "string",
"networkSecurityGroupRules": [
{
"access": "string",
"priority": "int",
"sourceAddressPrefix": "string"
}
],
"protocol": "string"
}
]
},
"subnetId": "string"
},
"scaleSettings": {
"autoScale": {
"evaluationInterval": "string",
"formula": "string"
},
"fixedScale": {
"nodeDeallocationOption": "string",
"resizeTimeout": "string",
"targetDedicatedNodes": "int",
"targetLowPriorityNodes": "int"
}
},
"startTask": {
"commandLine": "string",
"environmentSettings": [
{
"name": "string",
"value": "string"
}
],
"maxTaskRetryCount": "int",
"resourceFiles": [
{
"blobSource": "string",
"fileMode": "string",
"filePath": "string"
}
],
"userIdentity": {
"autoUser": {
"elevationLevel": "string",
"scope": "string"
},
"userName": "string"
},
"waitForSuccess": "bool"
},
"taskSchedulingPolicy": {
"nodeFillType": "string"
},
"userAccounts": [
{
"elevationLevel": "string",
"linuxUserConfiguration": {
"gid": "int",
"sshPrivateKey": "string",
"uid": "int"
},
"name": "string",
"password": "string"
}
],
"vmSize": "string"
}
}
プロパティ値
ApplicationPackageReference
名前 | 形容 | 価値 |
---|---|---|
身分証明書 | インストールするアプリケーション パッケージの ID。 これは、プールと同じバッチ アカウント内にある必要があります。 これは、特定のバージョンへの参照でも、存在する場合は既定のバージョンでもかまいません。 | string (必須) |
バージョン | これを省略し、このアプリケーションに既定のバージョンが指定されていない場合、要求はエラー コード InvalidApplicationPackageReferences で失敗します。 REST API を直接呼び出す場合、HTTP 状態コードは 409 です。 | 糸 |
AutoScaleSettings
名前 | 形容 | 価値 |
---|---|---|
evaluationInterval | 省略した場合、既定値は 15 分 (PT15M) です。 | 糸 |
式 | プール内のコンピューティング ノードの必要な数の数式。 | string (必須) |
AutoUserSpecification
名前 | 形容 | 価値 |
---|---|---|
elevationLevel | nonAdmin - 自動ユーザーは、昇格されたアクセス権を持たない標準ユーザーです。 admin - 自動ユーザーは昇格されたアクセス権を持つユーザーであり、完全な管理者アクセス許可で動作します。 既定値は nonAdmin です。 | 'Admin' 'NonAdmin' |
スコープ | pool - タスクが、プール内のすべてのノードで作成される共通の自動ユーザー アカウントとして実行されることを指定します。 task - サービスがタスクの新しいユーザーを作成することを指定します。 既定値は task です。 | 'Pool' 'Task' |
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 です。 | 糸 |
可視 | 値は次のとおりです。 starttask - 開始タスクを実行するユーザー アカウント。 task - ジョブ タスクを実行するアカウント。 remoteuser - ユーザーがノードにリモートでアクセスするアカウント。 このコレクションでは、複数の可視性を指定できます。 既定値は、すべてのアカウントです。 |
次のいずれかを含む文字列配列: 'RemoteUser' 'StartTask' 'Task' |
CloudServiceConfiguration
名前 | 形容 | 価値 |
---|---|---|
currentOSVersion | プールの状態がアップグレード中の場合、これは targetOSVersion とは異なる場合があります。 この場合、一部の仮想マシンは targetOSVersion 上にあり、一部はアップグレード プロセス中に currentOSVersion 上にある可能性があります。 すべての仮想マシンがアップグレードされると、currentOSVersion が targetOSVersion と同じに更新されます。 | 糸 |
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。 詳細については、「Azure ゲスト OS リリース (https://azure.microsoft.com/documentation/articles/cloud-services-guestos-update-matrix/#releases)」を参照してください。 | string (必須) |
targetOSVersion | 既定値は * で、指定した OS ファミリの最新のオペレーティング システム バージョンを指定します。 | 糸 |
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 が必要です。 | int (必須) |
storageAccountType | 省略した場合、既定値は "Standard_LRS" です。 値は次のとおりです。 Standard_LRS - データ ディスクは、標準のローカル冗長ストレージを使用する必要があります。 Premium_LRS - データ ディスクでは、Premium ローカル冗長ストレージを使用する必要があります。 |
'Premium_LRS' 'Standard_LRS' |
DeploymentConfiguration
名前 | 形容 | 価値 |
---|---|---|
cloudServiceConfiguration | このプロパティと virtualMachineConfiguration は相互に排他的であり、プロパティの 1 つを指定する必要があります。 batch アカウントが poolAllocationMode プロパティを 'UserSubscription' に設定して作成された場合、このプロパティを指定できません。 | CloudServiceConfiguration |
virtualMachineConfiguration | このプロパティと cloudServiceConfiguration は相互に排他的であり、プロパティの 1 つを指定する必要があります。 | VirtualMachineConfiguration |
EnvironmentSetting
名前 | 形容 | 価値 |
---|---|---|
名前 | 環境変数の名前。 | string (必須) |
価値 | 環境変数の値。 | 糸 |
FixedScaleSettings
名前 | 形容 | 価値 |
---|---|---|
nodeDeallocationOption | 省略した場合、既定値は Requeue です。 | 'Requeue' 'RetainedData' 'TaskCompletion' 'Terminate' |
resizeTimeout | 既定値は 15 分です。 タイムアウト値は ISO 8601 形式を使用します。 たとえば、PT10M を 10 分間使用します。 最小値は 5 分です。 5 分未満の値を指定した場合、Batch サービスはエラーで要求を拒否します。REST API を直接呼び出す場合、HTTP 状態コードは 400 (無効な要求) です。 | 糸 |
targetDedicatedNodes | targetDedicatedNodes のうち少なくとも 1 つ、targetLowPriority ノードを設定する必要があります。 | int |
targetLowPriorityNodes | targetDedicatedNodes のうち少なくとも 1 つ、targetLowPriority ノードを設定する必要があります。 | int |
ImageReference
名前 | 形容 | 価値 |
---|---|---|
身分証明書 | このプロパティは、他のプロパティと相互に排他的です。 仮想マシン イメージは、Azure Batch アカウントと同じリージョンとサブスクリプションに存在する必要があります。 Batch サービスと通信するための Batch ノード エージェントのファイアウォール設定については、/azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration を参照してください。 | 糸 |
提供 | たとえば、UbuntuServer や WindowsServer などです。 | 糸 |
発行者 | たとえば、Canonical または MicrosoftWindowsServer です。 | 糸 |
sku | たとえば、14.04.0-LTS や 2012-R2-Datacenter などです。 | 糸 |
バージョン | "latest" の値を指定して、イメージの最新バージョンを選択できます。 省略した場合、既定値は 'latest' です。 | 糸 |
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' (必須) |
LinuxUserConfiguration
名前 | 形容 | 価値 |
---|---|---|
gid | uid プロパティと gid プロパティは、一緒に指定するか、まったく指定しない必要があります。 指定しない場合、基になるオペレーティング システムは gid を選択します。 | int |
sshPrivateKey | 秘密キーはパスワードで保護しないでください。 この秘密キーは、プールの enableInterNodeCommunication プロパティが true の場合 (enableInterNodeCommunication が false の場合は無視されます)、Linux プール内のノード間で SSH の非対称キー ベースの認証を自動的に構成するために使用されます。 これを行うには、キー ペアをユーザーの .ssh ディレクトリに配置します。 指定しない場合、ノード間でパスワードレス SSH は構成されません (ユーザーの .ssh ディレクトリの変更は行われません)。 | 糸 |
uid | uid プロパティと gid プロパティは、一緒に指定するか、まったく指定しない必要があります。 指定しない場合、基になるオペレーティング システムは uid を選択します。 | int |
MetadataItem
名前 | 形容 | 価値 |
---|---|---|
名前 | メタデータ項目の名前。 | string (必須) |
価値 | メタデータ項目の値。 | string (必須) |
Microsoft.Batch/batchAccounts/pools
名前 | 形容 | 価値 |
---|---|---|
apiVersion | API のバージョン | '2017-09-01' |
名前 | リソース名 | 糸 制約: 最小長 = 1 最大長 = 1 パターン = ^[a-zA-Z0-9_-]+$ (必須) |
プロパティ | プールに関連付けられているプロパティ。 | PoolProperties |
種類 | リソースの種類 | 'Microsoft.Batch/batchAccounts/pools' |
NetworkConfiguration
名前 | 形容 | 価値 |
---|---|---|
endpointConfiguration | プール エンドポイントの構成は、virtualMachineConfiguration プロパティを持つプールでのみサポートされます。 | PoolEndpointConfiguration |
subnetId | 仮想ネットワークは、Azure Batch アカウントと同じリージョンとサブスクリプションに存在する必要があります。 指定されたサブネットには、プール内のノード数に対応できる十分な空き IP アドレスが必要です。 サブネットに十分な空き IP アドレスがない場合、プールはコンピューティング ノードを部分的に割り当て、サイズ変更エラーが発生します。 "MicrosoftAzureBatch" サービス プリンシパルには、指定された VNet の "クラシック仮想マシン共同作成者" Role-Based アクセス制御 (RBAC) ロールが必要です。 指定したサブネットでは、コンピューティング ノードでタスクをスケジュールできるように、Azure Batch サービスからの通信を許可する必要があります。 これは、指定された VNet にネットワーク セキュリティ グループ (NSG) が関連付けられているかどうかを確認することで確認できます。 指定したサブネット内のコンピューティング ノードへの通信が NSG によって拒否された場合、Batch サービスはコンピューティング ノードの状態を使用不可に設定します。 virtualMachineConfiguration を使用して作成されたプールの場合、VNet を使用するには、Batch アカウントに poolAllocationMode userSubscription が必要です。 指定した VNet にネットワーク セキュリティ グループ (NSG) が関連付けられている場合は、いくつかの予約済みシステム ポートを受信通信に対して有効にする必要があります。 仮想マシン構成で作成されたプールの場合は、ポート 29876 と 29877、Linux の場合はポート 22、Windows の場合はポート 3389 を有効にします。 クラウド サービス構成で作成されたプールの場合は、ポート 10100、20100、および 30100 を有効にします。 また、ポート 443 で Azure Storage への送信接続を有効にします。 詳細については、/azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration を参照してください。 | 糸 |
NetworkSecurityGroupRule
名前 | 形容 | 価値 |
---|---|---|
アクセス | 指定した IP アドレス、サブネット範囲、またはタグに対して実行する必要があるアクション。 | 'Allow' 'Deny' (必須) |
優先権 | プール内の優先順位は一意である必要があり、優先順位の順に評価されます。 数値が小さい方が優先度が高くなります。 たとえば、順序番号が 150、250、350 のルールを指定できます。 順序番号が 150 のルールは、順序が 250 のルールよりも優先されます。 許可される優先順位は 150 から 3500 です。 予約された値または重複する値が指定されている場合、要求は HTTP 状態コード 400 で失敗します。 | int (必須) |
sourceAddressPrefix | 有効な値は、1 つの IP アドレス (10.10.10.10.10)、IP サブネット (つまり 192.168.1.0/24)、既定のタグ、または * (すべてのアドレスの場合) です。 その他の値が指定されている場合、要求は HTTP 状態コード 400 で失敗します。 | string (必須) |
OSDisk
名前 | 形容 | 価値 |
---|---|---|
キャッシング | 既定値は none です。 | 'None' 'ReadOnly' 'ReadWrite' |
PoolEndpointConfiguration
名前 | 形容 | 価値 |
---|---|---|
inboundNatPools | Batch プールあたりの受信 NAT プールの最大数は 5 です。 受信 NAT プールの最大数を超えた場合、要求は HTTP 状態コード 400 で失敗します。 | InboundNatPool[] (必須) |
PoolProperties
名前 | 形容 | 価値 |
---|---|---|
applicationLicenses | アプリケーション ライセンスの一覧は、使用可能な Batch サービス アプリケーション ライセンスのサブセットである必要があります。 サポートされていないライセンスが要求された場合、プールの作成は失敗します。 | string[] |
applicationPackages | アプリケーション パッケージに対する変更は、プールに参加しているすべての新しいコンピューティング ノードに影響しますが、再起動または再イメージ化されるまで、既にプール内にあるコンピューティング ノードには影響しません。 | 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' |
maxTasksPerNode | プール内の 1 つのコンピューティング ノードで同時に実行できるタスクの最大数。 | int |
metadata | Batch サービスは、メタデータに意味を割り当てません。これは、ユーザー コードの使用のみを目的とします。 | MetadataItem[] |
networkConfiguration | プールのネットワーク構成。 | NetworkConfiguration |
scaleSettings | プールの目的のサイズを定義します。 これは、要求された targetDedicatedNodes が指定されている "fixedScale" か、定期的に再評価される数式を定義する 'autoScale' のいずれかです。 このプロパティを指定しない場合、プールは 0 targetDedicatedNodes を使用して固定スケールになります。 | ScaleSettings |
startTask | PATCH (更新) 操作では、このプロパティを空のオブジェクトに設定して、プールから開始タスクを削除できます。 | StartTask の |
taskSchedulingPolicy | タスクをコンピューティング ノード間で分散する方法を指定します。 | TaskSchedulingPolicy |
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 で作成されたプール) の詳細については、「仮想マシンのサイズ (Linux) (https://azure.microsoft.com/documentation/articles/virtual-machines-linux-sizes/) または仮想マシンのサイズ (Windows) (https://azure.microsoft.com/documentation/articles/virtual-machines-windows-sizes/)」を参照してください。 Batch では、STANDARD_A0と Premium Storage (STANDARD_GS、STANDARD_DS、STANDARD_DSV2 シリーズ) を除くすべての Azure VM サイズがサポートされます。 | 糸 |
ResourceFile
名前 | 形容 | 価値 |
---|---|---|
blobSource | この URL は、匿名アクセスを使用して読み取り可能である必要があります。つまり、Batch サービスは BLOB のダウンロード時に資格情報を提示しません。 Azure Storage 内の BLOB のこのような URL を取得するには、BLOB に対する読み取りアクセス許可を付与する Shared Access Signature (SAS) を含めるか、パブリック アクセスを許可するように BLOB またはそのコンテナーの ACL を設定する方法の 2 つがあります。 | string (必須) |
fileMode | このプロパティは、Linux コンピューティング ノードにダウンロードされるファイルにのみ適用されます。 これは、Windows ノードにダウンロードされる resourceFile に対して指定されている場合は無視されます。 Linux ノードにこのプロパティが指定されていない場合は、既定値の 0770 がファイルに適用されます。 | 糸 |
filePath | タスクの作業ディレクトリを基準とした、ファイルのダウンロード先となるコンピューティング ノード上の場所。 | string (必須) |
ScaleSettings
名前 | 形容 | 価値 |
---|---|---|
autoScale | このプロパティと fixedScale は相互に排他的であり、プロパティの 1 つを指定する必要があります。 | AutoScaleSettings の |
fixedScale | このプロパティと自動スケールは相互に排他的であり、プロパティの 1 つを指定する必要があります。 | FixedScaleSettings |
StartTask
名前 | 形容 | 価値 |
---|---|---|
commandLine | コマンド ラインはシェルでは実行されないため、環境変数の拡張などのシェル機能を利用することはできません。 このような機能を利用する場合は、コマンド ラインでシェルを呼び出す必要があります。たとえば、Windows では "cmd /c MyCommand" を使用し、Linux では "/bin/sh -c MyCommand" を使用します。 startTask の他のプロパティが指定されている場合は必須です。 | 糸 |
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 サービスは開始タスクの完了を待機しません。 この場合、開始タスクの実行中に、他のタスクがコンピューティング ノードで実行を開始できます。開始タスクが失敗した場合でも、新しいタスクはノードで引き続きスケジュールされます。 既定値は false です。 | bool |
TaskSchedulingPolicy
名前 | 形容 | 価値 |
---|---|---|
nodeFillType | タスクをコンピューティング ノード間で分散する方法。 | 'Pack' 'Spread' (必須) |
UserAccount
名前 | 形容 | 価値 |
---|---|---|
elevationLevel | nonAdmin - 自動ユーザーは、昇格されたアクセス権を持たない標準ユーザーです。 admin - 自動ユーザーは昇格されたアクセス権を持つユーザーであり、完全な管理者アクセス許可で動作します。 既定値は nonAdmin です。 | 'Admin' 'NonAdmin' |
linuxUserConfiguration | このプロパティは、Windows プールで指定されている場合は無視されます。 指定しない場合、ユーザーは既定のオプションで作成されます。 | LinuxUserConfiguration |
名前 | ユーザー アカウントの名前。 | string (必須) |
パスワード | ユーザー アカウントのパスワード。 | string (必須) |
UserIdentity
名前 | 形容 | 価値 |
---|---|---|
autoUser | userName プロパティと autoUser プロパティは相互に排他的です。1 つを指定する必要がありますが、両方を指定する必要はありません。 | AutoUserSpecification の |
userName | userName プロパティと autoUser プロパティは相互に排他的です。1 つを指定する必要がありますが、両方を指定する必要はありません。 | 糸 |
VirtualMachineConfiguration
名前 | 形容 | 価値 |
---|---|---|
dataDisks | プール内のコンピューティング ノードに空のデータ ディスクが接続されている必要がある場合は、このプロパティを指定する必要があります。 | DataDisk[] |
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 (必須) |
osDisk | 仮想マシンのオペレーティング システム ディスクの設定。 | OSDisk |
windowsConfiguration | imageReference で Linux OS イメージが指定されている場合は、このプロパティを指定しないでください。 | WindowsConfiguration |
WindowsConfiguration
名前 | 形容 | 価値 |
---|---|---|
enableAutomaticUpdates | 省略した場合、既定値は true です。 | bool |
クイック スタート テンプレート
次のクイック スタート テンプレートでは、このリソースの種類をデプロイします。
テンプレート | 形容 |
---|---|
パブリック 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@2017-09-01"
name = "string"
body = jsonencode({
properties = {
applicationLicenses = [
"string"
]
applicationPackages = [
{
id = "string"
version = "string"
}
]
certificates = [
{
id = "string"
storeLocation = "string"
storeName = "string"
visibility = [
"string"
]
}
]
deploymentConfiguration = {
cloudServiceConfiguration = {
currentOSVersion = "string"
osFamily = "string"
targetOSVersion = "string"
}
virtualMachineConfiguration = {
dataDisks = [
{
caching = "string"
diskSizeGB = int
lun = int
storageAccountType = "string"
}
]
imageReference = {
id = "string"
offer = "string"
publisher = "string"
sku = "string"
version = "string"
}
licenseType = "string"
nodeAgentSkuId = "string"
osDisk = {
caching = "string"
}
windowsConfiguration = {
enableAutomaticUpdates = bool
}
}
}
displayName = "string"
interNodeCommunication = "string"
maxTasksPerNode = int
metadata = [
{
name = "string"
value = "string"
}
]
networkConfiguration = {
endpointConfiguration = {
inboundNatPools = [
{
backendPort = int
frontendPortRangeEnd = int
frontendPortRangeStart = int
name = "string"
networkSecurityGroupRules = [
{
access = "string"
priority = int
sourceAddressPrefix = "string"
}
]
protocol = "string"
}
]
}
subnetId = "string"
}
scaleSettings = {
autoScale = {
evaluationInterval = "string"
formula = "string"
}
fixedScale = {
nodeDeallocationOption = "string"
resizeTimeout = "string"
targetDedicatedNodes = int
targetLowPriorityNodes = int
}
}
startTask = {
commandLine = "string"
environmentSettings = [
{
name = "string"
value = "string"
}
]
maxTaskRetryCount = int
resourceFiles = [
{
blobSource = "string"
fileMode = "string"
filePath = "string"
}
]
userIdentity = {
autoUser = {
elevationLevel = "string"
scope = "string"
}
userName = "string"
}
waitForSuccess = bool
}
taskSchedulingPolicy = {
nodeFillType = "string"
}
userAccounts = [
{
elevationLevel = "string"
linuxUserConfiguration = {
gid = int
sshPrivateKey = "string"
uid = int
}
name = "string"
password = "string"
}
]
vmSize = "string"
}
})
}
プロパティ値
ApplicationPackageReference
名前 | 形容 | 価値 |
---|---|---|
身分証明書 | インストールするアプリケーション パッケージの ID。 これは、プールと同じバッチ アカウント内にある必要があります。 これは、特定のバージョンへの参照でも、存在する場合は既定のバージョンでもかまいません。 | string (必須) |
バージョン | これを省略し、このアプリケーションに既定のバージョンが指定されていない場合、要求はエラー コード InvalidApplicationPackageReferences で失敗します。 REST API を直接呼び出す場合、HTTP 状態コードは 409 です。 | 糸 |
AutoScaleSettings
名前 | 形容 | 価値 |
---|---|---|
evaluationInterval | 省略した場合、既定値は 15 分 (PT15M) です。 | 糸 |
式 | プール内のコンピューティング ノードの必要な数の数式。 | string (必須) |
AutoUserSpecification
名前 | 形容 | 価値 |
---|---|---|
elevationLevel | nonAdmin - 自動ユーザーは、昇格されたアクセス権を持たない標準ユーザーです。 admin - 自動ユーザーは昇格されたアクセス権を持つユーザーであり、完全な管理者アクセス許可で動作します。 既定値は nonAdmin です。 | 'Admin' 'NonAdmin' |
スコープ | pool - タスクが、プール内のすべてのノードで作成される共通の自動ユーザー アカウントとして実行されることを指定します。 task - サービスがタスクの新しいユーザーを作成することを指定します。 既定値は task です。 | 'Pool' 'Task' |
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 です。 | 糸 |
可視 | 値は次のとおりです。 starttask - 開始タスクを実行するユーザー アカウント。 task - ジョブ タスクを実行するアカウント。 remoteuser - ユーザーがノードにリモートでアクセスするアカウント。 このコレクションでは、複数の可視性を指定できます。 既定値は、すべてのアカウントです。 |
次のいずれかを含む文字列配列: 'RemoteUser' 'StartTask' 'Task' |
CloudServiceConfiguration
名前 | 形容 | 価値 |
---|---|---|
currentOSVersion | プールの状態がアップグレード中の場合、これは targetOSVersion とは異なる場合があります。 この場合、一部の仮想マシンは targetOSVersion 上にあり、一部はアップグレード プロセス中に currentOSVersion 上にある可能性があります。 すべての仮想マシンがアップグレードされると、currentOSVersion が targetOSVersion と同じに更新されます。 | 糸 |
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。 詳細については、「Azure ゲスト OS リリース (https://azure.microsoft.com/documentation/articles/cloud-services-guestos-update-matrix/#releases)」を参照してください。 | string (必須) |
targetOSVersion | 既定値は * で、指定した OS ファミリの最新のオペレーティング システム バージョンを指定します。 | 糸 |
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 が必要です。 | int (必須) |
storageAccountType | 省略した場合、既定値は "Standard_LRS" です。 値は次のとおりです。 Standard_LRS - データ ディスクは、標準のローカル冗長ストレージを使用する必要があります。 Premium_LRS - データ ディスクでは、Premium ローカル冗長ストレージを使用する必要があります。 |
'Premium_LRS' 'Standard_LRS' |
DeploymentConfiguration
名前 | 形容 | 価値 |
---|---|---|
cloudServiceConfiguration | このプロパティと virtualMachineConfiguration は相互に排他的であり、プロパティの 1 つを指定する必要があります。 batch アカウントが poolAllocationMode プロパティを 'UserSubscription' に設定して作成された場合、このプロパティを指定できません。 | CloudServiceConfiguration |
virtualMachineConfiguration | このプロパティと cloudServiceConfiguration は相互に排他的であり、プロパティの 1 つを指定する必要があります。 | VirtualMachineConfiguration |
EnvironmentSetting
名前 | 形容 | 価値 |
---|---|---|
名前 | 環境変数の名前。 | string (必須) |
価値 | 環境変数の値。 | 糸 |
FixedScaleSettings
名前 | 形容 | 価値 |
---|---|---|
nodeDeallocationOption | 省略した場合、既定値は Requeue です。 | 'Requeue' 'RetainedData' 'TaskCompletion' 'Terminate' |
resizeTimeout | 既定値は 15 分です。 タイムアウト値は ISO 8601 形式を使用します。 たとえば、PT10M を 10 分間使用します。 最小値は 5 分です。 5 分未満の値を指定した場合、Batch サービスはエラーで要求を拒否します。REST API を直接呼び出す場合、HTTP 状態コードは 400 (無効な要求) です。 | 糸 |
targetDedicatedNodes | targetDedicatedNodes のうち少なくとも 1 つ、targetLowPriority ノードを設定する必要があります。 | int |
targetLowPriorityNodes | targetDedicatedNodes のうち少なくとも 1 つ、targetLowPriority ノードを設定する必要があります。 | int |
ImageReference
名前 | 形容 | 価値 |
---|---|---|
身分証明書 | このプロパティは、他のプロパティと相互に排他的です。 仮想マシン イメージは、Azure Batch アカウントと同じリージョンとサブスクリプションに存在する必要があります。 Batch サービスと通信するための Batch ノード エージェントのファイアウォール設定については、/azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration を参照してください。 | 糸 |
提供 | たとえば、UbuntuServer や WindowsServer などです。 | 糸 |
発行者 | たとえば、Canonical または MicrosoftWindowsServer です。 | 糸 |
sku | たとえば、14.04.0-LTS や 2012-R2-Datacenter などです。 | 糸 |
バージョン | "latest" の値を指定して、イメージの最新バージョンを選択できます。 省略した場合、既定値は 'latest' です。 | 糸 |
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' (必須) |
LinuxUserConfiguration
名前 | 形容 | 価値 |
---|---|---|
gid | uid プロパティと gid プロパティは、一緒に指定するか、まったく指定しない必要があります。 指定しない場合、基になるオペレーティング システムは gid を選択します。 | int |
sshPrivateKey | 秘密キーはパスワードで保護しないでください。 この秘密キーは、プールの enableInterNodeCommunication プロパティが true の場合 (enableInterNodeCommunication が false の場合は無視されます)、Linux プール内のノード間で SSH の非対称キー ベースの認証を自動的に構成するために使用されます。 これを行うには、キー ペアをユーザーの .ssh ディレクトリに配置します。 指定しない場合、ノード間でパスワードレス SSH は構成されません (ユーザーの .ssh ディレクトリの変更は行われません)。 | 糸 |
uid | uid プロパティと gid プロパティは、一緒に指定するか、まったく指定しない必要があります。 指定しない場合、基になるオペレーティング システムは uid を選択します。 | int |
MetadataItem
名前 | 形容 | 価値 |
---|---|---|
名前 | メタデータ項目の名前。 | string (必須) |
価値 | メタデータ項目の値。 | string (必須) |
Microsoft.Batch/batchAccounts/pools
名前 | 形容 | 価値 |
---|---|---|
名前 | リソース名 | 糸 制約: 最小長 = 1 最大長 = 1 パターン = ^[a-zA-Z0-9_-]+$ (必須) |
parent_id | このリソースの親であるリソースの ID。 | 種類のリソースの ID: batchAccounts |
プロパティ | プールに関連付けられているプロパティ。 | PoolProperties |
種類 | リソースの種類 | "Microsoft.Batch/batchAccounts/pools@2017-09-01" |
NetworkConfiguration
名前 | 形容 | 価値 |
---|---|---|
endpointConfiguration | プール エンドポイントの構成は、virtualMachineConfiguration プロパティを持つプールでのみサポートされます。 | PoolEndpointConfiguration |
subnetId | 仮想ネットワークは、Azure Batch アカウントと同じリージョンとサブスクリプションに存在する必要があります。 指定されたサブネットには、プール内のノード数に対応できる十分な空き IP アドレスが必要です。 サブネットに十分な空き IP アドレスがない場合、プールはコンピューティング ノードを部分的に割り当て、サイズ変更エラーが発生します。 "MicrosoftAzureBatch" サービス プリンシパルには、指定された VNet の "クラシック仮想マシン共同作成者" Role-Based アクセス制御 (RBAC) ロールが必要です。 指定したサブネットでは、コンピューティング ノードでタスクをスケジュールできるように、Azure Batch サービスからの通信を許可する必要があります。 これは、指定された VNet にネットワーク セキュリティ グループ (NSG) が関連付けられているかどうかを確認することで確認できます。 指定したサブネット内のコンピューティング ノードへの通信が NSG によって拒否された場合、Batch サービスはコンピューティング ノードの状態を使用不可に設定します。 virtualMachineConfiguration を使用して作成されたプールの場合、VNet を使用するには、Batch アカウントに poolAllocationMode userSubscription が必要です。 指定した VNet にネットワーク セキュリティ グループ (NSG) が関連付けられている場合は、いくつかの予約済みシステム ポートを受信通信に対して有効にする必要があります。 仮想マシン構成で作成されたプールの場合は、ポート 29876 と 29877、Linux の場合はポート 22、Windows の場合はポート 3389 を有効にします。 クラウド サービス構成で作成されたプールの場合は、ポート 10100、20100、および 30100 を有効にします。 また、ポート 443 で Azure Storage への送信接続を有効にします。 詳細については、/azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration を参照してください。 | 糸 |
NetworkSecurityGroupRule
名前 | 形容 | 価値 |
---|---|---|
アクセス | 指定した IP アドレス、サブネット範囲、またはタグに対して実行する必要があるアクション。 | 'Allow' 'Deny' (必須) |
優先権 | プール内の優先順位は一意である必要があり、優先順位の順に評価されます。 数値が小さい方が優先度が高くなります。 たとえば、順序番号が 150、250、350 のルールを指定できます。 順序番号が 150 のルールは、順序が 250 のルールよりも優先されます。 許可される優先順位は 150 から 3500 です。 予約された値または重複する値が指定されている場合、要求は HTTP 状態コード 400 で失敗します。 | int (必須) |
sourceAddressPrefix | 有効な値は、1 つの IP アドレス (10.10.10.10.10)、IP サブネット (つまり 192.168.1.0/24)、既定のタグ、または * (すべてのアドレスの場合) です。 その他の値が指定されている場合、要求は HTTP 状態コード 400 で失敗します。 | string (必須) |
OSDisk
名前 | 形容 | 価値 |
---|---|---|
キャッシング | 既定値は none です。 | 'None' 'ReadOnly' 'ReadWrite' |
PoolEndpointConfiguration
名前 | 形容 | 価値 |
---|---|---|
inboundNatPools | Batch プールあたりの受信 NAT プールの最大数は 5 です。 受信 NAT プールの最大数を超えた場合、要求は HTTP 状態コード 400 で失敗します。 | InboundNatPool[] (必須) |
PoolProperties
名前 | 形容 | 価値 |
---|---|---|
applicationLicenses | アプリケーション ライセンスの一覧は、使用可能な Batch サービス アプリケーション ライセンスのサブセットである必要があります。 サポートされていないライセンスが要求された場合、プールの作成は失敗します。 | string[] |
applicationPackages | アプリケーション パッケージに対する変更は、プールに参加しているすべての新しいコンピューティング ノードに影響しますが、再起動または再イメージ化されるまで、既にプール内にあるコンピューティング ノードには影響しません。 | 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' |
maxTasksPerNode | プール内の 1 つのコンピューティング ノードで同時に実行できるタスクの最大数。 | int |
metadata | Batch サービスは、メタデータに意味を割り当てません。これは、ユーザー コードの使用のみを目的とします。 | MetadataItem[] |
networkConfiguration | プールのネットワーク構成。 | NetworkConfiguration |
scaleSettings | プールの目的のサイズを定義します。 これは、要求された targetDedicatedNodes が指定されている "fixedScale" か、定期的に再評価される数式を定義する 'autoScale' のいずれかです。 このプロパティを指定しない場合、プールは 0 targetDedicatedNodes を使用して固定スケールになります。 | ScaleSettings |
startTask | PATCH (更新) 操作では、このプロパティを空のオブジェクトに設定して、プールから開始タスクを削除できます。 | StartTask の |
taskSchedulingPolicy | タスクをコンピューティング ノード間で分散する方法を指定します。 | TaskSchedulingPolicy |
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 で作成されたプール) の詳細については、「仮想マシンのサイズ (Linux) (https://azure.microsoft.com/documentation/articles/virtual-machines-linux-sizes/) または仮想マシンのサイズ (Windows) (https://azure.microsoft.com/documentation/articles/virtual-machines-windows-sizes/)」を参照してください。 Batch では、STANDARD_A0と Premium Storage (STANDARD_GS、STANDARD_DS、STANDARD_DSV2 シリーズ) を除くすべての Azure VM サイズがサポートされます。 | 糸 |
ResourceFile
名前 | 形容 | 価値 |
---|---|---|
blobSource | この URL は、匿名アクセスを使用して読み取り可能である必要があります。つまり、Batch サービスは BLOB のダウンロード時に資格情報を提示しません。 Azure Storage 内の BLOB のこのような URL を取得するには、BLOB に対する読み取りアクセス許可を付与する Shared Access Signature (SAS) を含めるか、パブリック アクセスを許可するように BLOB またはそのコンテナーの ACL を設定する方法の 2 つがあります。 | string (必須) |
fileMode | このプロパティは、Linux コンピューティング ノードにダウンロードされるファイルにのみ適用されます。 これは、Windows ノードにダウンロードされる resourceFile に対して指定されている場合は無視されます。 Linux ノードにこのプロパティが指定されていない場合は、既定値の 0770 がファイルに適用されます。 | 糸 |
filePath | タスクの作業ディレクトリを基準とした、ファイルのダウンロード先となるコンピューティング ノード上の場所。 | string (必須) |
ScaleSettings
名前 | 形容 | 価値 |
---|---|---|
autoScale | このプロパティと fixedScale は相互に排他的であり、プロパティの 1 つを指定する必要があります。 | AutoScaleSettings の |
fixedScale | このプロパティと自動スケールは相互に排他的であり、プロパティの 1 つを指定する必要があります。 | FixedScaleSettings |
StartTask
名前 | 形容 | 価値 |
---|---|---|
commandLine | コマンド ラインはシェルでは実行されないため、環境変数の拡張などのシェル機能を利用することはできません。 このような機能を利用する場合は、コマンド ラインでシェルを呼び出す必要があります。たとえば、Windows では "cmd /c MyCommand" を使用し、Linux では "/bin/sh -c MyCommand" を使用します。 startTask の他のプロパティが指定されている場合は必須です。 | 糸 |
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 サービスは開始タスクの完了を待機しません。 この場合、開始タスクの実行中に、他のタスクがコンピューティング ノードで実行を開始できます。開始タスクが失敗した場合でも、新しいタスクはノードで引き続きスケジュールされます。 既定値は false です。 | bool |
TaskSchedulingPolicy
名前 | 形容 | 価値 |
---|---|---|
nodeFillType | タスクをコンピューティング ノード間で分散する方法。 | 'Pack' 'Spread' (必須) |
UserAccount
名前 | 形容 | 価値 |
---|---|---|
elevationLevel | nonAdmin - 自動ユーザーは、昇格されたアクセス権を持たない標準ユーザーです。 admin - 自動ユーザーは昇格されたアクセス権を持つユーザーであり、完全な管理者アクセス許可で動作します。 既定値は nonAdmin です。 | 'Admin' 'NonAdmin' |
linuxUserConfiguration | このプロパティは、Windows プールで指定されている場合は無視されます。 指定しない場合、ユーザーは既定のオプションで作成されます。 | LinuxUserConfiguration |
名前 | ユーザー アカウントの名前。 | string (必須) |
パスワード | ユーザー アカウントのパスワード。 | string (必須) |
UserIdentity
名前 | 形容 | 価値 |
---|---|---|
autoUser | userName プロパティと autoUser プロパティは相互に排他的です。1 つを指定する必要がありますが、両方を指定する必要はありません。 | AutoUserSpecification の |
userName | userName プロパティと autoUser プロパティは相互に排他的です。1 つを指定する必要がありますが、両方を指定する必要はありません。 | 糸 |
VirtualMachineConfiguration
名前 | 形容 | 価値 |
---|---|---|
dataDisks | プール内のコンピューティング ノードに空のデータ ディスクが接続されている必要がある場合は、このプロパティを指定する必要があります。 | DataDisk[] |
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 (必須) |
osDisk | 仮想マシンのオペレーティング システム ディスクの設定。 | OSDisk |
windowsConfiguration | imageReference で Linux OS イメージが指定されている場合は、このプロパティを指定しないでください。 | WindowsConfiguration |
WindowsConfiguration
名前 | 形容 | 価値 |
---|---|---|
enableAutomaticUpdates | 省略した場合、既定値は true です。 | bool |