Создайте собственный домен для сервисов приложений с помощью terraform

Я создаю службы приложений Azure с помощью terraform и следую документации, размещенной на этом сайте: https://www.terraform.io/docs/providers/azurerm/r/app_service.html

Вот фрагмент скрипта terraform:

resource "azurerm_app_service" "app" {
  name                = "app-name"
  location            = "${azurerm_resource_group.test.location}"
  resource_group_name = "${azurerm_resource_group.test.name}"
  app_service_plan_id = "ommitted"

  site_config {
    java_version           = "1.8"
    java_container         = "TOMCAT"
    java_container_version = "8.5"
  }
  }

Мне также нужен субдомен для моих сервисов приложений, для которых я не могу найти никакой помощи в terraform:

на данный момент URL-адрес для служб приложений: https://abc.azure-custom-domain.cloud

и я хочу, чтобы мой URL-адрес был: https: //*.abc.azure-custom-domain.cloud

Я знаю, что это можно сделать через портал, но есть ли у них какой-либо способ, которым мы можем сделать это через терраформ?


person focode    schedule 06.02.2018    source источник
comment
Насколько мне известно, это невозможно. Сделать это нужно на Портале.   -  person Shui shengbao    schedule 07.02.2018
comment
Добавляю как ответ. Надеюсь, это поможет большему количеству людей.   -  person Shui shengbao    schedule 12.02.2018
comment
Я думаю, что, используя комбинацию шаблонов ARM и Terraform, он должен работать   -  person focode    schedule 12.02.2018


Ответы (3)


Это невозможно. Вы можете воспользоваться ссылкой, которую вы предоставили. Если параметр отсутствует, терраформ не поддерживает его.

Вам нужно сделать это на портале Azure.

person Shui shengbao    schedule 12.02.2018

Теперь это возможно с помощью app_service_custom_hostname_binding (поскольку PR # 1087 от 6 апреля 2018 г.)

resource "azurerm_app_service_custom_hostname_binding" "test" {
  hostname            = "www.mywebsite.com"
  app_service_name    = "${azurerm_app_service.test.name}"
  resource_group_name = "${azurerm_resource_group.test.name}"
}
person Pirate Briggs    schedule 15.04.2019
comment
Можно ли вместо службы приложений связать ее со слотом службы приложений? Нет модуля для привязки пользовательских имен хостов слотов службы приложений - person and_apo; 09.04.2021
comment
Привет, and_apo, есть проблема для отслеживания этого запроса функции: github. com / terraform-provider / terraform-provider-azurerm / Мы использовали обходной путь, предложенный в вопросе наличия ресурса шаблона руки для управления привязкой имени хоста слота, и, похоже, он работал хорошо. - person Pirate Briggs; 11.05.2021

У меня была такая же проблема, и мне пришлось использовать PowerSHell, чтобы преодолеть ее в краткосрочной перспективе. Может быть, вы могли бы заставить Terraform запускать скрипт PSHell ... Я еще не пробовал !!!

PSHell следующим образом: -

$fqdn="www.yourwebsite.com"
$webappname="yourwebsite.azurewebsites.net"
Set-AzureRmWebApp -Name <YourAppServiceName> -ResourceGroupName <TheResourceGroupOfYourAppService> -HostNames @($fqdn,$webappname) 

ВАЖНО: убедитесь, что вы настроили DNS FIRST, то есть запись CNAME или TXT для личного домена, который вы пытаетесь установить, иначе PSHell и даже ручной метод портала Azure не сработает.

person user9476578    schedule 11.03.2018