Utilizando o New-AzAutoscaleSetting no PowerShell para escalonamento automático em Azure

Título: Utilizando o New-AzAutoscaleSetting no PowerShell para escalonamento automático em Azure

Introdução:
O PowerShell é uma ferramenta poderosa para automatizar tarefas no ambiente Azure. Neste artigo, vamos explorar o cmdlet New-AzAutoscaleSetting, que permite configurar o escalonamento automático de recursos em sua infraestrutura.

Exemplos:
1. Criando uma configuração de escalonamento automático para uma máquina virtual:

```powershell
$resourceGroup = "myResourceGroup"
$vmName = "myVM"
$autoscaleSettingName = "myAutoscaleSetting"
$location = "East US"
$scaleOutThreshold = 70
$scaleInThreshold = 30
$scaleOutCount = 2
$scaleInCount = 1

New-AzAutoscaleSetting -ResourceGroupName $resourceGroup `
-Location $location `
-Name $autoscaleSettingName `
-TargetResourceId "/subscriptions/{subscriptionId}/resourceGroups/$resourceGroup/providers/Microsoft.Compute/virtualMachines/$vmName" `
-Profile (New-AzAutoscaleProfile `
-DefaultCapacity (New-AzAutoscaleCapacity `
-Minimum 1 `
-Maximum 10 `
-Default 2 `
-ScaleInTrigger (New-AzAutoscaleRule `
-MetricName "Percentage CPU" `
-MetricResourceId "/subscriptions/{subscriptionId}/resourceGroups/$resourceGroup/providers/Microsoft.Compute/virtualMachines/$vmName/providers/microsoft.insights/metrics" `
-Operator GreaterThan `
-MetricStatistic Average `
-Threshold $scaleInThreshold `
-TimeAggregationOperator Average `
-TimeWindow (New-TimeSpan -Minutes 5)) `
-ScaleOutTrigger (New-AzAutoscaleRule `
-MetricName "Percentage CPU" `
-MetricResourceId "/subscriptions/{subscriptionId}/resourceGroups/$resourceGroup/providers/Microsoft.Compute/virtualMachines/$vmName/providers/microsoft.insights/metrics" `
-Operator GreaterThan `
-MetricStatistic Average `
-Threshold $scaleOutThreshold `
-TimeAggregationOperator Average `
-TimeWindow (New-TimeSpan -Minutes 5))) `
-Rules (New-AzAutoscaleRule `
-MetricName "Percentage CPU" `
-MetricResourceId "/subscriptions/{subscriptionId}/resourceGroups/$resourceGroup/providers/Microsoft.Compute/virtualMachines/$vmName/providers/microsoft.insights/metrics" `
-Operator GreaterThan `
-MetricStatistic Average `
-Threshold $scaleOutThreshold `
-TimeAggregationOperator Average `
-TimeWindow (New-TimeSpan -Minutes 5)) `
-ScaleAction (New-AzAutoscaleScaleAction `
-Direction Increase `
-Value $scaleOutCount `
-Cooldown (New-TimeSpan -Minutes 5)) `
-ScaleAction (New-AzAutoscaleScaleAction `
-Direction Decrease `
-Value $scaleInCount `
-Cooldown (New-TimeSpan -Minutes 5))))

```

2. Criando uma configuração de escalonamento automático para um conjunto de máquinas virtuais:

```powershell
$resourceGroup = "myResourceGroup"
$vmssName = "myVMSS"
$autoscaleSettingName = "myAutoscaleSetting"
$location = "East US"
$scaleOutThreshold = 70
$scaleInThreshold = 30
$scaleOutCount = 2
$scaleInCount = 1

New-AzAutoscaleSetting -ResourceGroupName $resourceGroup `
-Location $location `
-Name $autoscaleSettingName `
-TargetResourceId "/subscriptions/{subscriptionId}/resourceGroups/$resourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/$vmssName" `
-Profile (New-AzAutoscaleProfile `
-DefaultCapacity (New-AzAutoscaleCapacity `
-Minimum 1 `
-Maximum 10 `
-Default 2 `
-ScaleInTrigger (New-AzAutoscaleRule `
-MetricName "Percentage CPU" `
-MetricResourceId "/subscriptions/{subscriptionId}/resourceGroups/$resourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/$vmssName/providers/microsoft.insights/metrics" `
-Operator GreaterThan `
-MetricStatistic Average `
-Threshold $scaleInThreshold `
-TimeAggregationOperator Average `
-TimeWindow (New-TimeSpan -Minutes 5)) `
-ScaleOutTrigger (New-AzAutoscaleRule `
-MetricName "Percentage CPU" `
-MetricResourceId "/subscriptions/{subscriptionId}/resourceGroups/$resourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/$vmssName/providers/microsoft.insights/metrics" `
-Operator GreaterThan `
-MetricStatistic Average `
-Threshold $scaleOutThreshold `
-TimeAggregationOperator Average `
-TimeWindow (New-TimeSpan -Minutes 5))) `
-Rules (New-AzAutoscaleRule `
-MetricName "Percentage CPU" `
-MetricResourceId "/subscriptions/{subscriptionId}/resourceGroups/$resourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/$vmssName/providers/microsoft.insights/metrics" `
-Operator GreaterThan `
-MetricStatistic Average `
-Threshold $scaleOutThreshold `
-TimeAggregationOperator Average `
-TimeWindow (New-TimeSpan -Minutes 5)) `
-ScaleAction (New-AzAutoscaleScaleAction `
-Direction Increase `
-Value $scaleOutCount `
-Cooldown (New-TimeSpan -Minutes 5)) `
-ScaleAction (New-AzAutoscaleScaleAction `
-Direction Decrease `
-Value $scaleInCount `
-Cooldown (New-TimeSpan -Minutes 5))))

```

Conclusão:
O cmdlet New-AzAutoscaleSetting é uma ferramenta poderosa para configurar o escalonamento automático de recursos em sua infraestrutura Azure. Com os exemplos fornecidos neste artigo, você pode começar a aproveitar os benefícios do escalonamento automático para otimizar o desempenho e a eficiência de seus recursos. Experimente o PowerShell e automatize suas tarefas de escalonamento em Azure!

Nenhum comentário:

Postar um comentário

ATENÇÃO: Seu comentário é muito importante para nós e esperamos que você compartilhe suas opiniões e sugestões abaixo. No entanto, lembramos que é de inteira responsabilidade dos usuários seguir as dicas postadas no Blog DicasQueFunfa. Pedimos que evite comentários ofensivos, ilegais ou prejudiciais, pois esses não serão tolerados e serão removidos. Agradecemos sua colaboração e esperamos que suas contribuições enriqueçam ainda mais nosso conteúdo.