Sieć dla zestawów skalowania maszyn wirtualnych platformy Azure

Podczas wdrażania zestawu skalowania maszyn wirtualnych platformy Azure za pośrednictwem portalu niektóre właściwości sieci są domyślne, na przykład usługa Azure Load Balancer z regułami NAT dla ruchu przychodzącego. W tym artykule opisano, jak korzystać z niektórych bardziej zaawansowanych funkcji sieciowych konfigurowalnych za pomocą zestawów skalowania.

Wszystkie funkcje omówione w tym artykule można skonfigurować za pomocą szablonów usługi Azure Resource Manager. Dla wybranych funkcji dołączono też przykłady związane z interfejsem wiersza polecenia platformy Azure i programem PowerShell.

Accelerated Networking

Usługa Azure Accelerated Networking zwiększa wydajność sieci, umożliwiając wirtualizację we/wy z jednym elementem głównym (SR-IOV) do maszyny wirtualnej. Aby dowiedzieć się więcej o korzystaniu z usługi Accelerated Networking, zobacz temat dotyczący usługi Accelerated Networking dla maszyn wirtualnych z systemem Windows lub Linux. Aby korzystać z tej funkcji przyspieszania sieci wraz z zestawami skalowania, w ustawieniach networkInterfaceConfigurations zestawu skalowania ustaw dla właściwości enableAcceleratedNetworking wartość true. Na przykład:

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

Zestawy skalowania maszyn wirtualnych platformy Azure z usługą Azure Load Balancer

Zobacz Usługi Azure Load Balancer i Zestawy skalowania maszyn wirtualnych, aby dowiedzieć się więcej na temat konfigurowania usługa Load Balancer w warstwie Standardowa przy użyciu zestawów skalowania maszyn wirtualnych na podstawie danego scenariusza.

Dodawanie zestawu skalowania maszyn wirtualnych do usługi Application Gateway

Aby dodać zestaw skalowania do puli zaplecza usługi Application Gateway, zapoznaj się z pulą zaplecza usługi Application Gateway w profilu sieciowym zestawu skalowania. Można to zrobić podczas tworzenia zestawu skalowania (zobacz szablon usługi ARM poniżej) lub w istniejącym zestawie skalowania.

Dodawanie ujednoliconych zestawów skalowania maszyn wirtualnych orkiestracji do usługi Application Gateway

Podczas dodawania ujednoliconych zestawów skalowania maszyn wirtualnych do puli zaplecza usługi Application Gateway proces będzie się różnić w przypadku nowych lub istniejących zestawów skalowania:

  • W przypadku nowych zestawów skalowania należy odwołać się do identyfikatora puli zaplecza usługi Application Gateway w profilu sieciowym modelu zestawu skalowania w ramach co najmniej jednej konfiguracji adresu IP interfejsu sieciowego. Po wdrożeniu wystąpienia dodane do zestawu skalowania zostaną umieszczone w puli zaplecza usługi Application Gateway.
  • W przypadku istniejących zestawów skalowania najpierw dodaj identyfikator puli zaplecza usługi Application Gateway w profilu sieciowym modelu zestawu skalowania, a następnie zastosuj model istniejących wystąpień przez uaktualnienie. Jeśli zasady uaktualniania zestawu skalowania to Automatic lub Rolling, wystąpienia zostaną zaktualizowane. Jeśli jest Manualto , należy ręcznie uaktualnić wystąpienia.
  1. Utwórz usługę Application Gateway i pulę zaplecza w tym samym regionie co zestaw skalowania, jeśli jeszcze go nie masz
  2. Przejdź do zestawu skalowania maszyn wirtualnych w portalu
  3. W obszarze Ustawienia otwórz okienko Sieć
  4. W okienku Sieć wybierz kartę Równoważenie obciążenia i kliknij pozycję Dodaj równoważenie obciążenia.
  5. Wybierz pozycję Application Gateway z listy rozwijanej Opcje równoważenia obciążenia i wybierz istniejącą usługę Application Gateway
  6. Wybierz docelową pulę zaplecza i kliknij przycisk Zapisz
  7. Jeśli zasady uaktualniania zestawu skalowania to "Ręczne", przejdź do okienka Ustawienia> Instances, aby wybrać i uaktualnić każde z wystąpień

Dodawanie elastycznych zestawów skalowania maszyn wirtualnych orkiestracji do usługi Application Gateway

Podczas dodawania elastycznego zestawu skalowania do usługi Application Gateway proces jest taki sam, jak dodawanie autonomicznych maszyn wirtualnych do puli zaplecza usługi Application Gateway — aktualizujesz konfigurację adresu IP interfejsu sieciowego maszyny wirtualnej jako część puli zaplecza. Można to zrobić za pomocą konfiguracji usługi Application Gateway lub konfiguracji interfejsu sieciowego maszyny wirtualnej.

Uwaga

Należy pamiętać, że brama aplikacji musi znajdować w tej samej sieci wirtualnej, co zestaw skalowania, ale w innej podsieci niż zestaw skalowania.

Konfigurowalne ustawienia DNS

Domyślnie zestawy skalowania przyjmują konkretne ustawienia DNS sieci VNET i podsieci, w których je utworzono. Można jednak skonfigurować ustawienia DNS zestawu skalowania bezpośrednio.

Tworzenie zestawu skalowania z konfigurowalnymi serwerami DNS

Aby utworzyć zestaw skalowania z niestandardową konfiguracją DNS przy użyciu interfejsu wiersza polecenia platformy Azure, dodaj do polecenia vmss create argument --dns-servers, a po nim podaj oddzielane spacjami adresy IP serwerów. Na przykład:

--dns-servers 10.0.0.6 10.0.0.5

Aby skonfigurować niestandardowe serwery DNS w szablonie platformy Azure, do sekcji networkInterfaceConfigurations zestawu skalowania dodaj właściwość dnsSettings. Na przykład:

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

Tworzenie zestawu skalowania z konfigurowalnymi nazwami domen maszyn wirtualnych

Aby utworzyć zestaw skalowania z niestandardową nazwą DNS dla maszyn wirtualnych przy użyciu interfejsu wiersza polecenia, dodaj argument --vm-domain-name do polecenia Create zestawu skalowania maszyn wirtualnych, a następnie ciąg reprezentujący nazwę domeny.

Aby ustawić nazwę domeny w szablonie platformy Azure, do sekcji networkInterfaceConfigurations zestawu skalowania dodaj właściwość dnsSettings. Na przykład:

"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')]"
              }
            }
          }
        }
      }
    ]
    }
}

Dane wyjściowe dla nazwy DNS pojedynczej maszyny wirtualnej będą miały następującą formę:

<vm><vmindex>.<specifiedVmssDomainNameLabel>

Publiczny adres IPv4 dla każdej maszyny wirtualnej

Ogólnie maszyny wirtualne zestawu skalowania platformy Azure nie muszą mieć własnych publicznych adresów IP. W większości scenariuszy bardziej ekonomiczne i bezpieczne jest skojarzenie publicznego adresu IP z modułem równoważenia obciążenia lub z pojedynczą maszyną wirtualną (znaną również jako serwer przesiadkowy), która następnie kieruje połączenia przychodzące do maszyn wirtualnych zestawu skalowania zgodnie z potrzebami (na przykład za pomocą reguł NAT dla ruchu przychodzącego).

Jednak w niektórych scenariuszach maszyny wirtualne zestawu skalowania muszą mieć własne publiczne adresy IP. Przykładem są gry — gdy konsola musi nawiązać bezpośrednie połączenie z maszyną wirtualną w chmurze obsługującą przetwarzanie symulacji świata fizycznego w grze. Innym przykładem jest sytuacja, w której maszyny wirtualne muszą nawiązywać ze sobą połączenia zewnętrzne między regionami w rozproszonej bazie danych.

Tworzenie zestawu skalowania z publicznym adresem IP dla każdej maszyny wirtualnej

Aby utworzyć zestaw skalowania, w którym każdej maszynie wirtualnej zostanie przypisany publiczny adres IP, przy użyciu interfejsu wiersza polecenia, dodaj do polecenia vmss create parametr --public-ip-per-vm.

Aby utworzyć zestaw skalowania przy użyciu szablonu platformy Azure, upewnij się, że interfejs API zasobu Microsoft.Compute/virtualMachineScaleSets ma wersję co najmniej 2017-03-30, i dodaj właściwość JSON publicIpAddressConfiguration do sekcji ipConfigurations zestawu skalowania. Na przykład:

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

Pamiętaj, że gdy zestawy skalowania maszyn wirtualnych z publicznymi adresami IP na wystąpienie są tworzone z modułem równoważenia obciążenia z przodu, adresy IP wystąpienia są określane przez jednostkę SKU modułu równoważenia obciążenia (tj. Podstawowa lub Standardowa). Jeśli zestaw skalowania maszyn wirtualnych jest tworzony bez modułu równoważenia obciążenia, jednostkę SKU adresów IP wystąpienia można ustawić bezpośrednio przy użyciu sekcji SKU szablonu, jak pokazano powyżej.

Przykładowy szablon korzystający z podstawowego modułu równoważenia obciążenia: vmss-public-ip-linux

Alternatywnie publiczny prefiks ip (ciągły blok publicznych adresów IP jednostki SKU w warstwie Standardowa) może służyć do generowania adresów IP na poziomie wystąpienia w zestawie skalowania maszyn wirtualnych. Właściwości strefowe prefiksu zostaną przekazane do adresów IP wystąpienia, ale nie będą wyświetlane w danych wyjściowych.

Przykładowy szablon używający prefiksu publicznego adresu IP: vmms-with-public-ip-prefix

Badanie publicznych adresów IP maszyn wirtualnych w zestawie skalowania

Aby uzyskać listę publicznych adresów IP przypisanych do maszyn wirtualnych w zestawie skalowania przy użyciu interfejsu wiersza polecenia, użyj polecenia az vmss list-instance-public-ips.

Aby uzyskać listę publicznych adresów IP zestawu skalowania przy użyciu programu PowerShell, użyj polecenia Get-AzPublicIpAddress. Na przykład:

Get-AzPublicIpAddress -ResourceGroupName myrg -VirtualMachineScaleSetName myvmss

Publiczne adresy IP można także badać, odwołując się bezpośrednio do identyfikatora zasobu konfiguracji publicznych adresów IP. Na przykład:

Get-AzPublicIpAddress -ResourceGroupName myrg -Name myvmsspip

Możesz też wyświetlić publiczne adresy IP przypisane do maszyn wirtualnych w zestawie skalowania przez wysłanie zapytania do witryny Azure Resource Explorer lub interfejsu API REST platformy Azure w wersji co najmniej 2017-03-30.

Aby wysłać zapytanie do witryny Azure Resource Explorer:

  1. Otwórz witrynę Azure Resource Explorer w przeglądarce internetowej.
  2. Rozwiń pozycję subskrypcje po lewej stronie, klikając znak + obok niej. Jeśli w obszarze subskrypcje znajduje się tylko jeden element, może to oznaczać, że subskrypcje są już rozwinięte.
  3. Rozwiń subskrypcję.
  4. Rozwiń grupę zasobów.
  5. Rozwiń pozycję dostawcy.
  6. Rozwiń pozycję Microsoft.Compute.
  7. Rozwiń pozycję virtualMachineScaleSets.
  8. Rozwiń zestaw skalowania.
  9. Kliknij pozycję publicipaddresses.

Aby wysłać zapytanie do interfejsu API REST platformy Azure:

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

Przykładowe dane wyjściowe z witryny Azure Resource Explorer i interfejsu API REST platformy Azure:

{
  "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"
        }
      }
    }

Wiele adresów IP dla każdej karty sieciowej

Z każdą kartą sieciową dołączoną do maszyny wirtualnej w zestawie skalowania może być skojarzona co najmniej jedna konfiguracja adresu IP. Każdej konfiguracji jest przypisany jeden prywatny adres IP. Każda konfiguracja może mieć również skojarzony jeden zasób publicznego adresu IP. Aby zrozumieć, jak wiele adresów IP można przypisać do karty sieciowej i jak wielu publicznych adresów IP można używać w subskrypcji platformy Azure, zapoznaj się z informacjami o limitach na platformie Azure.

Wiele kart sieciowych dla każdej maszyny wirtualnej

Zależnie od rozmiaru maszyny wirtualnej każda z nich może mieć do 8 kart sieciowych. Maksymalna liczba kart sieciowych na maszynę jest podana w artykule poświęconym rozmiarom maszyn wirtualnych. Wszystkie karty sieciowe podłączone do wystąpienia maszyny wirtualnej muszą łączyć się z tą samą siecią wirtualną. Karty sieciowe mogą łączyć się z różnymi podsieciami, ale wszystkie podsieci muszą należeć do tej samej sieci wirtualnej.

Poniższej przedstawiono przykład profilu sieciowego zestawu skalowania z wieloma wpisami kart sieciowych oraz wieloma publicznymi adresami IP związanymi z poszczególnymi maszynami wirtualnymi:

"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')]"
                    }
                ]
                }
            }
            ]
        }
        }
    ]
}

Sieciowa grupa zabezpieczeń i grupa zabezpieczeń aplikacji dla zestawu skalowania

Sieciowa grupa zabezpieczeń umożliwia filtrowanie ruchu przychodzącego do zasobów platformy Azure i wychodzącego z nich w sieci wirtualnej platformy Azure za pomocą reguł zabezpieczeń. Grupy zabezpieczeń aplikacji umożliwiają obsługę zabezpieczeń sieci zasobów platformy Azure i pogrupowanie ich jako rozszerzenia struktury aplikacji.

Grupy zabezpieczeń sieci można stosować bezpośrednio do zestawu skalowania przez dodanie odwołania w sekcji konfiguracji interfejsu sieciowego we właściwościach maszyn wirtualnych zestawu skalowania.

Grupy zabezpieczeń aplikacji mogą być również określane bezpośrednio w zestawie skalowania przez dodanie odwołania w sekcji konfiguracji interfejsu sieciowego we właściwościach maszyn wirtualnych zestawu skalowania.

Na przykład:

"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'))]"
                }
            }
        }
    ]
}

Aby sprawdzić, czy sieciowa grupa zabezpieczeń jest skojarzona z zestawem skalowania, użyj polecenia az vmss show. W poniższym przykładzie użyto opcji --query, aby odfiltrować wyniki i pokazać tylko odpowiednią sekcję danych wyjściowych.

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

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

Aby sprawdzić, czy grupa zabezpieczeń aplikacji jest skojarzona z zestawem skalowania, użyj polecenia az vmss show. W poniższym przykładzie użyto opcji --query, aby odfiltrować wyniki i pokazać tylko odpowiednią sekcję danych wyjściowych.

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

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

Wprowadzanie aktualizacji sieci do określonych wystąpień

Aktualizacje sieci można wprowadzać do określonych wystąpień zestawu skalowania maszyn wirtualnych.

W przypadku wystąpienia można PUT zaktualizować konfigurację sieci. Może to służyć do wykonywania takich czynności jak dodawanie lub usuwanie kart interfejsu sieciowego lub usuwanie wystąpienia z puli zaplecza.

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

W poniższym przykładzie pokazano, jak dodać drugą konfigurację adresu IP do karty sieciowej.

  1. GET szczegóły określonego wystąpienia zestawu skalowania maszyn wirtualnych.

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

    Poniższe instrukcje zostały uproszczone, aby pokazać tylko parametry sieciowe dla tego przykładu.

    {
      ...
      "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 w wystąpieniu aktualizacja w celu dodania dodatkowej konfiguracji adresu IP. Jest to podobne do dodawania dodatkowego networkInterfaceConfigurationelementu .

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

    Poniższe instrukcje zostały uproszczone, aby pokazać tylko parametry sieciowe dla tego przykładu.

      {
      ...
      "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"
                    }
                  }
                ]
              }
            }
          ]
        },
        ...
      }
    }
    

Jawna łączność wychodząca sieci dla elastycznych zestawów skalowania

Aby zwiększyć domyślne zabezpieczenia sieci, zestawy skalowania maszyn wirtualnych z elastyczną aranżacją będą wymagać, aby wystąpienia tworzone niejawnie za pośrednictwem profilu skalowania automatycznego miały łączność wychodzącą zdefiniowaną jawnie za pomocą jednej z następujących metod:

  • W przypadku większości scenariuszy zalecamy dołączanie bramy translatora adresów sieciowych do podsieci.
  • W scenariuszach z wysokimi wymaganiami dotyczącymi zabezpieczeń lub w przypadku korzystania z usługi Azure Firewall lub wirtualnego urządzenia sieciowego (WUS) można określić niestandardową trasę zdefiniowaną przez użytkownika jako następny przeskok przez zaporę.
  • Wystąpienia znajdują się w puli zaplecza usługi Azure Load Balancer w warstwie Standardowa.
  • Dołącz publiczny adres IP do interfejsu sieciowego wystąpienia.

Dzięki maszynom wirtualnym z pojedynczym wystąpieniem i zestawom skalowania maszyn wirtualnych z jednolitą aranżacją łączność wychodząca jest dostarczana automatycznie.

Typowe scenariusze, które wymagają jawnej łączności wychodzącej, obejmują:

  • Aktywacja maszyny wirtualnej z systemem Windows wymaga zdefiniowanej łączności wychodzącej z wystąpienia maszyny wirtualnej do usługa zarządzania kluczami aktywacji systemu Windows (KMS). Aby uzyskać więcej informacji, zobacz Rozwiązywanie problemów z aktywacją maszyny wirtualnej z systemem Windows.
  • Dostęp do kont magazynu lub usługi Key Vault. Połączenie ivity z usługami platformy Azure można również ustanowić za pośrednictwem Usługa Private Link.

Aby uzyskać więcej informacji na temat definiowania bezpiecznych połączeń wychodzących, zobacz Domyślny dostęp wychodzący na platformie Azure .

Następne kroki

Więcej informacji na temat sieci wirtualnych platformy Azure znajduje się w artykule Azure virtual networks overview (Omówienie sieci wirtualnych platformy Azure).