Устранение внутренних ошибок сервера Azure

Если мы используем дизайн глобальной транзитной сети для своих облачных ресурсов Azure. Это требует создания виртуальной глобальной сети, виртуального концентратора и многочисленных виртуальных сетей (виртуальных сетей). Соединение этих компонентов позволяет трафику проходить между ними при условии правильного контроля безопасности.

image1 Устранение внутренних ошибок сервера Azure

Все облачные ресурсы создаются и поддерживаются с использованием Terraform в сочетании с GitLab CI для непрерывной интеграции (CI). Я настоятельно рекомендую прочитать основы непрерывной интеграции, если вы новичок в этой концепции.

Итерации по коду Terraform требуют тестирования с использованием изолированного, эфемерного региона Azure, который часто исключает шлюз VPN для экономии времени и затрат; Создание VPN-шлюза занимает 30 и более минут! Каждый модуль VNet, выполняемый Terraform, комплектуется ресурсом подключения к Virtual Hub, как показано ниже:

Примечание: Да, слово «vitual» (виртуальный) написано с ошибкой. Такой момент имеет место быть, если копать документацию глубже.

Загадочная внутренняя ошибка сервера

Выполнение кода, когда в виртуальном концентраторе нет VPN-шлюза, привело к загадочной ошибке.

Сообщения об ошибках дают несколько подсказок:

  1. Большинство кодов «Внутренняя ошибка сервера» означают ошибку на стороне сервера. Это исключает большинство компонентов устранения неполадок на стороне клиента, которые я обычно подозреваю.
  2. Пустые данные (ноль) заставляют меня поверить, что я передаю значения конфигурации, которые не поддерживаются, но не обрабатываются изящно фреймворком ошибок сервера.

Виновник есть vitual_network_to_hub_gateways_traffic_allowed. Этот параметр должен быть falseили исключен при подключении виртуальной сети к виртуальному концентратору, в котором отсутствует шлюз VPN. Я столкнулся с ошибкой, прежде чем читать глубже в документации поставщика. Другие облачные провайдеры, как правило, выдают более полезное сообщение об ошибке или переворачивают значение параметра на стороне сервера.

Комментирование параметра — это немедленное решение, которое сработало. Позже я переключился на использование условного оператора, основанного на существовании a, azurerm_vpn_gatewayдля определения логического значения vitual_network_to_hub_gateways_traffic_allowedпараметра.

Добавить комментарий

Войти с помощью: