Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Um balanceador de carga global garante que um serviço esteja disponível globalmente em várias regiões do Azure. Se uma região falhar, o tráfego será roteado para o próximo balanceador de carga regional saudável mais próximo.
O uso de um modelo ARM leva menos etapas em comparação com outros métodos de implantação.
Um modelo do Azure Resource Manager é um arquivo JSON (JavaScript Object Notation) que define a infraestrutura e a configuração do seu projeto. O modelo usa sintaxe declarativa. Você descreve a implantação pretendida sem escrever a sequência de comandos de programação para criar a implantação.
Se o seu ambiente cumpre os pré-requisitos e se está familiarizado com a utilização de modelos ARM, selecione o botão Implementar no Azure. O modelo é aberto no portal do Azure.
Neste tutorial, aprenderás como:
- Todos os tutoriais incluem uma lista resumindo as etapas até a conclusão
- Cada um desses marcadores se alinha a uma tecla H2
- Use estas caixas de seleção verdes em um tutorial
Pré-requisitos
- Uma conta do Azure com uma assinatura ativa. Crie uma conta gratuitamente e aceda ao portal do Azure.
Rever o modelo
Nesta seção, você revisa o modelo e os parâmetros usados para implantar o balanceador de carga global. O modelo usado neste início rápido é dos Modelos de Início Rápido do Azure.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.25.53.49325",
"templateHash": "6587483520975479408"
}
},
"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_D2s_v3",
"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": "2023-01-01",
"name": "[variables('storageAccountName')]",
"location": "[parameters('location')]",
"sku": {
"name": "[variables('storageAccountType')]"
},
"kind": "StorageV2"
},
{
"type": "Microsoft.Compute/availabilitySets",
"apiVersion": "2023-09-01",
"name": "[variables('availabilitySetName')]",
"location": "[parameters('location')]",
"sku": {
"name": "Aligned"
},
"properties": {
"platformUpdateDomainCount": 2,
"platformFaultDomainCount": 2
}
},
{
"type": "Microsoft.Network/virtualNetworks",
"apiVersion": "2023-09-01",
"name": "[variables('virtualNetworkName')]",
"location": "[parameters('location')]",
"properties": {
"addressSpace": {
"addressPrefixes": [
"10.0.0.0/16"
]
},
"subnets": [
{
"name": "[variables('subnetName')]",
"properties": {
"addressPrefix": "10.0.2.0/24"
}
}
]
}
},
{
"copy": {
"name": "networkInterface",
"count": "[length(range(0, variables('numberOfInstances')))]"
},
"type": "Microsoft.Network/networkInterfaces",
"apiVersion": "2023-09-01",
"name": "[format('{0}{1}', variables('networkInterfaceName'), range(0, variables('numberOfInstances'))[copyIndex()])]",
"location": "[parameters('location')]",
"properties": {
"ipConfigurations": [
{
"name": "ipconfig1",
"properties": {
"privateIPAllocationMethod": "Dynamic",
"subnet": {
"id": "[variables('subnetRef')]"
},
"loadBalancerBackendAddressPools": [
{
"id": "[resourceId('Microsoft.Network/loadBalancers/backendAddressPools', variables('loadBalancerName'), 'BackendPool1')]"
}
]
}
}
]
},
"dependsOn": [
"[resourceId('Microsoft.Network/loadBalancers', variables('loadBalancerName'))]",
"[resourceId('Microsoft.Network/virtualNetworks', variables('virtualNetworkName'))]"
]
},
{
"type": "Microsoft.Network/loadBalancers",
"apiVersion": "2023-09-01",
"name": "[variables('loadBalancerName')]",
"location": "[parameters('location')]",
"sku": {
"name": "Standard"
},
"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', variables('loadBalancerName'), 'LoadBalancerFrontend')]"
},
"backendAddressPool": {
"id": "[resourceId('Microsoft.Network/loadBalancers/backendAddressPools', variables('loadBalancerName'), 'BackendPool1')]"
},
"probe": {
"id": "[resourceId('Microsoft.Network/loadBalancers/probes', variables('loadBalancerName'), 'lbprobe')]"
},
"protocol": "Tcp",
"frontendPort": 80,
"backendPort": 80,
"idleTimeoutInMinutes": 15
},
"name": "lbrule"
}
],
"probes": [
{
"properties": {
"protocol": "Tcp",
"port": 80,
"intervalInSeconds": 15,
"numberOfProbes": 2
},
"name": "lbprobe"
}
]
},
"dependsOn": [
"[resourceId('Microsoft.Network/virtualNetworks', variables('virtualNetworkName'))]"
]
},
{
"copy": {
"name": "vm",
"count": "[length(range(0, variables('numberOfInstances')))]"
},
"type": "Microsoft.Compute/virtualMachines",
"apiVersion": "2023-09-01",
"name": "[format('{0}{1}', parameters('vmNamePrefix'), range(0, variables('numberOfInstances'))[copyIndex()])]",
"location": "[parameters('location')]",
"properties": {
"availabilitySet": {
"id": "[resourceId('Microsoft.Compute/availabilitySets', variables('availabilitySetName'))]"
},
"hardwareProfile": {
"vmSize": "[parameters('vmSize')]"
},
"osProfile": {
"computerName": "[format('{0}{1}', parameters('vmNamePrefix'), range(0, variables('numberOfInstances'))[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', format('{0}{1}', variables('networkInterfaceName'), range(0, variables('numberOfInstances'))[range(0, variables('numberOfInstances'))[copyIndex()]]))]"
}
]
},
"diagnosticsProfile": {
"bootDiagnostics": {
"enabled": true,
"storageUri": "[reference(resourceId('Microsoft.Storage/storageAccounts', variables('storageAccountName')), '2023-01-01').primaryEndpoints.blob]"
}
}
},
"dependsOn": [
"[resourceId('Microsoft.Compute/availabilitySets', variables('availabilitySetName'))]",
"[resourceId('Microsoft.Network/networkInterfaces', format('{0}{1}', variables('networkInterfaceName'), range(0, variables('numberOfInstances'))[range(0, variables('numberOfInstances'))[copyIndex()]]))]",
"[resourceId('Microsoft.Storage/storageAccounts', variables('storageAccountName'))]"
]
}
],
"outputs": {
"location": {
"type": "string",
"value": "[parameters('location')]"
},
"name": {
"type": "string",
"value": "[variables('loadBalancerName')]"
},
"resourceGroupName": {
"type": "string",
"value": "[resourceGroup().name]"
},
"resourceId": {
"type": "string",
"value": "[resourceId('Microsoft.Network/loadBalancers', variables('loadBalancerName'))]"
}
}
}
Observação
Ao criar um balanceador de carga padrão, você também deve criar um novo endereço IP público padrão configurado como o front-end para o balanceador de carga padrão. Além disso, os balanceadores de carga e as SKUs IP públicas devem corresponder. No nosso caso, criaremos dois endereços IP públicos padrão, um para o balanceador de carga de nível regional e outro para o balanceador de carga global.
Vários recursos do Azure foram definidos no modelo:
Microsoft.Network/loadBalancers:Balanceadores de carga regionais e globais.
Microsoft.Network/publicIPAddresses: para o balanceador de carga, host bastion e para cada uma das máquinas virtuais.
Microsoft.Network/virtualNetworks: Rede virtual para balanceador de carga e máquinas virtuais.
Microsoft.Compute/virtualMachines (2): Máquinas virtuais.
Microsoft.Network/networkInterfaces (2): Interfaces de rede para máquinas virtuais.
Microsoft.Compute/virtualMachine/extensions (2): utilize para configurar o Internet Information Server (IIS) e as páginas Web.
Importante
A faturação horária inicia-se no momento em que o Bastion é implantado, independentemente do uso de dados enviados. Para obter mais informações, consulte Preços e SKUs. Se estiver a implementar o Bastion como parte de um tutorial ou teste, recomendamos que elimine este recurso após terminar de o utilizar.
Para encontrar mais modelos relacionados ao Balanceador de Carga do Azure, consulte Modelos de início rápido do Azure.
Implementar o modelo
Inicie sessão no portal Azure.
Insira e selecione Implantar um modelo personalizado na barra de pesquisa
Na página Implantação personalizada , insira load-balancer-cross-region na caixa de texto Modelo de início rápido e selecione quickstarts/microsoft.network/load-balancer-cross-region.
Escolha Selecionar modelo e insira as seguintes informações:
Nome Valor Subscrição Selecione a sua subscrição Grupo de recursos Selecione seu grupo de recursos ou crie um novo grupo de recursos Região Selecione a região de implantação dos recursos Nome do Projeto Insira um nome de projeto usado para criar nomes de recursos exclusivos LocalizaçãoCR Selecione a região de implantação para o balanceador de carga entre regiões Localização-r1 Selecione a região de implantação para o balanceador de carga regional e VMs Localização-r2 Selecione a região de implantação onde o balanceador de carga regional e as VMs Nome de Utilizador de Administrador Insira um nome de usuário para as máquinas virtuais Palavra-passe de administrador Insira uma senha para as máquinas virtuais Selecione Rever + criar para executar a validação do modelo.
Se não houver erros, revise os termos do modelo e selecione Criar.
Verificar a implantação
Se necessário, entre no portal do Azure.
Selecione Grupos de recursos no painel esquerdo.
Selecione o grupo de recursos usado na implantação. O nome padrão do grupo de recursos é o nome do projeto com -rg acrescentado. Por exemplo, crlb-learn-arm-rg.
Selecione o balanceador de carga global. Seu nome padrão é o nome do projeto com -cr anexado. Por exemplo, crlb-learn-arm-cr.
Copie apenas a parte do endereço IP do endereço IP público e, em seguida, cole-o na barra de endereços do seu navegador. A página Web padrão do Windows Server IIS é exibida.
Limpeza de recursos
Quando já não precisar deles, elimine:
- Grupo de recursos
- Balanceador de carga
- Recursos relacionados
- Vá para o portal do Azure, selecione o grupo de recursos que contém o balanceador de carga e selecione Excluir grupo de recursos.
- Selecione aplicar exclusão de força para máquinas virtuais selecionadas e conjuntos de dimensionamento de máquinas virtuais, insira o nome do grupo de recursos e selecione **Excluir > excluir**.
Próximos passos
Neste tutorial, você:
- Criado um balanceador de carga entre regiões\
- Criado um balanceador de carga regional
- Criou três máquinas virtuais e as vinculou ao balanceador de carga regional
- Configurado o balanceador de carga global para trabalhar com o balanceador de carga regional
- Testou o balanceador de carga global.
Saiba mais sobre o balanceador de carga entre regiões.
Avance para o próximo artigo para saber como criar...