Dela via


Använda en NAT-gateway i ett Service Fabric-hanterat kluster

Service Fabric-hanterade kluster har externa IP-adresser som gör att externa klienter kan komma åt klustrets resurser. I vissa scenarier kan det dock vara bättre att ge internetåtkomst till dessa resurser utan att exponera dem direkt för Internet. NAT-gatewayer aktiverar den här funktionen.

Om klustret har resurser som behöver ta emot inkommande trafik från Internet men även har privata resurser som måste skyddas kan en NAT-gateway hjälpa till. Om du dessutom har program som behöver upprätta anslutningar utanför klustret för att få åtkomst till hemligheter, lagring och andra privata resurser kan en NAT-gateway hjälpa till.

Här är några av fördelarna med att använda en NAT-gateway för ditt hanterade kluster:

  • Förbättrad säkerhet: Azure NAT Gateway bygger på nätverkssäkerhetsmodellen utan förtroende och är säker som standard. Med NAT-gateway behöver privata instanser i ett undernät inte offentliga IP-adresser för att nå Internet. Privata resurser kan nå externa källor utanför det virtuella nätverket via SNAT (Source Network Address Translating) till NAT-gatewayens statiska offentliga IP-adresser eller prefix. Du kan ange en sammanhängande uppsättning IP-adresser för utgående anslutning med hjälp av ett offentligt IP-prefix, och du kan konfigurera målbrandväggsregler baserat på den här förutsägbara IP-listan.
  • Återhämtning: Azure NAT Gateway är en fullständigt hanterad och distribuerad tjänst. Det beror inte på enskilda beräkningsinstanser, till exempel virtuella datorer eller en enda fysisk gateway-enhet. En NAT-gateway har alltid flera feldomäner och kan hantera flera fel utan avbrott i tjänsten. Programvarudefinierade nätverk gör en NAT-gateway mycket motståndskraftig.
  • Förenklad nätverksarkitektur: MED NAT-gatewayer kan du förenkla nätverksarkitekturen genom att eliminera behovet av en bastionsvärd eller VPN-anslutning för åtkomst till instanser i privata undernät.
  • Prestanda: Azure NAT Gateway är högpresterande och stabil.

Följande diagram visar ett kluster med en primär och sekundär nodtyp där varje nodtyp har ett eget undernät. Den sekundära nodtypen placeras bakom en NAT-gateway och all utgående trafik dirigeras via gatewayen. När trafik kommer från den sekundära nodtypen är den offentliga IP-adressen nat-gatewayens. Eftersom alla utgående begäranden dirigeras via NAT-gatewayen kan du implementera ytterligare NSG-regler som förbättrar säkerheten och förhindrar att externa tjänster identifierar interna tjänster.

Diagram som visar ett kluster som använder en NAT-gateway för att hantera utgående trafik.

Följande scenarier stöds användningsfall för NAT-gatewayer i Service Fabric-hanterade kluster:

Förutsättningar

Se till att du följer stegen för att konfigurera det hanterade klustrets nätverk på rätt sätt i ditt scenario.

Ta med ditt eget virtuella nätverk med NAT-gateway

Följande steg beskriver hur du ansluter en NAT-gateway till dina virtuella nätverksundernät.

  1. Följ stegen i snabbstarten för Azure NAT Gateway för att skapa en NAT-gateway.

  2. Ge Service Fabric-resursprovidern behörighet att ändra NAT-gatewayens inställningar med hjälp av rolltilldelning. Följ de två första stegen i avsnittet Bring your own virtual network (Ta med ditt eget virtuella nätverk) i artikeln Konfigurera inställningar för hanterat klusternätverk och mata in NAT-gatewayens information i undernätsparametrar.

  3. Nu är du redo att ansluta NAT-gatewayen till det virtuella nätverkets undernät. Du kan använda en ARM-mall, Azure CLI, Azure PowerShell eller Azure Portal.

ARM-mall

Ändra och distribuera följande ARM-mall för att introducera NAT-gatewayen i undernätets egenskaper:

{ 
    "apiVersion": "[variables('networkApiVersion')]", 
    "type": "Microsoft.Network/virtualNetworks", 
    "name": "[parameters('vnetName')]", 
    "location": "[resourcegroup().location]", 
    "dependsOn": [ 
      "[parameters('natGatewayId'))]" 
    ], 
    "properties": { 
        "subnets": [ 
          { 
            "name": "[parameters('subnetName')]", 
            "properties": { 
              "addressPrefix": "[parameters('subnetAddressPrefix')]", 
              "natGateway": { 
                "id": "[parameters('natGatewayId'))]" 
              } 
            } 
          } 
        ] 
    } 
} 

Azure CLI

Ändra och kör följande Azure CLI-kommando med din information:

az network vnet subnet update --resource-group myResourceGroup --vnet-name mvVNet --name mySubnet --nat-gateway myNATGateway

Azure PowerShell

  1. Placera det virtuella nätverket i en variabel

    $net = @{
      Name = `myVNet`
      ResourceGroupName = 'myResourceGroup'
    }
    $vnet = Get-AzVirtualNetwork @net
    
  2. Placera NAT-gatewayen i en variabel

    $nat = @{
      Name = 'myNATgateway'  
      ResourceGroupName = 'myResourceGroup'
    } 
    $natGateway = Get-AzNatGateway @nat 
    
  3. Ange konfigurationen av undernätet

    $subnet = @{  
      Name = 'mySubnet' 
      VirtualNetwork = $vnet 
      NatGateway = $natGateway 
      AddressPrefix = '10.0.2.0/24'  
    } 
    Set-AzVirtualNetworkSubnetConfig @subnet
    
  4. Spara konfigurationen i det virtuella nätverket

    $vnet | Set-AzVirtualNetwork
    

Azure Portal

  1. Azure Portal navigerar du till din virtuella nätverksresurs.

  2. Under Inställningar väljer du Undernät.

  3. Välj det undernät som du vill associera med din NAT-gateway.

  4. Öppna listrutan NAT-gateway och välj din NAT-gateway.

    Skärmbild som visar listrutan för att välja din NAT-gateway.

  5. Klicka på Spara.

Ta med din egen lastbalanserare med Azure NAT Gateway

Följande steg beskriver hur du ansluter en NAT-gateway till dina virtuella nätverksundernät.

Anteckning

Det här scenariot stöds bara via ARM-mall.

  1. Följ stegen i snabbstarten för Azure NAT Gateway för att skapa en NAT-gateway.

  2. Ge Service Fabric-resursprovidern behörighet att ändra NAT-gatewayens inställningar med hjälp av rolltilldelning. Följ de två första stegen i avsnittet Bring your own virtual network (Ta med ditt eget virtuella nätverk) i artikeln Konfigurera inställningar för hanterat klusternätverk och mata in NAT-gatewayens information i undernätsparametrar.

  3. Lägg till följande egenskap i distributionen för att koppla NAT-gatewayen till ditt dedikerade undernät:

{ 
    "apiVersion": "2023-03-01-preview", 
    "type": "Microsoft.ServiceFabric/managedclusters/nodetypes", 
    "name": "[concat(parameters('clusterName'), '/', parameters('nodeTypeName'))]", 
    "location": "[parameters('clusterLocation')]", 
    "properties": { 
   ... 
        "isPrimary": false, 
        "natGatewayId": "[variables('natID')]", 
        "frontendConfigurations": [...], 
   ... 
} 

Nästa steg