Автоматическое масштабирование Azure работает локально, но не при развертывании
проблема
Я пытаюсь развернуть рабочую роль, которая будет автоматически масштабировать несколько целевых сайтов. Я могу запустить Autoscaler локально, и он работает (я установил сертификаты на моей машине). Однако он не будет автоматически масштабироваться после развертывания его в Azure в качестве облачного приложения. (Однако рабочая роль выполняется, потому что я вижу, что мои процессы, не связанные с автоматическим масштабированием, работают в одной рабочей роли.)
Что я пробовал
Я следовал инструкциям по развертыванию блока автоматического масштабирования приложения.

Что мне не хватает?
Спасибо
2 ответа
Тузо прав - сертификат должен быть в LocalMachine, но этого недостаточно. Смотрите это ТАК сообщение. По сути, в ОС семейства 2 WaWorkerHost работает под временной учетной записью (с именем GUID), созданной в процессе инициализации роли, эта учетная запись имеет разрешение на доступ к закрытому ключу сертификата; В ОС Family 3 WaWorkerHost работает под учетной записью "NETWORK SERVICE", у этой учетной записи нет разрешения на доступ к закрытому ключу.
На данный момент лучший вариант (проблема решения команды MS Azure в следующем SDK) - запустить роль с повышенными привилегиями - отредактируйте ServiceDefinition.csdef:
<?xml version="1.0" encoding="utf-8"?>
<ServiceDefinition name="blah" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceDefinition" schemaVersion="2012-10.1.8">
<WorkerRole name="blah" vmsize="Small">
<Runtime executionContext="elevated" />
...
</WorkerRole>
</ServiceDefinition>
Для запуска в Azure я бы попытался установить расположение хранилища на LocalMachine.
Если вы выполнили все шаги в разделе Развертывание блока автоматического масштабирования приложения, в роли должен быть развернут сертификат с закрытым ключом (.pfx). Вы можете RDP на сервер, чтобы убедиться, что сертификат установлен (и местоположение).
Вы также можете попробовать включить ведение журнала согласно Autoscaling Application Block Logging, чтобы увидеть, есть ли какие-либо сообщения.