我正在尝试将应用程序部署到 Windows Azure,但由于缺乏文档和 Azure 基础架构的新颖性,我在弄清楚如何实现最佳配置时遇到了一些麻烦。我需要配置两台虚拟机(一台 Linux 机器和一台带有 SQL Server 的 Windows Server)才能与一个 Web 角色实例通信。Web 角色应该具有可从外部世界访问的唯一端点。它应该能够与 SQL Server 和 Linux 机器通信(这些机器不需要相互通信)。如果我在 VM 上打开端点(例如 Windows 机器上的端口 1433 和 VM 防火墙中的相同端口),我可以实现这一点,但是我担心这样做会带来安全风险,因此我宁愿让 Web 角色直接与我的虚拟机通信,而无需打开端点(使用 Azure 门户)。我已经阅读了一些将项目部署为云服务的示例,但没有一个示例包括 Web 角色和自定义虚拟机。我已经看到有关使用虚拟网络的参考,但没有示例。我到处寻找没有成功的解决方案。这似乎是一个常见的场景,所以我认为它不应该这么困难。我错过了什么吗?我到处寻找没有成功的解决方案。这似乎是一个常见的场景,所以我认为它不应该这么困难。我错过了什么吗?我到处寻找没有成功的解决方案。这似乎是一个常见的场景,所以我认为它不应该这么困难。我错过了什么吗?
问问题
881 次
2 回答
5
好吧,这里有 2 个选项:使用 Windows Azure Connect 或使用虚拟网络。由于您真的想建立一个由不同机器组成的网络,我建议使用虚拟网络(我认为这是最灵活的选择)。将您的虚拟机连接到您的云服务非常简单:
- 如此处所述创建虚拟网络:在 Windows Azure 中创建虚拟网络
- 如下所述将您的虚拟机添加到该网络:将虚拟机添加到虚拟网络
- 修改您的云服务的 ServiceConfiguration.cscfg 以连接到您的虚拟网络。该架构可在 MSDN上找到,或者您可以关注Michael Washam 博客上的博文。
于 2012-08-25T07:29:38.407 回答
0
我将上面的答案标记为正确,因为它确实提供了答案,尤其是在您仅使用 MS 产品创建虚拟网络时。他们在大部分文档中没有指出的是,Linux 机器的 VN 功能受到限制,而 VM 和 VN 处于当前预览状态。但是,这并不意味着您不能将 Linux VM 添加到 VN。在搜索某个时间并将信息拼凑在一起后,可以将 Linux 机器添加到现有的 VN 中,而只需使用 PowerShell 和 cmdlet。可以使用您自己的信息从 PowerShell ISE 运行以下通用脚本,以便在您的 VN 中创建和添加 Linux VM。
$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
希望这可以帮助某人拔掉头发。
于 2012-08-29T02:47:25.450 回答