Я пытаюсь развернуть приложение в Windows Azure, и у меня возникли проблемы с выяснением того, как мне достичь оптимальной конфигурации из-за отсутствия документации и новизны инфраструктуры Azure. Мне нужно настроить две виртуальные машины (одна Linux-машина и одна Windows Server с SQL Server) для связи с одним экземпляром веб-роли. Веб-роль должна иметь единственную конечную точку, доступную из внешнего мира. Он должен иметь возможность взаимодействовать с SQL Server и машиной Linux (этим машинам не нужно взаимодействовать друг с другом). Я могу добиться этого, если открою конечные точки на виртуальной машине (например, порт 1433 на компьютере с Windows и тот же порт в брандмауэре виртуальной машины), однако я обеспокоен риском безопасности, связанным с этим, и предпочел бы, чтобы веб-роль общалась непосредственно с моей виртуальной машиной БЕЗ открытия конечной точки (используя портал Azure). Я читал несколько примеров, в которых говорится о развертывании элементов в качестве облачной службы, но ни один из них не включает веб-роль И НАСТРАИВАЕМУЮ виртуальную машину. Я видел ссылки на использование виртуальной сети, но не примеры. Я искал везде решение без успеха. Это кажется обычным сценарием, поэтому я не думаю, что это должно быть так сложно. Я что-то упускаю?
Windows Azure — безопасное взаимодействие веб-ролей и виртуальных машин
Ответы (2)
Здесь у вас есть 2 варианта: использовать Windows Azure Connect или использовать виртуальные сети. Поскольку вы действительно пытаетесь создать сеть из разных машин, я бы предложил использовать виртуальную сеть (я думаю, что это самый гибкий вариант). И подключить ваши виртуальные машины к вашим облачным службам довольно просто:
- Создайте виртуальную сеть, как описано здесь: Создайте виртуальную сеть в Windows Azure.
- Добавьте свои виртуальные машины в эту сеть, как описано здесь: Добавить виртуальную машину в виртуальную сеть
- Измените ServiceConfiguration.cscfg вашей облачной службы, чтобы подключиться к вашей виртуальной сети. Схема доступна в MSDN, или вы можете следить за сообщением в блоге. на блог Майкла Уошэма.
Я отметил ответ выше как правильный, потому что он действительно дает ответ, особенно если вы создаете виртуальную сеть только с продуктами MS. На что они не указывают в большей части своей документации, так это на то, что функциональность VN ограничена для машин Linux, в то время как виртуальные машины и виртуальные сети находятся в их текущей предварительной версии. Однако это не означает, что вы не можете добавить виртуальную машину Linux в виртуальную сеть. После поиска и сбора информации компьютеры Linux можно добавить в существующую виртуальную сеть, а просто использовать PowerShell и командлеты. Следующий универсальный сценарий можно запустить из интегрированной среды сценариев PowerShell с вашей собственной информацией, чтобы создать и добавить виртуальную машину Linux в свою виртуальную сеть.
$vm = New-AzureVMConfig -Name $vmname -InstanceSize ExtraSmall -ImageName $img |
Add-AzureProvisioningConfig -Linux –LinuxUser $user -Password $pass |
Set-AzureSubnet -SubnetNames $subnet
New-AzureVM -ServiceName $cloudSvcName -AffinityGroup $affinitygroup -VNetName $vnetname -VMs $vm
Надеюсь, это поможет кому-то вырвать волосы.