Пиринг виртуальных сетей и конечные точки служб: как разрешить взаимодействие двух служб приложений Azure

Мне нужна помощь в настройке инфраструктуры Azure в Terraform. У меня есть служба приложений A, которая находится во vnetA в подсети A, и служба приложений B в vnetB и подсети B. AppA, vnetA и subnetA были созданы вручную уже давно, а ресурсы B я создал сам в Terraform. Я добавил пиринг виртуальной сети между двумя виртуальными сетями, но при вызове приложения B из приложения A я все равно получаю ошибку 403.

resource "azurerm_subnet" "subnetB" {
  name                 = "subnetB"
  resource_group_name  = "rgB"
  virtual_network_name = "vnetB"
  address_prefixes     = [cidrsubnet(azurerm_virtual_network.vnetB.address_space[0], 2, 1)]

  delegation {
    name = "appServiceDelegation"
    service_delegation {
        name    = "Microsoft.Web/serverFarms"
        actions = ["Microsoft.Network/virtualNetworks/subnets/action"]
    }
  }  

  service_endpoints =  ["Microsoft.Web"]
}

Что мне не хватает?

Я ответил на подобные вопросы: в подсети B я добавил как делегирование службы приложений, так и конечные точки службы, как было рекомендовано (здесь), но это не устранило проблему.

Обновление: я проверил, что адресные пространства этих виртуальных сетей не перекрываются (поскольку это одна из возможных причин невозможности установить пиринг виртуальных сетей).

Вы правы: обеспечение того, чтобы адресные пространства двух виртуальных сетей (VNets) не перекрывались, действительно является критически важным требованием для успешного установления пиринга виртуальных сетей в Azure. Для меня это работает так, как и ожидалось, когда мы проверяем, что IP-адреса не перекрываются. @sobrod

Vinay B 04.04.2024 13:54
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
В предыдущей статье мы завершили установку базы данных, для тех, кто не знает.
Как установить LAMP Stack 1/2 на Azure Linux VM
Как установить LAMP Stack 1/2 на Azure Linux VM
В дополнение к нашему предыдущему сообщению о намерении Azure прекратить поддержку Azure Database для MySQL в качестве единого сервера после 16...
1
1
228
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

После значительной настройки моего кода Terraform для сервиса B (спасибо, Винай Б), я нашел причину, по которой получаю ошибку 403. Когда я зашел в раздел «Сеть» функции B и просмотрел конфигурацию входящего трафика, в списке «Доступ к сайту и правила» я увидел это предупреждение.

и при наведении курсора на предупреждающий знак я получил следующее: Итак, оказывается, что в подсети A (которой я не управлял через Terraform) не была настроена конечная точка Microsoft.Web. Когда я добавил конечную точку вручную, я наконец начал получать 200 ответов.

Другие вопросы по теме