Netwerken voor virtuele-machineschaalsets van Azure

Wanneer u een virtuele-machineschaalset van Azure implementeert via de portal, worden bepaalde netwerkeigenschappen standaard ingesteld, bijvoorbeeld een Azure Load Balancer met binnenkomende NAT-regels. In dit artikel wordt beschreven hoe u een aantal van de meer geavanceerde netwerkfuncties gebruikt die u kunt configureren met schaalsets.

U kunt alle functies die in dit artikel configureren met behulp van Azure Resource Manager-sjablonen. Er zijn ook Azure CLI- en PowerShell-voorbeelden toegevoegd voor bepaalde functies.

Versneld netwerken

Versneld netwerken in Azure verbetert de prestaties van het netwerk door het inschakelen van I/O-virtualisatie met één hoofdmap (SR-IOV) bij een virtuele machine. Zie Versneld netwerken voor virtuele machines met Windows of Linux voor meer informatie over het gebruik van Versneld netwerken. Als u versneld netwerken wilt gebruiken met schaalsets, stelt u enableAcceleratedNetworking in op true in de instelling networkInterfaceConfigurations van uw schaalset. Voorbeeld:

"networkProfile": {
    "networkInterfaceConfigurations": [
    {
      "name": "niconfig1",
      "properties": {
        "primary": true,
        "enableAcceleratedNetworking" : true,
        "ipConfigurations": [
          ...
        ]
      }
    }
   ]
}

Virtuele-machineschaalsets van Azure met Azure Load Balancer

Zie Azure Load Balancer en Virtuele-machineschaalsets voor meer informatie over het configureren van uw Standard Load Balancer met virtuele-machineschaalsets op basis van uw scenario.

Een virtuele-machineschaalset toevoegen aan een toepassingsgateway

Als u een schaalset wilt toevoegen aan de back-endpool van een Application Gateway, verwijst u naar de back-endpool van Application Gateway in het netwerkprofiel van uw schaalset. Dit kan worden gedaan bij het maken van de schaalset (zie arm-sjabloon hieronder) of in een bestaande schaalset.

Uniform Orchestration Virtual Machine Scale Sets toevoegen aan een Application Gateway

Wanneer u Uniform Virtual Machine Scale Sets toevoegt aan de back-endpool van een Application Gateway, verschilt het proces voor nieuwe of bestaande schaalsets:

  • Raadpleeg voor nieuwe schaalsets de id van de back-endpool van Application Gateway in het netwerkprofiel van uw schaalsetmodel, onder een of meer IP-configuraties van de netwerkinterface. Wanneer deze worden geïmplementeerd, worden exemplaren die zijn toegevoegd aan uw schaalset geplaatst in de back-endpool van Application Gateway.
  • Voor bestaande schaalsets voegt u eerst de id van de back-endpool van Application Gateway toe in het netwerkprofiel van uw schaalsetmodel en past u vervolgens het model toe dat uw bestaande exemplaren door een upgrade worden uitgevoerd. Als het upgradebeleid van de schaalset is Automatic of Rolling, worden exemplaren voor u bijgewerkt. Als dit het geval is Manual, moet u de exemplaren handmatig upgraden.
  1. Maak een Application Gateway- en back-endpool in dezelfde regio als uw schaalset, als u er nog geen hebt
  2. Navigeer naar de virtuele-machineschaalset in de portal
  3. Open onder Instellingen het deelvenster Netwerken
  4. Selecteer in het deelvenster Netwerken het tabblad Taakverdeling en klik op Taakverdeling toevoegen
  5. Selecteer Application Gateway in de vervolgkeuzelijst Opties voor taakverdeling en kies een bestaande Application Gateway
  6. Selecteer de back-endpool van het doel en klik op Opslaan
  7. Als het upgradebeleid voor uw schaalset 'Handmatig' is, gaat u naar het deelvenster Instellingen> Instances om elk van uw exemplaren te selecteren en bij te werken

Flexible Orchestration Virtual Machine Scale Sets toevoegen aan een Application Gateway

Wanneer u een flexibele schaalset toevoegt aan een Application Gateway, is het proces hetzelfde als het toevoegen van zelfstandige VM's aan de back-endpool van een Application Gateway. U werkt de IP-configuratie van de netwerkinterface van de virtuele machine bij zodat deze deel uitmaakt van de back-endpool. Dit kan worden gedaan via de configuratie van application gateway of door de netwerkinterfaceconfiguratie van de virtuele machine te configureren.

Notitie

Houd er rekening mee dat de toepassingsgateway zich in hetzelfde virtuele netwerk moet bevinden als de schaalset, maar in een ander subnet dan de schaalset.

Configureerbare DNS-instellingen

Standaard nemen schaalsets de specifieke DNS-instellingen van het VNET en het subnet waarin ze zijn gemaakt over. U kunt de DNS-instellingen voor een schaalset echter rechtstreeks configureren.

Een schaal met configureerbare DNS-servers maken

Als u een schaalset met een aangepaste DNS-configuratie met de Azure CLI wilt maken, voegt u het argument --dns-servers toe aan de opdracht vmss create gevolgd door met spaties gescheiden IP-adressen. Voorbeeld:

--dns-servers 10.0.0.6 10.0.0.5

Als u aangepaste DNS-servers wilt configureren in een Azure-sjabloon, voegt u de eigenschap dnsSettings toe aan het gedeelte networkInterfaceConfigurations van de schaalset. Voorbeeld:

"dnsSettings":{
    "dnsServers":["10.0.0.6", "10.0.0.5"]
}

Een schaalset maken met de configureerbare domeinnamen van virtuele machines

Als u een schaalset wilt maken met een aangepaste DNS-naam voor virtuele machines met behulp van de CLI, voegt u het argument --vm-domain-name toe aan de opdracht Virtuele-machineschaalset maken , gevolgd door een tekenreeks die de domeinnaam vertegenwoordigt.

Als u de domeinnaam wilt instellen in een Azure-sjabloon, voegt u de eigenschap dnsSettings toe aan het gedeelte networkInterfaceConfigurations van de schaalset. Voorbeeld:

"networkProfile": {
  "networkInterfaceConfigurations": [
    {
    "name": "nic1",
    "properties": {
      "primary": true,
      "ipConfigurations": [
      {
        "name": "ip1",
        "properties": {
          "subnet": {
            "id": "[concat('/subscriptions/', subscription().subscriptionId,'/resourceGroups/', resourceGroup().name, '/providers/Microsoft.Network/virtualNetworks/', variables('vnetName'), '/subnets/subnet1')]"
          },
          "publicIPAddressconfiguration": {
            "name": "publicip",
            "properties": {
            "idleTimeoutInMinutes": 10,
              "dnsSettings": {
                "domainNameLabel": "[parameters('vmssDnsName')]"
              }
            }
          }
        }
      }
    ]
    }
}

De uitvoer voor de DNS-naam van een afzonderlijke virtuele machine heeft de volgende notatie:

<vm><vmindex>.<specifiedVmssDomainNameLabel>

Openbare IPv4 per virtuele machine

Virtuele machines in Azure-schaalsets hebben meestal geen eigen openbaar IP-adres nodig. Voor de meeste scenario's is het voordeliger en veiliger om een openbaar IP-adres te koppelen aan een load balancer of aan een afzonderlijke virtuele machine (ook wel een jumpbox genoemd), waarmee binnenkomende verbindingen naar virtuele machines op schaalsets worden gerouteerd (bijvoorbeeld via binnenkomende NAT-regels).

In sommige gevallen hebben virtuele machines van een schaalset echter hun eigen openbare IP-adressen nodig. Dit is bijvoorbeeld het geval bij games, waarbij een console rechtstreeks verbinding moet maken met een virtuele cloudmachine, die de physics van de game verwerkt. Een ander voorbeeld is de situatie waarbij virtuele machines externe verbindingen met elkaar moeten maken via regio's in een gedistribueerde database.

Een schaalset met een openbaar IP-adres per virtuele machine maken

Als u een schaalset wilt maken waarmee een openbaar IP-adres wordt toegewezen aan elke virtuele machine met de CLI, voegt u de parameter --public-ip-per-vm toe aan de opdracht vmss create.

Als u een schaalset maakt met een Azure-sjabloon, zorg er dan voor dat de API-versie van de resource Microsoft.Compute/virtualMachineScaleSets ten minste 2017-03-30 is en voeg de JSON-eigenschap publicIpAddressConfiguration toe aan het gedeelte ipConfigurations van de schaalset. Voorbeeld:

"publicIpAddressConfiguration": {
    "name": "pub1",
    "sku": {
      "name": "Standard"
    },
    "properties": {
      "idleTimeoutInMinutes": 15
    }
}

Let op wanneer virtuele-machineschaalsets met openbare IP-adressen per exemplaar worden gemaakt met een load balancer vooraan, wordt de instantie-IP-adressen bepaald door de SKU van de Load Balancer (dat wil zeggen Basic of Standard). Als de virtuele-machineschaalset zonder een load balancer wordt gemaakt, kan de SKU van de exemplaar-IP-adressen rechtstreeks worden ingesteld met behulp van de SKU-sectie van de sjabloon, zoals hierboven wordt weergegeven.

Voorbeeldsjabloon met behulp van een Basic Load Balancer: vmss-public-ip-linux

U kunt ook een openbaar IP-voorvoegsel (een aaneengesloten blok met openbare IP-adressen van standard-SKU's) gebruiken om IP-adressen op exemplaarniveau te genereren in een virtuele-machineschaalset. De zonegebonden eigenschappen van het voorvoegsel worden doorgegeven aan de IP-adressen van het exemplaar, hoewel ze niet worden weergegeven in de uitvoer.

Voorbeeldsjabloon met een openbaar IP-voorvoegsel: vmms-with-public-ip-prefix

Query’s uitvoeren op de openbare IP-adressen van de virtuele machines in een schaalset

U kunt de openbare IP-adressen die zijn toegewezen aan de virtuele machines van de schaalset met de CLI in een lijst weergeven met de opdracht az vmss list-instance-public-ips.

Gebruik de opdracht Get-AzPublicIpAddress om openbare IP-adressen voor schaalsets weer te geven met behulp van PowerShell. Voorbeeld:

Get-AzPublicIpAddress -ResourceGroupName myrg -VirtualMachineScaleSetName myvmss

U kunt ook query's uitvoeren op de openbare IP-adressen door rechtstreeks naar de resource-id van de openbare IP-adresconfiguratie te verwijzen. Voorbeeld:

Get-AzPublicIpAddress -ResourceGroupName myrg -Name myvmsspip

U kunt ook de openbare IP-adressen die zijn toegewezen aan de virtuele machines in de schaalset weergeven door een query uit te voeren op Azure Resource Explorer of de REST API van Azure met versie 2017-03-30 of hoger.

Ga als volgt te werk om een query uit te voeren op Azure Resource Explorer:

  1. Open Azure Resource Explorer in een webbrowser.
  2. Vouw Abonnementen aan de linkerkant uit door te klikken op de + ernaast. Als zich slechts één item onder Abonnementen bevindt, is dit mogelijk al uitgevouwen.
  3. Vouw uw abonnement uit.
  4. Vouw uw resourcegroep uit.
  5. Vouw providers uit.
  6. Vouw Microsoft.Compute uit.
  7. Vouw virtualMachineScaleSets uit.
  8. Vouw uw schaalset uit.
  9. Klik op publicipaddresses.

Ga als volgt te werk om een query uit te voeren op de Azure REST API:

GET https://management.azure.com/subscriptions/{your sub ID}/resourceGroups/{RG name}/providers/Microsoft.Compute/virtualMachineScaleSets/{scale set name}/publicipaddresses?api-version=2017-03-30

Voorbeeld van uitvoer van de Azure Resource Explorer en Azure REST API:

{
  "value": [
    {
      "name": "pub1",
      "id": "/subscriptions/your-subscription-id/resourceGroups/your-rg/providers/Microsoft.Compute/virtualMachineScaleSets/pipvmss/virtualMachines/0/networkInterfaces/pipvmssnic/ipConfigurations/yourvmssipconfig/publicIPAddresses/pub1",
      "etag": "W/\"a64060d5-4dea-4379-a11d-b23cd49a3c8d\"",
      "properties": {
        "provisioningState": "Succeeded",
        "resourceGuid": "ee8cb20f-af8e-4cd6-892f-441ae2bf701f",
        "ipAddress": "13.84.190.11",
        "publicIPAddressVersion": "IPv4",
        "publicIPAllocationMethod": "Dynamic",
        "idleTimeoutInMinutes": 15,
        "ipConfiguration": {
          "id": "/subscriptions/your-subscription-id/resourceGroups/your-rg/providers/Microsoft.Compute/virtualMachineScaleSets/yourvmss/virtualMachines/0/networkInterfaces/yourvmssnic/ipConfigurations/yourvmssipconfig"
        }
      }
    },
    {
      "name": "pub1",
      "id": "/subscriptions/your-subscription-id/resourceGroups/your-rg/providers/Microsoft.Compute/virtualMachineScaleSets/yourvmss/virtualMachines/3/networkInterfaces/yourvmssnic/ipConfigurations/yourvmssipconfig/publicIPAddresses/pub1",
      "etag": "W/\"5f6ff30c-a24c-4818-883c-61ebd5f9eee8\"",
      "properties": {
        "provisioningState": "Succeeded",
        "resourceGuid": "036ce266-403f-41bd-8578-d446d7397c2f",
        "ipAddress": "13.84.159.176",
        "publicIPAddressVersion": "IPv4",
        "publicIPAllocationMethod": "Dynamic",
        "idleTimeoutInMinutes": 15,
        "ipConfiguration": {
          "id": "/subscriptions/your-subscription-id/resourceGroups/your-rg/providers/Microsoft.Compute/virtualMachineScaleSets/yourvmss/virtualMachines/3/networkInterfaces/yourvmssnic/ipConfigurations/yourvmssipconfig"
        }
      }
    }

Meerdere IP-adressen per NIC

Aan elke NIC die aan een virtuele machine in een schaalset is gekoppeld, zijn een of meer IP-configuraties gekoppeld. Aan elke configuratie is één privé-IP-adres toegewezen. Aan elke configuratie kan ook één resource met een openbaar IP-adres zijn gekoppeld. Om te begrijpen hoeveel IP adressen kunnen worden toegewezen aan een NIC en hoeveel openbare IP-adressen u kunt gebruiken in een Azure-abonnement, bekijkt u de Azure-limieten.

Meerdere NIC's per virtuele machine

U kunt maximaal 8 NIC's per virtuele machine hebben, afhankelijk van de grootte van de machine. Het maximale aantal NIC's per computer is beschikbaar in het artikel VM-grootte. Alle NIC's die zijn verbonden met een VM-exemplaar moeten verbinding maken met hetzelfde virtuele netwerk. De NIC's kunnen verbinding maken met verschillende subnetten, maar alle subnetten moeten deel uitmaken van hetzelfde virtuele netwerk.

Het volgende voorbeeld is een netwerkprofiel van een schaalset met meerdere NIC-vermeldingen en meerdere openbare IP-adressen per virtuele machine:

"networkProfile": {
    "networkInterfaceConfigurations": [
        {
        "name": "nic1",
        "properties": {
            "primary": true,
            "ipConfigurations": [
            {
                "name": "ip1",
                "properties": {
                "subnet": {
                    "id": "[concat('/subscriptions/', subscription().subscriptionId,'/resourceGroups/', resourceGroup().name, '/providers/Microsoft.Network/virtualNetworks/', variables('vnetName'), '/subnets/subnet1')]"
                },
                "publicipaddressconfiguration": {
                    "name": "pub1",
                    "properties": {
                    "idleTimeoutInMinutes": 15
                    }
                },
                "loadBalancerInboundNatPools": [
                    {
                    "id": "[concat('/subscriptions/', subscription().subscriptionId,'/resourceGroups/', resourceGroup().name, '/providers/Microsoft.Network/loadBalancers/', variables('lbName'), '/inboundNatPools/natPool1')]"
                    }
                ],
                "loadBalancerBackendAddressPools": [
                    {
                    "id": "[concat('/subscriptions/', subscription().subscriptionId,'/resourceGroups/', resourceGroup().name, '/providers/Microsoft.Network/loadBalancers/', variables('lbName'), '/backendAddressPools/addressPool1')]"
                    }
                ]
                }
            }
            ]
        }
        },
        {
        "name": "nic2",
        "properties": {
            "primary": false,
            "ipConfigurations": [
            {
                "name": "ip1",
                "properties": {
                "subnet": {
                    "id": "[concat('/subscriptions/', subscription().subscriptionId,'/resourceGroups/', resourceGroup().name, '/providers/Microsoft.Network/virtualNetworks/', variables('vnetName'), '/subnets/subnet1')]"
                },
                "publicipaddressconfiguration": {
                    "name": "pub1",
                    "properties": {
                    "idleTimeoutInMinutes": 15
                    }
                },
                "loadBalancerInboundNatPools": [
                    {
                    "id": "[concat('/subscriptions/', subscription().subscriptionId,'/resourceGroups/', resourceGroup().name, '/providers/Microsoft.Network/loadBalancers/', variables('lbName'), '/inboundNatPools/natPool1')]"
                    }
                ],
                "loadBalancerBackendAddressPools": [
                    {
                    "id": "[concat('/subscriptions/', subscription().subscriptionId,'/resourceGroups/', resourceGroup().name, '/providers/Microsoft.Network/loadBalancers/', variables('lbName'), '/backendAddressPools/addressPool1')]"
                    }
                ]
                }
            }
            ]
        }
        }
    ]
}

NSG en ASG’s per schaalset

Een netwerkbeveiligingsgroep biedt u de mogelijkheid om netwerkverkeer naar en van Azure-resources in een virtueel Azure-netwerk te filteren met behulp van beveiligingsregels. Met toepassingsbeveiligingsgroepen kunt u netwerkbeveiliging van Azure-resources afhandelen en ze groeperen als een uitbreiding van uw toepassingsstructuur.

Netwerkbeveiligingsgroepen kunnen rechtstreeks op een schaalset worden toegepast door een verwijzing naar de sectie Configuratie van netwerkinterface van de eigenschappen van de virtuele machine van de schaalset toe te voegen.

Toepassingsbeveiligingsgroepen kunnen ook rechtstreeks worden opgegeven voor een schaalset door een verwijzing toe te voegen naar de sectie IP-configuraties van de netwerkinterface in de eigenschappen van de virtuele machine van de schaalset.

Voorbeeld:

"networkProfile": {
    "networkInterfaceConfigurations": [
        {
            "name": "nic1",
            "properties": {
                "primary": true,
                "ipConfigurations": [
                    {
                        "name": "ip1",
                        "properties": {
                            "subnet": {
                                "id": "[concat('/subscriptions/', subscription().subscriptionId,'/resourceGroups/', resourceGroup().name, '/providers/Microsoft.Network/virtualNetworks/', variables('vnetName'), '/subnets/subnet1')]"
                            },
                            "applicationSecurityGroups": [
                                {
                                    "id": "[concat('/subscriptions/', subscription().subscriptionId,'/resourceGroups/', resourceGroup().name, '/providers/Microsoft.Network/applicationSecurityGroups/', variables('asgName'))]"
                                }
                            ],
                "loadBalancerInboundNatPools": [
                                {
                                    "id": "[concat('/subscriptions/', subscription().subscriptionId,'/resourceGroups/', resourceGroup().name, '/providers/Microsoft.Network/loadBalancers/', variables('lbName'), '/inboundNatPools/natPool1')]"
                                }
                            ],
                            "loadBalancerBackendAddressPools": [
                                {
                                    "id": "[concat('/subscriptions/', subscription().subscriptionId,'/resourceGroups/', resourceGroup().name, '/providers/Microsoft.Network/loadBalancers/', variables('lbName'), '/backendAddressPools/addressPool1')]"
                                }
                            ]
                        }
                    }
                ],
                "networkSecurityGroup": {
                    "id": "[concat('/subscriptions/', subscription().subscriptionId,'/resourceGroups/', resourceGroup().name, '/providers/Microsoft.Network/networkSecurityGroups/', variables('nsgName'))]"
                }
            }
        }
    ]
}

Als u wilt controleren of uw netwerkbeveiligingsgroep is gekoppeld aan uw schaalset, gebruikt u de opdracht az vmss show. Het onderstaande voorbeeld gebruikt --query om de resultaten te filteren en alleen de relevante sectie van de uitvoer weer te geven.

az vmss show \
    -g myResourceGroup \
    -n myScaleSet \
    --query virtualMachineProfile.networkProfile.networkInterfaceConfigurations[].networkSecurityGroup

[
  {
    "id": "/subscriptions/.../resourceGroups/myResourceGroup/providers/Microsoft.Network/networkSecurityGroups/nsgName",
    "resourceGroup": "myResourceGroup"
  }
]

Als u wilt controleren of uw toepassingsbeveiligingsgroep is gekoppeld aan uw schaalset, gebruikt u de opdracht az vmss show. Het onderstaande voorbeeld gebruikt --query om de resultaten te filteren en alleen de relevante sectie van de uitvoer weer te geven.

az vmss show \
    -g myResourceGroup \
    -n myScaleSet \
    --query virtualMachineProfile.networkProfile.networkInterfaceConfigurations[].ipConfigurations[].applicationSecurityGroups

[
  [
    {
      "id": "/subscriptions/.../resourceGroups/myResourceGroup/providers/Microsoft.Network/applicationSecurityGroups/asgName",
      "resourceGroup": "myResourceGroup"
    }
  ]
]

Netwerkupdates maken voor specifieke exemplaren

U kunt netwerkupdates uitvoeren voor specifieke exemplaren van virtuele-machineschaalsets.

U kunt PUT het exemplaar gebruiken om de netwerkconfiguratie bij te werken. Dit kan worden gebruikt voor het toevoegen of verwijderen van netwerkinterfacekaarten (NIC's) of het verwijderen van een exemplaar uit een back-endpool.

PUT https://management.azure.com/subscriptions/.../resourceGroups/vmssnic/providers/Microsoft.Compute/virtualMachineScaleSets/vmssnic/virtualMachines/1/?api-version=2019-07-01

In het volgende voorbeeld ziet u hoe u een tweede IP-configuratie toevoegt aan uw NIC.

  1. GET de details voor een specifieke instantie van een virtuele-machineschaalset.

    GET https://management.azure.com/subscriptions/.../resourceGroups/vmssnic/providers/Microsoft.Compute/virtualMachineScaleSets/vmssnic/virtualMachines/1/?api-version=2019-07-01
    

    Het volgende is vereenvoudigd om alleen netwerkparameters voor dit voorbeeld weer te geven.

    {
      ...
      "properties": {
        ...
        "networkProfileConfiguration": {
          "networkInterfaceConfigurations": [
            {
              "name": "vmssnic-vnet-nic01",
              "properties": {
                "primary": true,
                "enableAcceleratedNetworking": false,
                "networkSecurityGroup": {
                  "id": "/subscriptions/123a1a12-a123-1ab1-12a1-12a1a1234ab1/resourceGroups/vmssnic/providers/Microsoft.Network/networkSecurityGroups/basicNsgvmssnic-vnet-nic01"
                },
                "dnsSettings": {
                  "dnsServers": []
                },
                "enableIPForwarding": false,
                "ipConfigurations": [
                  {
                    "name": "vmssnic-vnet-nic01-defaultIpConfiguration",
                    "properties": {
                      "publicIPAddressConfiguration": {
                        "name": "publicIp-vmssnic-vnet-nic01",
                        "properties": {
                          "idleTimeoutInMinutes": 15,
                          "ipTags": [],
                          "publicIPAddressVersion": "IPv4"
                        }
                      },
                      "primary": true,
                      "subnet": {
                        "id": "/subscriptions/123a1a12-a123-1ab1-12a1-12a1a1234ab1/resourceGroups/vmssnic/providers/Microsoft.Network/virtualNetworks/vmssnic-vnet/subnets/default"
                      },
                      "privateIPAddressVersion": "IPv4"
                    }
                  }
                ]
              }
            }
          ]
        },
        ...
      }
    }
    
  2. PUT voor het exemplaar wordt bijgewerkt om de extra IP-configuratie toe te voegen. Dit is vergelijkbaar met het toevoegen van extra networkInterfaceConfiguration.

    PUT https://management.azure.com/subscriptions/.../resourceGroups/vmssnic/providers/Microsoft.Compute/virtualMachineScaleSets/vmssnic/virtualMachines/1/?api-version=2019-07-01
    

    Het volgende is vereenvoudigd om alleen netwerkparameters voor dit voorbeeld weer te geven.

      {
      ...
      "properties": {
        ...
        "networkProfileConfiguration": {
          "networkInterfaceConfigurations": [
            {
              "name": "vmssnic-vnet-nic01",
              "properties": {
                "primary": true,
                "enableAcceleratedNetworking": false,
                "networkSecurityGroup": {
                  "id": "/subscriptions/123a1a12-a123-1ab1-12a1-12a1a1234ab1/resourceGroups/vmssnic/providers/Microsoft.Network/networkSecurityGroups/basicNsgvmssnic-vnet-nic01"
                },
                "dnsSettings": {
                  "dnsServers": []
                },
                "enableIPForwarding": false,
                "ipConfigurations": [
                  {
                    "name": "vmssnic-vnet-nic01-defaultIpConfiguration",
                    "properties": {
                      "publicIPAddressConfiguration": {
                        "name": "publicIp-vmssnic-vnet-nic01",
                        "properties": {
                          "idleTimeoutInMinutes": 15,
                          "ipTags": [],
                          "publicIPAddressVersion": "IPv4"
                        }
                      },
                      "primary": true,
                      "subnet": {
                        "id": "/subscriptions/123a1a12-a123-1ab1-12a1-12a1a1234ab1/resourceGroups/vmssnic/providers/Microsoft.Network/virtualNetworks/vmssnic-vnet/subnets/default"
                      },
                      "privateIPAddressVersion": "IPv4"
                    }
                  },
                  {
                    "name": "my-second-config",
                    "properties": {
                      "subnet": {
                        "id": "/subscriptions/123a1a12-a123-1ab1-12a1-12a1a1234ab1/resourceGroups/vmssnic/providers/Microsoft.Network/virtualNetworks/vmssnic-vnet/subnets/default"
                      },
                      "privateIPAddressVersion": "IPv4"
                    }
                  }
                ]
              }
            }
          ]
        },
        ...
      }
    }
    

Expliciete uitgaande netwerkconnectiviteit voor flexibele schaalsets

Als u de standaardbeveiliging van het netwerk wilt verbeteren, moeten virtuele-machineschaalsets met flexibele indeling impliciet worden gemaakt via het profiel voor automatisch schalen uitgaande connectiviteit hebben die expliciet is gedefinieerd via een van de volgende methoden:

  • Voor de meeste scenario's raden we de NAT-gateway aan die is gekoppeld aan het subnet.
  • Voor scenario's met hoge beveiligingsvereisten of wanneer u Azure Firewall of NvA (Network Virtual Appliance) gebruikt, kunt u een aangepaste door de gebruiker gedefinieerde route opgeven als volgende hop via de firewall.
  • Exemplaren bevinden zich in de back-endpool van een Standard SKU Azure Load Balancer.
  • Koppel een openbaar IP-adres aan de netwerkinterface van het exemplaar.

Met VM's met één exemplaar en virtuele-machineschaalsets met uniform orchestration wordt automatisch uitgaande connectiviteit geboden.

Veelvoorkomende scenario's waarvoor expliciete uitgaande connectiviteit is vereist, zijn:

  • Activering van Windows-VM's vereist dat u uitgaande connectiviteit van het VM-exemplaar hebt gedefinieerd met de Windows Activation Key Management Service (KMS). Zie Problemen met windows-VM-activering oplossen voor meer informatie.
  • Toegang tot opslagaccounts of Key Vault. Verbinding maken iviteit van Azure-services kan ook tot stand worden gebracht via Private Link.

Zie Standaardtoegang voor uitgaand verkeer in Azure voor meer informatie over het definiëren van beveiligde uitgaande verbindingen.

Volgende stappen

Bekijk het Azure Virtual network overview (Azure Virtual Network-overzicht) voor meer informatie over het gebruik van virtuele netwerken in Azure.