azure api 管理器 terraform 查询

azure api manager terraform queries

我打算在 terraform 的帮助下使用 azurerm_api_management。 https://www.terraform.io/docs/providers/azurerm/r/api_management.html

对于自定义主机名支持,请参阅此处 https://www.terraform.io/docs/providers/azurerm/d/api_management.html 参数 hostname_configuration 定义了如何为不同的 APIM 端点指定自定义主机名。

至于 VNET 集成,他们似乎正在努力:https://github.com/terraform-providers/terraform-provider-azurerm/pull/2582

要使用 Terraform 为 Api 管理拥有自己的域名(自定义域),我使用以下脚本为开发人员门户和代理(api).您也可以为管理和 SCM 命名。

此脚本要求您在 Terraform 脚本所在的目录中有一个名为 letsencrypt.pfx 的 pfx(证书)。


    resource "azurerm_api_management" "mngmnt" {
      name                = "ApiManagementTest"
      location            = "northeurope"
      resource_group_name = "ApiManagement--rg"
      publisher_name      = "Api pubisher"
      publisher_email     = "contact@publisher.com"

      hostname_configuration {
        portal =  [{
          host_name = "api-portal.customdomain.com"
          certificate = "${base64encode(file("letsencrypt.pfx"))}"
          certificate_password  = "topSecretPwd123"
        }]
        proxy = [{
          host_name = "api.customdomain.com"
          certificate = "${base64encode(file("letsencrypt.pfx"))}"
          certificate_password  = "topSecretPwd123"
        }]
      }

      sku {
        name     = "Developer"
        capacity = "1"
      }
    }

要使用自定义域,您还必须记住在您的 public DNS 中添加 CNAME 记录到以下内容:

api-portal.customdomain.com -> [你的名字Api管理].portal.azure-api.net api.customdomain.com -> [你的名字Api管理].azure-api.net

例如,使用我们脚本中的名称,它将是:

api-portal.customdomain.com -> ApiManagementTest.portal.azure-api.net

api.customdomain.com -> ApiManagementTest.azure-api.net