Определите, работает ли на Azure IaaS VM (приложение.NET)

Я видел много постов, касающихся того, что, по моему мнению, должно быть относительно простой задачей. В рамках наших критериев лицензирования мы определяем, работаем ли мы в виртуализированной среде. Однако некоторые идентификаторы, которые мы использовали, могут измениться в результате освобождения виртуальных машин, поэтому мы начали искать замену некоторых из них уникальным идентификатором Azure (UUID). Но для этого нам нужно внести изменения в наш лицензионный код, чтобы правильно определить, что мы работаем в лазурной среде. Я видел много постов, связанных с использованием Azure SDK и RoleEnvironment, но я считаю, что это не работает при работе на управляемых виртуальных машинах IaaS (при копировании необходимых библиотек DLL).

Поэтому в идеале мы хотим, чтобы в приложении.NET не было зависимостей от Azure SDK, чтобы мы могли правильно идентифицировать виртуальную машину Azure, а не стандартную виртуальную машину. Это может включать ключи реестра, поиск WMI и т. Д.

Я отмечу существующее решение, найденное на техническом веб-сайте Microsoft Script Detect Windows Azure Virtual Machine, но поскольку код, который мы выполняем, обобщен для работы со всеми типами сред, это не совсем практично.

1 ответ

Решение

Служба метаданных экземпляра Azure предоставляет информацию о запущенных экземплярах виртуальных машин, которые можно использовать для управления и настройки виртуальных машин. Сюда входит такая информация, как SKU, конфигурация сети и предстоящие события обслуживания. Для получения дополнительной информации о том, какой тип информации доступен, см. Категории метаданных.

Служба метаданных экземпляра Azure является конечной точкой REST, доступной для всех виртуальных машин IaaS, созданных с помощью диспетчера ресурсов Azure. Конечная точка доступна по общеизвестному не маршрутизируемому IP-адресу. 169.254.169.254 доступ к нему возможен только из виртуальной машины.

https://docs.microsoft.com/en-us/azure/virtual-machines/windows/instance-metadata-service

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