后续模板部署后,VM会丢失出站连接

时间:2016-05-24 15:14:36

标签: azure azure-virtual-machine azure-resource-manager

我正在使用ARM模板部署虚拟网络,VPN网关和许多虚拟机(我尝试过一个独立的虚拟机和一个VMSS)。我还要为每个VM部署PowerShell DSC模块,该模块复制一些代码并将其作为服务安装。

有一个反复出现的问题,在后续部署中,可能有一半时间,部署脚本失败,因为DSC扩展的部署由于缺乏网络连接而无法解析存储帐户的主机名,因此代码正在提供。

当我连接到vnet VPN并远程连接到相关VM时,始终没有出站网络活动。如果我将/ ipconfig所有设置与其他VM进行比较,则设置相同(除了本地IP略有不同)。但是,一个VM将无法ping任何公共IP或解析任何主机。只是尝试进入nslookup会话无法立即连接到DNS服务器本身,即使其他虚拟机正在使用相同的DNS服务器也不错。

通常只需重新启动相关VM就可以解决问题。

我的vnet设置非常基本,我没有指定自己的DNS,因此我只使用“Azure DNS”。

目前,我在模板中的虚拟机配置为依赖于虚拟网络。我不确定我是否也应该让它们依赖于网关。

这是我在虚拟机上使用的配置:

"networkProfile": {
  "networkInterfaceConfigurations": [
    {
      "name": "[concat(variables('scalesetName'), '-nic')]",
      "properties": {
        "primary": "true",
        "ipConfigurations": [
          {
            "name": "[concat(variables('scalesetName'), '-ipconfig')]",
            "properties": {
              "subnet": {
                "id": "[concat('/subscriptions/', subscription().subscriptionId,'/resourceGroups/', resourceGroup().name, '/providers/Microsoft.Network/virtualNetworks/', variables('virtualNetworkName'), '/subnets/', variables('subnetName'))]"
              }
            }
          }
        ]
      }
    }
  ]
},

虚拟网络的配置:

{
  "type": "Microsoft.Network/virtualNetworks",
  "name": "[variables('virtualNetworkName')]",
  "location": "[resourceGroup().location]",
  "apiVersion": "[variables('networkApiVersion')]",
  "tags": {
    "displayName": "VirtualNetwork"
  },
  "properties": {
    "addressSpace": {
      "addressPrefixes": [
        "[variables('addressPrefix')]"
      ]
    },
    "subnets": [
      {
        "name": "[variables('subnetName')]",
        "properties": {
          "addressPrefix": "[variables('subnetPrefix')]"
        }
      },
      {
        "name": "GatewaySubnet",
        "properties": {
          "addressPrefix": "[variables('gatewaySubnetPrefix')]"
        }
      }
    ]
  }
},
{
  "type": "Microsoft.Network/virtualNetworkGateways",
  "name": "[variables('gatewayName')]",
  "apiVersion": "[variables('networkApiVersion')]",
  "location": "[resourceGroup().location]",
  "tags": {
    "displayName": "VpnGateway"
  },
  "dependsOn": [
    "[concat('Microsoft.Network/publicIPAddresses/', variables('gatewayPublicIPName'))]",
    "[concat('Microsoft.Network/virtualNetworks/', variables('virtualNetworkName'))]"
  ],
  "properties": {
    "gatewayType": "Vpn",
    "vpnType": "RouteBased",
    "enableBgp": "false",
    "sku": {
      "name": "[variables('gatewaySku')]",
      "tier": "[variables('gatewaySku')]"
    },
    "ipConfigurations": [
      {
        "name": "vnetGatewayConfig",
        "properties": {
          "privateIPAllocationMethod": "Dynamic",
          "subnet": {
            "id": "[concat(resourceId('Microsoft.Network/virtualNetworks', variables('virtualNetworkName')),'/subnets/', 'GatewaySubnet')]"
          },
          "publicIPAddress": {
            "id": "[resourceId('Microsoft.Network/publicIPAddresses', variables('gatewayPublicIPName'))]"
          }
        }
      }
    ],
    "vpnClientConfiguration": {
      "vpnClientAddressPool": {
        "addressPrefixes": [
          "[variables('vpnClientAddressPoolPrefix')]"
        ]
      },
      "vpnClientRootCertificates": [
        {
          "name": "RootCertificate",
          "properties": {
            "PublicCertData": "<snip>"
          }
        }
      ]
    }
  }
},

为什么部署的想法会随机中断出站VM流量,直到我重新启动VM?

1 个答案:

答案 0 :(得分:0)

请注意,天蓝色阻止“Ping”来自天蓝网络。

请回答以下问题: 一个。您的子网上是否有任何强制将流量路由到VPN网关的UDR规则? 湾VM的存储帐户配置是什么。它是使用高级存储还是标准存储。