0

Trying to create auto scaling configuration using terraform for azure app service plan but getting below error,

Metric name already verified it looks fine but not sure about this error as not much details are provided in the terraform plan

Terraform code

resource "azurerm_monitor_autoscale_setting" "example" {
  name                = "autoscaleappservice"
  resource_group_name = "${var.env}-bsai"
  location            = var.region
  target_resource_id  = azurerm_app_service_plan.mldockers_plan.id

  profile {
    name = "defaultProfile"

    capacity {
      default = 1
      minimum = 1
      maximum = 10
    }

    rule {
      metric_trigger {
        metric_name        = "CpuPercentage"
        metric_resource_id = azurerm_app_service_plan.mldockers_plan.id
        time_grain         = "PT1M"
        statistic          = "Average"
        time_window        = "PT5M"
        time_aggregation   = "Average"
        operator           = "GreaterThan"
        threshold          = 75
        metric_namespace   = "Microsoft.Web/serverfarms"
        dimensions {
          name     = "AppName"
          operator = "Equals"
          values   = ["App1"]
        }
      }

      scale_action {
        direction = "Increase"
        type      = "ChangeCount"
        value     = "1"
        cooldown  = "PT1M"
      }
    }

    rule {
      metric_trigger {
        metric_name        = "CpuPercentage"
        metric_resource_id = azurerm_app_service_plan.mldockers_plan.id
        time_grain         = "PT1M"
        statistic          = "Average"
        time_window        = "PT5M"
        time_aggregation   = "Average"
        operator           = "LessThan"
        threshold          = 25
      }

      scale_action {
        direction = "Decrease"
        type      = "ChangeCount"
        value     = "1"
        cooldown  = "PT1M"
      }
    }
  }
}

Terraform execution

Error after execute terraform plan

  # azurerm_monitor_autoscale_setting.example will be created
  + resource "azurerm_monitor_autoscale_setting" "example" {
      + enabled             = true
      + id                  = (known after apply)
      + location            = "centralindia"
      + name                = "autoscaleappservice"
      + resource_group_name = "dev-bsai"
      + target_resource_id  = "/subscriptions/759c1d90-b599-44a7-b677-94ac1ea9e369/resourceGroups/dev-bsai/providers/Microsoft.Web/serverfarms/dev_app_service_mldocker_plan"

      + profile {
          + name = "defaultProfile"

          + capacity {
              + default = 1
              + maximum = 10
              + minimum = 1
            }

          + rule {
              + metric_trigger {
                  + metric_name        = "CpuPercentage"
                  + metric_namespace   = "Microsoft.Web/serverfarms"
                  + metric_resource_id = "/subscriptions/759c1d90-b599-44a7-b677-94ac1ea9e369/resourceGroups/dev-bsai/providers/Microsoft.Web/serverfarms/dev_app_service_mldocker_plan"
                  + operator           = "GreaterThan"
                  + statistic          = "Average"
                  + threshold          = 75
                  + time_aggregation   = "Average"
                  + time_grain         = "PT1M"
                  + time_window        = "PT5M"

                  + dimensions {
                      + name     = "AppName"
                      + operator = "Equals"
                      + values   = [
                          + "App1",
                        ]
                    }
                }

              + scale_action {
                  + cooldown  = "PT1M"
                  + direction = "Increase"
                  + type      = "ChangeCount"
                  + value     = 1
                }
            }
          + rule {
              + metric_trigger {
                  + metric_name        = "CpuPercentage"
                  + metric_resource_id = "/subscriptions/759c1d90-b599-44a7-b677-94ac1ea9e369/resourceGroups/dev-bsai/providers/Microsoft.Web/serverfarms/dev_app_service_mldocker_plan"
                  + operator           = "LessThan"
                  + statistic          = "Average"
                  + threshold          = 25
                  + time_aggregation   = "Average"
                  + time_grain         = "PT1M"
                  + time_window        = "PT5M"
                }

              + scale_action {
                  + cooldown  = "PT1M"
                  + direction = "Decrease"
                  + type      = "ChangeCount"
                  + value     = 1
                }
            }
        }
    }

Plan: 1 to add, 2 to change, 0 to destroy.

------------------------------------------------------------------------

This plan was saved to: .manifests.ind.dev.tfplan

To perform exactly these actions, run the following command to apply:
    terraform apply ".manifests.ind.dev.tfplan"

manjur@MacBook-Pro terraform % APP_REGION=ind APP_ENV=dev bin/deploy manifests
azurerm_app_service_plan.fileprocess_plan: Modifying... [id=/subscriptions/759c1d90-b599-44a7-b677-94ac1ea9e369/resourceGroups/dev-bsai/providers/Microsoft.Web/serverfarms/dev_fileprocessing_plan]
azurerm_app_service_plan.mldockers_plan: Modifying... [id=/subscriptions/759c1d90-b599-44a7-b677-94ac1ea9e369/resourceGroups/dev-bsai/providers/Microsoft.Web/serverfarms/dev_app_service_mldocker_plan]
azurerm_app_service_plan.mldockers_plan: Modifications complete after 3s [id=/subscriptions/759c1d90-b599-44a7-b677-94ac1ea9e369/resourceGroups/dev-bsai/providers/Microsoft.Web/serverfarms/dev_app_service_mldocker_plan]
azurerm_monitor_autoscale_setting.example: Creating...
azurerm_app_service_plan.fileprocess_plan: Modifications complete after 4s [id=/subscriptions/759c1d90-b599-44a7-b677-94ac1ea9e369/resourceGroups/dev-bsai/providers/Microsoft.Web/serverfarms/dev_fileprocessing_plan]
azurerm_monitor_autoscale_setting.example: Still creating... [10s elapsed]
azurerm_monitor_autoscale_setting.example: Still creating... [20s elapsed]

**Error: Error creating AutoScale Setting "autoscaleappservice" (Resource Group "dev-bsai"): insights.AutoscaleSettingsClient#CreateOrUpdate: Failure sending request: StatusCode=409 -- Original Error: autorest/azure: Service returned an error. Status=<nil> <nil>
  on manifests/backend.tf line 545, in resource "azurerm_monitor_autoscale_setting" "example":
 545: resource "azurerm_monitor_autoscale_setting" "example" {**

1 Answers1

1

It Happens when an autoscale plan was initially created in portal, So You can try Deleting the JSON Autoscale setting name in the portal under the app plan settings > scale out ,then retry terraform apply.

Please follow the below links For reference:

.Autoscaling setting for app service is throwing conflict error| Git-Hub

.Error creating auto-scaling rule for app service using terraform in azure | SO THREAD

AjayKumarGhose
  • 4,257
  • 2
  • 4
  • 15