このためには、最初に VM の可用性グループを作成する必要があります。ARM テンプレートのリソース宣言は次のようになります。
{
"type": "Microsoft.Compute/availabilitySets",
"name": "[variables('availabilitySetName')]",
"apiVersion": "2015-05-01-preview",
"location": "[parameters('location')]",
"properties": {
"platformFaultDomainCount": "2"
}
}
次に、仮想マシン リソースの場合、ARM テンプレートの宣言は次のようになります。
{
"apiVersion": "2015-05-01-preview",
"type": "Microsoft.Compute/virtualMachines",
"name": "[concat(variables('vmName'), '0')]",
"location": "[parameters('location')]",
"dependsOn": [
"[concat('Microsoft.Storage/storageAccounts/', parameters('newStorageAccountName'))]",
"[concat('Microsoft.Network/networkInterfaces/', variables('nicName'), '0')]",
"[concat('Microsoft.Compute/availabilitySets/', variables('availabilitySetName'))]"
],
"properties": {
"availabilitySet": {
"id": "[resourceId('Microsoft.Compute/availabilitySets', variables('availabilitySetName'))]"
},
...},
クイックスタート テンプレートは良い参照です: https://raw.githubusercontent.com/azure/azure-quickstart-templates/master/201-2-vms-2-FDs-no-resource-loops/azuredeploy.json
可用性セットに同じサイズの VM が 2 つ以上ある場合は、microsoft.insights/autoscalesettings を使用して自動スケーリングを構成します。これはクラウド サービスで行われるため、PaaS と同様に機能します...次のようになります。
{
"apiVersion": "2014-04-01",
"name": "[concat(variables('vmName'), '-', resourceGroup().name)]",
"type": "microsoft.insights/autoscalesettings",
"location": "East US",
...},
かなり良い例は次のとおりです。
また、最初にポータルを使用して自動スケーリングをセットアップし、ARMExplorer を確認して、コードでどのように表示されるかをよりよく理解しました。ARMExplorer はこちら: Azure リソース エクスプローラー