Azure Api Manager Terraform запросов
Я планирую использовать 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
1 ответ
Поддержка пользовательских имен хостов должна быть здесь, см. Здесь 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
Чтобы иметь собственное доменное имя (настраиваемый домен) для Api Management с помощью Terraform, я использую следующий сценарий для создания настраиваемого доменного имени для портала разработчика и прокси-сервера (API). Вы также можете иметь свое собственное имя для управления и SCM.
Этот scipt требует, чтобы у вас был 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