Windows Azure - Web角色和虚拟机安全通信

时间:2012-08-25 02:08:28

标签: sql-server azure virtual-machine azure-web-roles azure-virtual-machine

我正在尝试将应用程序部署到Windows Azure,但由于缺乏文档和Azure基础架构的新功能,我无法弄清楚如何实现最佳配置。我需要配置两个虚拟机(一个Linux机箱和一个带有SQL Server的Windows服务器)与一个Web角色实例进行通信。 Web角色应该只有外部世界可以访问的端点。它应该能够与SQL Server和Linux机器通信(这些机器不需要相互通信)。如果我在VM上打开端点(例如Windows机器上的端口1433和VM防火墙中的相同端口),我可以实现此目的,但是我担心这样做的安全风险,而是希望Web角色进行通信直接使用我的虚拟机而不打开端点(使用Azure门户)。我已经阅读了一些示例,这些示例涉及将项目部署为云服务,但没有一个包含Web角色和CUSTOMIZED虚拟机。我已经看到了使用虚拟网络的参考,但没有示例。我到处寻找一个没有成功的解决方案。这似乎是一种常见的情况,所以我认为不应该这么困难。我错过了什么吗?

2 个答案:

答案 0 :(得分:5)

这里有2个选项:使用Windows Azure Connect或使用虚拟网络。由于您真的想要建立不同机器的网络,我建议使用虚拟网络(我认为这是最灵活的选择)。将虚拟机连接到云服务非常简单:

  1. 按照此处所述创建虚拟网络:Create a Virtual Network in Windows Azure
  2. 按照此处所述,将您的虚拟机添加到该网络:Add a Virtual Machine to a Virtual Network
  3. 修改云服务的ServiceConfiguration.cscfg以连接到您的虚拟网络。架构为available on MSDN,您也可以关注Michael Washam's blog上的博文。

答案 1 :(得分:0)

我将上面的答案标记为正确,因为它确实提供了答案,特别是如果您只创建具有MS产品的虚拟网络。他们在大多数文档中未能指出的是,VN功能仅限于Linux机器,而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

希望这有助于某人拔掉头发。