【问题标题】:Provision App Service Environment with Terraform使用 Terraform 预配应用服务环境
【发布时间】:2019-01-29 18:11:23
【问题描述】:

是否可以使用 Terraform 部署 Azure 应用服务环境?我似乎可以找到专门为此的提供程序,因此不确定是否可以使用 azurerm_app_service 资源来完成。

【问题讨论】:

标签: terraform azure-app-service-envrmnt terraform-provider-azure


【解决方案1】:

使用azurerm_template_deployment 作为解决方法 似乎对我有用,它在 Terraform 中使用 ARM 模板。确实需要很长时间(在我的情况下为 47 分钟),但它似乎有效。我是这样使用的:

resource "azurerm_template_deployment" "test" {
  name                = "mytemplate001"
  resource_group_name = "my-test-rg"

  template_body = <<DEPLOY
{
  "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "appServicePoolName": {
      "type": "string",
      "defaultValue": "[concat('sp', uniqueString(resourceGroup().id))]"
    },
    "appServiceEnvironmentName": {
      "type": "string",
      "defaultValue": "myenv-test"
    }
  },
  "resources": [
{
      "name": "[parameters('appServicePoolName')]",
      "type": "Microsoft.Web/serverfarms",
      "location": "West Europe",
      "apiVersion": "2017-08-01",
      "tags": {
        "displayName": "My-Service-Pool"
      },
      "properties": {
        "name": "[parameters('appServicePoolName')]",
        "hostingEnvironment": "[parameters('appServiceEnvironmentName')]",
        "hostingEnvironmentId": "[resourceId('Microsoft.Web/hostingEnvironments', parameters('appServiceEnvironmentName'))]"
      },
      "sku": {
        "name": "I1",
        "tier": "Isolated",
        "size": "I1",
        "family": "I"
      }
}
  ]
}
DEPLOY

  # these key-value pairs are passed into the ARM Template's `parameters` block
  parameters {
    "appServicePoolName"        = "my-test-asp"
    "appServiceEnvironmentName" = "myenv-test"
  }

  deployment_mode = "Incremental"
}

似乎有一个problem with Azure Rest API 阻止了 Terraform 正确使用它。所以,希望它会很快得到修复,我们将能够在 Terraform 中本地使用应用服务环境。

【讨论】:

    【解决方案2】:

    “团队”在这方面已经做了一些工作。

    https://github.com/terraform-providers/terraform-provider-azurerm/pull/869

    但是,如果您阅读那里的帖子,您会发现“Azure API(而不是 SDK)”当前存在问题(引自文章)....(不是 terraform 团队的错) ,所以这个“任务”目前处于不确定状态。

    引用文章

    “但不幸的是,在修复之前我们无法继续进行此操作。”

    【讨论】:

    猜你喜欢
    • 2020-04-29
    • 2019-10-10
    • 1970-01-01
    • 1970-01-01
    • 2021-07-03
    • 1970-01-01
    • 2021-04-10
    • 1970-01-01
    • 2021-09-27
    相关资源
    最近更新 更多