Azure Api Manager Terraform запросов - PullRequest
0 голосов
/ 05 января 2019

Я планирую использовать azurerm_api_management с помощью terraform. https://www.terraform.io/docs/providers/azurerm/r/api_management.html

  • не удалось найти ссылку для интеграции с vnet и подсетью для моего бэкэнд-сервисы.
  • как мы можем предоставить наше собственное доменное имя для Azure Api Manager, чтобы эти REST API были доступны по этому URL, например api.dev.mycompany.com

Ответы [ 2 ]

0 голосов
/ 06 мая 2019

Чтобы иметь собственное доменное имя (настраиваемый домен) для Api Management с помощью Terraform, я использую следующий сценарий для создания настраиваемого доменного имени для портала разработчика и прокси-сервера (API). Вы также можете иметь собственное имя для Управления и СКМ.

Этот сценарий требует наличия у вас pfx (сертификата) с именем letsencrypt.pfx в том же каталоге, что и ваш скрипт Terraform.


    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"
      }
    }

Чтобы пользовательский домен работал, вы также должны не забыть добавить запись CNAME в общедоступном DNS к следующему:

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

0 голосов
/ 05 января 2019

Информацию о поддержке пользовательских имен хостов можно найти здесь. 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

...