Terraform: как подключить NSG и сервисные конечные точки при предоставлении подсети

#terraform #terraform-provider-azure

#terraform #terraform-provider-azure

Вопрос:

Есть ли в Azurerm способ предоставить подсети вложение NSG, а также предоставить сервисные конечные точки. Это учитывая, что у нас есть политика для принудительного применения NSG в подсети. Итак, если подсеть является отдельным ресурсом (поскольку отдельный ресурс nsg_id больше не является параметром) — это приведет к сбою политики.

В качестве дополнительного ресурса в виртуальной сети может присоединять nsg_id, но не имеет параметров для предоставления конечной точки службы или делегирования службы.

Ответ №1:

Вы можете развернуть конечную точку службы или делегирование службы с помощью Terraform Language local-exec Provisioner или remote-exec provisioner для вызова сценариев PowerShell или CLI после создания ресурса.

Например, вы можете использовать обновление подсети az network vnet, чтобы включить сервисную конечную точку для подсети.

 resource "null_resource" "example" {

   provisioner "local-exec" {

   command = "az network vnet subnet update -g ${azurerm_resource_group.example.name} -n 'subnet1' --vnet-name ${azurerm_virtual_network.example.name} --service-endpoints 'Microsoft.Sql'"
   interpreter = ["PowerShell", "-Command"]
    }  
  
}
 

введите описание изображения здесь

Для получения дополнительных ссылок вы можете прочитать этот блог — Многострочный PowerShell в Terraform .

Комментарии:

1. Это сработало бы — позвольте мне рассказать об этом — Спасибо

2. Хотя в настоящее время используется TF cloud, что может быть немного проблематично, поскольку у их работников не будет az cli.

3. для этого вы также можете использовать скрипт Google powershell.