如何解决在 Azure 中创建具有 HA 端口的内部标准负载平衡器
我正在尝试使用 ARM 模板在 Azure 中创建具有 HA 端口的内部标准负载平衡器。我收到以下验证错误。
{ "code": "InvalidTemplateDeployment",“细节”: [ { "code": "PortValueIsOutOfRange","message": "资源 DC10TESTCPW01 的端口 (0) 值无效。该值必须介于 1 和 65535 之间。",“细节”: [] } ],"message": "根据验证程序,模板部署 'Microsoft.Template-20210524012843' 无效。跟踪 ID 为 '585f5d57-4423-47a8-a45d-4a0e371b47c2'。有关详细信息,请参阅内部错误。" }
解决方法
示例:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#","contentVersion": "1.0.0.0","parameters": {
"adminUsername": {
"type": "string","metadata": {
"description": "Admin username"
}
},"adminPassword": {
"type": "securestring","metadata": {
"description": "Admin password"
}
},"vmNamePrefix": {
"type": "string","defaultValue": "BackendVM","metadata": {
"description": "Prefix to use for VM names"
}
},"location": {
"type": "string","defaultValue": "[resourceGroup().location]","metadata": {
"description": "Location for all resources."
}
},"vmSize": {
"type": "string","defaultValue": "Standard_DS1_V2","metadata": {
"description": "Size of the virtual machines"
}
}
},"variables": {
"availabilitySetName": "AvSet","storageAccountType": "Standard_LRS","storageAccountName": "[uniqueString(resourceGroup().id)]","virtualNetworkName": "vNet","subnetName": "backendSubnet","loadBalancerName": "ilb","networkInterfaceName": "nic","subnetRef": "[resourceId('Microsoft.Network/virtualNetworks/subnets',variables('virtualNetworkName'),variables('subnetName'))]","numberOfInstances": 2
},"resources": [
{
"type": "Microsoft.Storage/storageAccounts","apiVersion": "2019-06-01","name": "[variables('storageAccountName')]","location": "[parameters('location')]","sku": {
"name": "[variables('storageAccountType')]"
},"kind": "StorageV2"
},{
"type": "Microsoft.Compute/availabilitySets","apiVersion": "2020-06-01","name": "[variables('availabilitySetName')]","sku": {
"name": "Aligned"
},"properties": {
"PlatformUpdateDomainCount": 2,"PlatformFaultDomainCount": 2
}
},{
"type": "Microsoft.Network/virtualNetworks","name": "[variables('virtualNetworkName')]","properties": {
"addressSpace": {
"addressPrefixes": [
"10.0.0.0/16"
]
},"subnets": [
{
"name": "[variables('subnetName')]","properties": {
"addressPrefix": "10.0.2.0/24"
}
}
]
}
},{
"type": "Microsoft.Network/networkInterfaces","name": "[concat(variables('networkInterfaceName'),copyindex())]","copy": {
"name": "nicLoop","count": "[variables('numberOfInstances')]"
},"dependsOn": [
"[variables('virtualNetworkName')]","[variables('loadBalancerName')]"
],"properties": {
"ipConfigurations": [
{
"name": "ipconfig1","properties": {
"privateIPAllocationMethod": "Dynamic","subnet": {
"id": "[variables('subnetRef')]"
},"loadBalancerBackendAddressPools": [
{
"id": "[resourceId('Microsoft.Network/loadBalancers/backendAddressPools',variables('loadBalancerName'),'BackendPool1')]"
}
]
}
}
]
}
},{
"type": "Microsoft.Network/loadBalancers","name": "[variables('loadBalancerName')]","sku": {
"name": "Standard"
},"dependsOn": [
"[variables('virtualNetworkName')]"
],"properties": {
"frontendIPConfigurations": [
{
"properties": {
"subnet": {
"id": "[variables('subnetRef')]"
},"privateIPAddress": "10.0.2.6","privateIPAllocationMethod": "Static"
},"name": "LoadBalancerFrontend"
}
],"backendAddressPools": [
{
"name": "BackendPool1"
}
],"loadBalancingRules": [
{
"properties": {
"frontendIPConfiguration": {
"id": "[resourceId('Microsoft.Network/loadBalancers/frontendIpConfigurations','LoadBalancerFrontend')]"
},"backendAddressPool": {
"id": "[resourceId('Microsoft.Network/loadBalancers/backendAddressPools','BackendPool1')]"
},"probe": {
"id": "[resourceId('Microsoft.Network/loadBalancers/probes','lbprobe')]"
},"protocol": "Tcp","frontendPort": 80,"backendPort": 80,"idleTimeoutInMinutes": 15
},"Name": "lbrule"
}
],"probes": [
{
"properties": {
"protocol": "Tcp","port": 80,"intervalInSeconds": 15,"numberOfProbes": 2
},"name": "lbprobe"
}
]
}
},{
"type": "Microsoft.Compute/virtualMachines","name": "[concat(parameters('vmNamePrefix'),"copy": {
"name": "virtualMachineLoop","dependsOn": [
"[variables('storageAccountName')]","nicLoop","[variables('availabilitySetName')]"
],"properties": {
"availabilitySet": {
"id": "[resourceId('Microsoft.Compute/availabilitySets',variables('availabilitySetName'))]"
},"hardwareProfile": {
"vmSize": "[parameters('vmSize')]"
},"osProfile": {
"computerName": "[concat(parameters('vmNamePrefix'),copyIndex())]","adminUsername": "[parameters('adminUsername')]","adminPassword": "[parameters('adminPassword')]"
},"storageProfile": {
"imageReference": {
"publisher": "MicrosoftWindowsServer","offer": "WindowsServer","sku": "2019-Datacenter","version": "latest"
},"osDisk": {
"createOption": "FromImage"
}
},"networkProfile": {
"networkInterfaces": [
{
"id": "[resourceId('Microsoft.Network/networkInterfaces',concat(variables('networkInterfaceName'),copyindex()))]"
}
]
},"diagnosticsProfile": {
"bootDiagnostics": {
"enabled": true,"storageUri": "[reference(variables('storageAccountName')).primaryEndpoints.blob]"
}
}
}
}
]
}
使用 HA 更新:
- 为单个配置多个前端私有 IP 地址
内部标准负载均衡器资源。 - 配置多个负载平衡规则,其中每个规则都选择了一个唯一的前端 IP 地址。
- 选择 HA 端口选项,然后将所有负载平衡规则的浮动 IP 设置为启用。
JSON 视图:
{
"name": "ilb1","id": "/subscriptions/<SubscriptionId>/resourceGroups/<RG>/providers/Microsoft.Network/loadBalancers/ilb1","etag": "W/\"<ETAG>\"","type": "Microsoft.Network/loadBalancers","location": "westeurope","tags": {},"properties": {
"provisioningState": "Succeeded","resourceGuid": "<ResourceGuid>","frontendIPConfigurations": [
{
"name": "LoadBalancerFrontEnd","id": "/subscriptions/<SubscriptionId>/resourceGroups/<RG>/providers/Microsoft.Network/loadBalancers/ilb1/frontendIPConfigurations/LoadBalancerFrontEnd","type": "Microsoft.Network/loadBalancers/frontendIPConfigurations","properties": {
"provisioningState": "Succeeded","privateIPAddress": "10.0.0.6","privateIPAllocationMethod": "Static","subnet": {
"id": "/subscriptions/<SubscriptionId>/resourceGroups/<RG>/providers/Microsoft.Network/virtualNetworks/<RG>-vnet/subnets/default"
},"loadBalancingRules": [
{
"id": "/subscriptions/<SubscriptionId>/resourceGroups/<RG>/providers/Microsoft.Network/loadBalancers/ilb1/loadBalancingRules/rule1"
}
]
}
},{
"name": "ilbIP2","id": "/subscriptions/<SubscriptionId>/resourceGroups/<RG>/providers/Microsoft.Network/loadBalancers/ilb1/frontendIPConfigurations/ilbIP2","privateIPAddress": "10.0.0.7","loadBalancingRules": [
{
"id": "/subscriptions/<SubscriptionId>/resourceGroups/<RG>/providers/Microsoft.Network/loadBalancers/ilb1/loadBalancingRules/rule2"
}
]
}
}
],"backendAddressPools": [
{
"name": "poolbackend1","id": "/subscriptions/<SubscriptionId>/resourceGroups/<RG>/providers/Microsoft.Network/loadBalancers/ilb1/backendAddressPools/poolbackend1","loadBalancingRules": [
{
"id": "/subscriptions/<SubscriptionId>/resourceGroups/<RG>/providers/Microsoft.Network/loadBalancers/ilb1/loadBalancingRules/rule1"
},{
"id": "/subscriptions/<SubscriptionId>/resourceGroups/<RG>/providers/Microsoft.Network/loadBalancers/ilb1/loadBalancingRules/rule2"
}
]
},"type": "Microsoft.Network/loadBalancers/backendAddressPools"
}
],"loadBalancingRules": [
{
"name": "rule1","id": "/subscriptions/<SubscriptionId>/resourceGroups/<RG>/providers/Microsoft.Network/loadBalancers/ilb1/loadBalancingRules/rule1","type": "Microsoft.Network/loadBalancers/loadBalancingRules","frontendIPConfiguration": {
"id": "/subscriptions/<SubscriptionId>/resourceGroups/<RG>/providers/Microsoft.Network/loadBalancers/ilb1/frontendIPConfigurations/LoadBalancerFrontEnd"
},"frontendPort": 0,"backendPort": 0,"enableFloatingIP": true,"idleTimeoutInMinutes": 4,"protocol": "All","loadDistribution": "SourceIP","disableOutboundSnat": true,"backendAddressPool": {
"id": "/subscriptions/<SubscriptionId>/resourceGroups/<RG>/providers/Microsoft.Network/loadBalancers/ilb1/backendAddressPools/poolbackend1"
},"probe": {
"id": "/subscriptions/<SubscriptionId>/resourceGroups/<RG>/providers/Microsoft.Network/loadBalancers/ilb1/probes/Hprobe1"
}
}
},{
"name": "rule2","id": "/subscriptions/<SubscriptionId>/resourceGroups/<RG>/providers/Microsoft.Network/loadBalancers/ilb1/loadBalancingRules/rule2","frontendIPConfiguration": {
"id": "/subscriptions/<SubscriptionId>/resourceGroups/<RG>/providers/Microsoft.Network/loadBalancers/ilb1/frontendIPConfigurations/ilbIP2"
},"probe": {
"id": "/subscriptions/<SubscriptionId>/resourceGroups/<RG>/providers/Microsoft.Network/loadBalancers/ilb1/probes/Hprobe1"
}
}
}
],"probes": [
{
"name": "Hprobe1","id": "/subscriptions/<SubscriptionId>/resourceGroups/<RG>/providers/Microsoft.Network/loadBalancers/ilb1/probes/Hprobe1","intervalInSeconds": 5,"numberOfProbes": 2,"type": "Microsoft.Network/loadBalancers/probes"
}
],"inboundNatRules": [],"inboundNatPools": []
},"sku": {
"name": "Standard"
}
}
ILB HA 模板:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#","parameters": {
"loadBalancers_ilb1_name": {
"defaultValue": "ilb1","type": "String"
},"virtualNetworks_<RG>_vnet_externalid": {
"defaultValue": "/subscriptions/<subscriptionId>/resourceGroups/<RG>/providers/Microsoft.Network/virtualNetworks/<RG>-vnet","type": "String"
}
},"variables": {},"resources": [
{
"type": "Microsoft.Network/loadBalancers","apiVersion": "2020-11-01","name": "[parameters('loadBalancers_ilb1_name')]","dependsOn": [
"[resourceId('Microsoft.Network/loadBalancers/backendAddressPools',parameters('loadBalancers_ilb1_name'),'poolbackend1')]"
],"sku": {
"name": "Standard","tier": "Regional"
},"properties": {
"frontendIPConfigurations": [
{
"name": "LoadBalancerFrontEnd","properties": {
"privateIPAddress": "10.0.0.6","subnet": {
"id": "[concat(parameters('virtualNetworks_<RG>_vnet_externalid'),'/subnets/default')]"
},"privateIPAddressVersion": "IPv4"
},"zones": [
"1","2","3"
]
},{
"name": "ilbIP2","properties": {
"privateIPAddress": "10.0.0.7","3"
]
}
],"backendAddressPools": [
{
"name": "poolbackend1","properties": {
"loadBalancerBackendAddresses": [
{
"name": "1a959793-169e-4e7f-8711-128f237dbf67","properties": {
"ipAddress": "10.0.0.9","virtualNetwork": {
"id": "[parameters('virtualNetworks_<RG>_vnet_externalid')]"
}
}
}
]
}
}
],"loadBalancingRules": [
{
"name": "rule1","properties": {
"frontendIPConfiguration": {
"id": "[concat(resourceId('Microsoft.Network/loadBalancers',parameters('loadBalancers_ilb1_name')),'/frontendIPConfigurations/LoadBalancerFrontEnd')]"
},"enableTcpReset": false,"backendAddressPool": {
"id": "[resourceId('Microsoft.Network/loadBalancers/backendAddressPools','poolbackend1')]"
},"probe": {
"id": "[concat(resourceId('Microsoft.Network/loadBalancers','/probes/Hprobe1')]"
}
}
},{
"name": "rule2",'/frontendIPConfigurations/ilbIP2')]"
},'/probes/Hprobe1')]"
}
}
}
],"probes": [
{
"name": "Hprobe1","properties": {
"protocol": "Tcp","numberOfProbes": 2
}
}
],"outboundRules": [],"inboundNatPools": []
}
},{
"type": "Microsoft.Network/loadBalancers/backendAddressPools","name": "[concat(parameters('loadBalancers_ilb1_name'),'/poolbackend1')]","dependsOn": [
"[resourceId('Microsoft.Network/loadBalancers',parameters('loadBalancers_ilb1_name'))]"
],"properties": {
"loadBalancerBackendAddresses": [
{
"name": "1a959793-169e-4e7f-8711-128f237dbf67","properties": {
"ipAddress": "10.0.0.9","virtualNetwork": {
"id": "[parameters('virtualNetworks_<RG>_vnet_externalid')]"
}
}
}
]
}
}
]
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。