【问题标题】:Windows Azure - Web Role and Virtual Machines Securely CommunicatingWindows Azure - Web 角色和虚拟机安全通信
【发布时间】:2012-08-20 13:27:43
【问题描述】:

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

【问题讨论】:

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


    【解决方案1】:

    您有两个选择:使用 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 上的博文。

    【讨论】:

    • 我已经对此进行了研究,并且虚拟网络选项似乎有效,只是我无法在门户中添加 Linux VM。我认为 Linux 机器在预览时不能添加到虚拟网络中(不确定)。我只剩下 Azure Connect 选项了吗?
    【解决方案2】:

    我将上面的答案标记为正确,因为它确实提供了答案,尤其是在您仅使用 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
    

    希望这可以帮助人们摆脱头发。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-07-03
      • 1970-01-01
      • 2010-11-17
      • 1970-01-01
      • 2015-07-07
      • 2013-04-01
      • 2012-06-11
      相关资源
      最近更新 更多