Sdílet prostřednictvím


Konfigurace nastavení sítě pro spravované clustery Service Fabric

Spravované clustery Service Fabric se vytvářejí s výchozí konfigurací sítě. Tato konfigurace se skládá z Azure Load Balanceru s veřejnou IP adresou, virtuální sítí s jednou přidělenou podsítí a skupinou zabezpečení sítě nakonfigurovanou pro základní funkce clusteru. Existují také volitelná pravidla NSG, například povolení veškerého odchozího provozu ve výchozím nastavení, které má usnadnit konfiguraci zákazníka. Tento dokument vás provede úpravou následujících možností konfigurace sítě a dalších možností:

Správa pravidel NSG

Pokyny k pravidlům NSG

Mějte na paměti tyto aspekty při vytváření nových pravidel NSG pro spravovaný cluster.

  • Spravované clustery Service Fabric si pro základní funkce vyhrazuje rozsah priority pravidel NSG 0 až 999. Nemůžete vytvořit vlastní pravidla NSG s hodnotou priority menší než 1 000.
  • Spravované clustery Service Fabric si vyhraďte rozsah priority 3001 až 4000 pro vytváření volitelných pravidel NSG. Tato pravidla se přidávají automaticky, aby byly konfigurace rychlé a snadné. Tato pravidla můžete přepsat přidáním vlastních pravidel NSG v rozsahu priority 1000 až 3000.
  • Vlastní pravidla NSG by měla mít prioritu v rozsahu 1000 až 3000.

Použití pravidel NSG

Spravované clustery Service Fabric umožňují přiřadit pravidla NSG přímo v rámci prostředku clusteru šablony nasazení.

K přiřazení pravidel NSG použijte vlastnost networkSecurityRules prostředku Microsoft.ServiceFabric/managedclusters (verze 2021-05-01 nebo novější). Příklad:

{
  "apiVersion": "2021-05-01",
  "type": "Microsoft.ServiceFabric/managedclusters",
  "properties": {
    "networkSecurityRules": [
      {
        "name": "AllowCustomers",
        "protocol": "*",
        "sourcePortRange": "*",
        "sourceAddressPrefix": "Internet",
        "destinationAddressPrefix": "*",
        "destinationPortRange": "33000-33499",
        "access": "Allow",
        "priority": 2001,
        "direction": "Inbound"
      },
      {
        "name": "AllowARM",
        "protocol": "*",
        "sourcePortRange": "*",
        "sourceAddressPrefix": "AzureResourceManager",
        "destinationAddressPrefix": "*",
        "destinationPortRange": "33500-33699",
        "access": "Allow",
        "priority": 2002,
        "direction": "Inbound"
      },
      {
        "name": "DenyCustomers",
        "protocol": "*",
        "sourcePortRange": "*",
        "sourceAddressPrefix": "Internet",
        "destinationAddressPrefix": "*",
        "destinationPortRange": "33700-33799",
        "access": "Deny",
        "priority": 2003,
        "direction": "Outbound"
      },
      {
        "name": "DenyRDP",
        "protocol": "*",
        "sourcePortRange": "*",
        "sourceAddressPrefix": "*",
        "destinationAddressPrefix": "VirtualNetwork",
        "destinationPortRange": "3389",
        "access": "Deny",
        "priority": 2004,
        "direction": "Inbound",
        "description": "Override for optional SFMC_AllowRdpPort rule. This is required in tests to avoid Sev2 incident for security policy violation."
      }
    ],
    "fabricSettings": [
      "..."
    ]
  }
}

Výchozí a volitelná pravidla ClientConnection a HttpGatewayConnection

Pravidlo NSG: SFMC_AllowServiceFabricGatewayToSFRP

Přidá se výchozí pravidlo NSG, které poskytovateli prostředků Service Fabric umožní přístup ke klientovi clientConnectionPort clusteru a httpGatewayConnectionPort. Toto pravidlo umožňuje přístup k portům prostřednictvím značky služby ServiceFabric.

Poznámka:

Toto pravidlo se vždy přidá a nedá se přepsat.

{
    "name": "SFMC_AllowServiceFabricGatewayToSFRP",
    "type": "Microsoft.Network/networkSecurityGroups/securityRules",
    "properties": {
        "description": "This is required rule to allow SFRP to connect to the cluster. This rule can't be overridden.",
        "protocol": "TCP",
        "sourcePortRange": "*",
        "sourceAddressPrefix": "ServiceFabric",
        "destinationAddressPrefix": "VirtualNetwork",
        "access": "Allow",
        "priority": 500,
        "direction": "Inbound",
        "sourcePortRanges": [],
        "destinationPortRanges": [
            "19000",
            "19080"
        ]
    }
}

Pravidlo NSG: SFMC_AllowServiceFabricGatewayPorts

Toto volitelné pravidlo umožňuje zákazníkům přistupovat k SFX, připojovat se ke clusteru pomocí PowerShellu a používat koncové body rozhraní API clusteru Service Fabric z internetu otevřením portů nástroje pro vyrovnávání zatížení pro clientConnectionPort a httpGatewayPort.

Poznámka:

Toto pravidlo se nepřidá, pokud pro stejný port existuje vlastní pravidlo se stejnými hodnotami přístupu, směru a protokolu. Toto pravidlo můžete přepsat vlastními pravidly NSG.

{
    "name": "SFMC_AllowServiceFabricGatewayPorts",
    "type": "Microsoft.Network/networkSecurityGroups/securityRules",
    "properties": {
        "description": "Optional rule to open SF cluster gateway ports. To override add a custom NSG rule for gateway ports in priority range 1000-3000.",
        "protocol": "tcp",
        "sourcePortRange": "*",
        "sourceAddressPrefix": "*",
        "destinationAddressPrefix": "VirtualNetwork",
        "access": "Allow",
        "priority": 3001,
        "direction": "Inbound",
        "sourcePortRanges": [],
        "destinationPortRanges": [
            "19000",
            "19080"
        ]
    }
}

Povolení přístupu k portům RDP z internetu

Spravované clustery Service Fabric ve výchozím nastavení neumožňují příchozí přístup k portům RDP z internetu. Příchozí přístup k portům RDP z internetu můžete otevřít nastavením následující vlastnosti prostředku spravovaného clusteru Service Fabric.

"allowRDPAccess": true

Pokud je vlastnost allowRDPAccess nastavená na true, přidá se do nasazení clusteru následující pravidlo NSG.

{
    "name": "SFMC_AllowRdpPort",
    "type": "Microsoft.Network/networkSecurityGroups/securityRules",
    "properties": {
        "description": "Optional rule to open RDP ports.",
        "protocol": "tcp",
        "sourcePortRange": "*",
        "sourceAddressPrefix": "*",
        "destinationAddressPrefix": "VirtualNetwork",
        "access": "Allow",
        "priority": 3002,
        "direction": "Inbound",
        "sourcePortRanges": [],
        "destinationPortRange": "3389"
    }
}

Spravované clustery Service Fabric automaticky vytvoří příchozí pravidla překladu adres (NAT) pro každou instanci typu uzlu. Pokud chcete najít mapování portů pro přístup ke konkrétním instancím (uzlům clusteru), postupujte následovně:

Pomocí webu Azure Portal vyhledejte spravovaná clusterová rozhraní vytvořená příchozími pravidly překladu adres (NAT) pro protokol RDP (Remote Desktop Protocol).

  1. Přejděte do skupiny prostředků spravovaného clusteru ve vašem předplatném s názvem s následujícím formátem: SFC_{id-clusteru}

  2. Vyberte nástroj pro vyrovnávání zatížení pro cluster s následujícím formátem: LB-{název_clusteru}.

  3. Na stránce vašeho nástroje pro vyrovnávání zatížení vyberte příchozí pravidla překladu adres (NAT). Zkontrolujte pravidla příchozího překladu adres (NAT), abyste potvrdili příchozí front-endový port na mapování cílových portů pro uzel.

    Následující snímek obrazovky ukazuje pravidla příchozího překladu adres (NAT) pro tři různé typy uzlů:

    Příchozí pravidla NAT

    Ve výchozím nastavení je front-endový port v rozsahu 50000 a vyšší a cílový port je port 3389, který se mapuje na službu RDP na cílovém uzlu.

    Poznámka:

    Pokud používáte funkci BYOLB a chcete použít protokol RDP, musíte pro to nakonfigurovat fond PŘEKLADU adres samostatně. Tím se automaticky nevytvoří žádná pravidla překladu adres (NAT) pro tyto typy uzlů.

  4. Vzdáleně se připojte ke konkrétnímu uzlu (instance škálovací sady). Můžete použít uživatelské jméno a heslo, které jste nastavili při vytváření clusteru nebo jakékoli jiné přihlašovací údaje, které jste nakonfigurovali.

Následující snímek obrazovky ukazuje připojení ke vzdálené ploše pro připojení k uzlu aplikace (instance 0) v clusteru s Windows:

Připojení ke vzdálené ploše

Úprava výchozí konfigurace nástroje pro vyrovnávání zatížení

Porty nástroje pro vyrovnávání zatížení

Spravované clustery Service Fabric vytvoří pravidlo NSG ve výchozím rozsahu priority pro všechny porty nástroje pro vyrovnávání zatížení nakonfigurované v části LoadBalancingRules ve vlastnostech ManagedCluster . Toto pravidlo otevře porty nástroje pro vyrovnávání zatížení pro příchozí provoz z internetu.

Poznámka:

Toto pravidlo se přidá do volitelného rozsahu priority a dá se přepsat přidáním vlastních pravidel NSG.

{
    "name": "SFMC_AllowLoadBalancedPorts",
    "type": "Microsoft.Network/networkSecurityGroups/securityRules",
    "properties": {
        "description": "Optional rule to open LB ports",
        "protocol": "*",
        "sourcePortRange": "*",
        "sourceAddressPrefix": "*",
        "destinationAddressPrefix": "VirtualNetwork",
        "access": "Allow",
        "priority": 3003,
        "direction": "Inbound",
        "sourcePortRanges": [],
        "destinationPortRanges": [
        "80", "8080", "4343"
        ]
    }
}

Sondy nástroje pro vyrovnávání zatížení

Spravované clustery Service Fabric automaticky vytvoří sondy nástroje pro vyrovnávání zatížení pro porty brány infrastruktury a všechny porty nakonfigurované v loadBalancingRules části vlastností spravovaného clusteru.

{
  "value": [
    {
        "name": "FabricTcpGateway",
        "properties": {
            "provisioningState": "Succeeded",
            "protocol": "Tcp",
            "port": 19000,
            "intervalInSeconds": 5,
            "numberOfProbes": 2,
            "loadBalancingRules": [
                {
                    "id": "<>"
                }
            ]
        },
        "type": "Microsoft.Network/loadBalancers/probes"
    },
    {
        "name": "FabricHttpGateway",
        "properties": {
            "provisioningState": "Succeeded",
            "protocol": "Tcp",
            "port": 19080,
            "intervalInSeconds": 5,
            "numberOfProbes": 2,
            "loadBalancingRules": [
                {
                    "id": "<>"
                }
            ]
        },
        "type": "Microsoft.Network/loadBalancers/probes"
    },
    {
        "name": "probe1_tcp_8080",
        "properties": {
            "provisioningState": "Succeeded",
            "protocol": "Tcp",
            "port": 8080,
            "intervalInSeconds": 5,
            "numberOfProbes": 2,
            "loadBalancingRules": [
            {
                "id": "<>"
            }
        ]
      },
      "type": "Microsoft.Network/loadBalancers/probes"
    }
  ]
}

Povolení veřejné IP adresy

Poznámka:

V současné době se podporuje pouze veřejné IPv4.

Uzly spravovaného clusteru Service Fabric nevyžadují pro komunikaci vlastní veřejné IP adresy. Některé scénáře ale můžou vyžadovat, aby uzel měl vlastní veřejnou IP adresu pro komunikaci s internetem a veřejnými službami Azure. Příklad:

  • Hraní, kdy konzola potřebuje přímé připojení ke cloudovému virtuálnímu počítači, který provádí zpracování herní fyziky.
  • Virtuální počítače, které potřebují provádět externí připojení mezi sebou napříč oblastmi v distribuované databázi.

Další informace o odchozích připojeních v Azure najdete v tématu Principy odchozích připojení.

Veřejnou IP adresu je možné povolit jenom u sekundárních typů uzlů, protože primární typy uzlů jsou vyhrazené pro systémové služby Service Fabric. Postupujte podle kroků v části Používání vlastního nástroje pro vyrovnávání zatížení tohoto článku a vytvořte typ sekundárního uzlu pro spravovaný cluster.

Azure dynamicky přiřazuje dostupné IP adresy.

Poznámka:

Povolení veřejné IP adresy se podporuje jenom prostřednictvím šablony ARM.

Následující kroky popisují povolení veřejné IP adresy na vašem uzlu.

  1. Stáhněte si šablonu ARM.

  2. Pro každý typ uzlu v šabloně přidejte enableNodePublicIP do šablony ARM:

    {
        "name": "<secondary_node_type_name>", 
        "apiVersion": "2023-02-01-preview", 
        "properties": { 
            "isPrimary" : false, 
            "vmImageResourceId": "/subscriptions/<your_subscription_id>/resourceGroups/<your_resource_group>/providers/Microsoft.Compute/images/<your_custom_image>", 
            "vmSize": "Standard_D2", 
            "vmInstanceCount": 5, 
            "dataDiskSizeGB": 100, 
            "enableNodePublicIP": true 
        }
    } 
    
  3. Deloy šablony ARM.

  4. Spuštěním následujícího příkazu PowerShellu ověřte, že máte na uzlech veřejnou IP adresu:

    az vmss list-instance-public-ips -g MC_MyResourceGroup2_MyManagedCluster_eastus -n YourVirtualMachineScaleSetName
    

    Výstup příkazu ve formátu JSON.

    [
      {
        "etag": "etag_0",
        "id": "<id_0/name>",
        "idleTimeoutInMinutes": 15,
        "ipAddress": "<ip_address_0>",
        "ipConfiguration": {
          "id": "<configuration_id_0>",
          "resourceGroup": "<your_resource_group>"
        },
        "ipTags": [],
        "name": "<name>",
        "provisioningState": "Succeeded",
        "publicIPAddressVersion": "IPv4",
        "publicIPAllocationMethod": "Static",
        "resourceGroup": "<your_resource_group>",
        "resourceGuid": "resource_guid_0",
        "sku": {
          "name": "Standard"
        }
      },
      {
        "etag": "etag_1",
        "id": "/<id_1/name>",
        "idleTimeoutInMinutes": 15,
        "ipAddress": "<ip_address_1>",
        "ipConfiguration": {
          "id": "<configuration_id_1>",
          "resourceGroup": "<your_resource_group>"
        },
        "ipTags": [],
        "name": "<name>",
        "provisioningState": "Succeeded",
        "publicIPAddressVersion": "IPv4",
        "publicIPAllocationMethod": "Static",
        "resourceGroup": "<your_resource_group>",
        "resourceGuid": "resource_guid_1",
        "sku": {
          "name": "Standard"
        }
      },
      {
        "etag": "etag_2",
        "id": "<id_2/name>",
        "idleTimeoutInMinutes": 15,
        "ipAddress": "<ip_address_2>",
        "ipConfiguration": {
          "id": "<configuration_id_2>",
          "resourceGroup": "<your_resource_group>"
        },
        "ipTags": [],
        "name": "<name>",
        "provisioningState": "Succeeded",
        "publicIPAddressVersion": "IPv4",
        "publicIPAllocationMethod": "Static",
        "resourceGroup": "<your_resource_group>",
        "resourceGuid": "resource_guid_2",
        "sku": {
          "name": "Standard"
        }
      }
    ]
    

Povolení protokolu IPv6

Spravované clustery ve výchozím nastavení neumožňují protokol IPv6. Tato funkce povolí plnou funkci IPv4/IPv6 s duálním zásobníkem z front-endu Load Balanceru do back-endových prostředků. Všechny změny konfigurace nástroje pro vyrovnávání zatížení spravovaného clusteru nebo pravidel skupiny zabezpečení sítě ovlivní směrování IPv4 i IPv6.

Poznámka:

Toto nastavení není dostupné na portálu a po vytvoření clusteru ho nejde změnit.

  • Verze prostředku spravovaného clusteru Service Fabric by měla být verze 2022-01-01 nebo novější.
  1. Nastavte následující vlastnost pro prostředek spravovaného clusteru Service Fabric.

        "resources": [
             {
             "apiVersion": "[variables('sfApiVersion')]",
             "type": "Microsoft.ServiceFabric/managedclusters",
             ...
             "properties": {
                 "enableIpv6": true
                 },
             }
        ]
    
  2. Nasaďte spravovaný cluster s podporou protokolu IPv6. Přizpůsobte si ukázkovou šablonu podle potřeby nebo si vytvořte vlastní. V následujícím příkladu vytvoříme skupinu prostředků s názvem MyResourceGroup westus a nasadíme cluster s povolenou funkcí.

     New-AzResourceGroup -Name MyResourceGroup -Location westus
     New-AzResourceGroupDeployment -Name deployment -ResourceGroupName MyResourceGroup -TemplateFile AzureDeploy.json
    

    Po nasazení budou vaše clustery virtuální síť a prostředky se dvěma zásobníky. V důsledku toho bude mít front-endový nástroj pro vyrovnávání zatížení clusterů jedinečnou adresu DNS vytvořenou například mycluster-ipv6.southcentralus.cloudapp.azure.com k veřejné adrese IPv6 na azure Load Balanceru a privátních IPv6 adresách na virtuálních počítačích.

Používání vlastní virtuální sítě

Tato funkce umožňuje zákazníkům používat existující virtuální síť zadáním vyhrazené podsítě, do které bude spravovaný cluster nasazovat své prostředky. To může být užitečné, pokud už máte nakonfigurovanou virtuální síť a podsíť se souvisejícími zásadami zabezpečení a směrováním provozu, které chcete použít. Po nasazení do existující virtuální sítě je snadné použít nebo začlenit další síťové funkce, jako jsou Azure ExpressRoute, Azure VPN Gateway, skupina zabezpečení sítě a partnerský vztah virtuálních sítí. Kromě toho můžete v případě potřeby použít vlastní nástroj pro vyrovnávání zatížení Azure.

Poznámka:

Při použití byOVNET se prostředky spravovaného clusteru nasadí do jedné podsítě.

Poznámka:

Toto nastavení nelze po vytvoření clusteru změnit a spravovaný cluster přiřadí skupině zabezpečení sítě k poskytnuté podsíti. Nepřepsat přiřazení skupiny zabezpečení sítě nebo provoz může dojít k přerušení.

Přineste si vlastní virtuální síť:

  1. Získejte službu Id z vašeho předplatného pro aplikaci Service Fabric Resource Provider.

    Login-AzAccount
    Select-AzSubscription -SubscriptionId <SubId>
    Get-AzADServicePrincipal -DisplayName "Azure Service Fabric Resource Provider"
    

    Poznámka:

    Ujistěte se, že jste ve správném předplatném, ID objektu zabezpečení se změní, pokud je předplatné v jiném tenantovi.

    ServicePrincipalNames : {74cb6831-0dbb-4be1-8206-fd4df301cdc2}
    ApplicationId         : 74cb6831-0dbb-4be1-8206-fd4df301cdc2
    ObjectType            : ServicePrincipal
    DisplayName           : Azure Service Fabric Resource Provider
    Id                    : 00000000-0000-0000-0000-000000000000
    

    Poznamenejte si ID předchozího výstupu jako principalId pro použití v pozdějším kroku.

    Název definice role ID definice role
    Přispěvatel sítě 4d97b98b-1d4f-4787-a291-c67834d212e7

    Role definition name Poznamenejte si hodnoty vlastností Role definition ID pro použití v pozdějším kroku.

  2. Přidejte přiřazení role do aplikace Poskytovatele prostředků Service Fabric. Přidání přiřazení role je jednorázová akce. Roli přidáte spuštěním následujících příkazů PowerShellu nebo konfigurací šablony Azure Resource Manageru (ARM), jak je podrobně popsáno níže.

    V následujících krocích začneme s existující virtuální sítí s názvem ExistingRG-vnet ve skupině prostředků ExistingRG. Podsíť má výchozí název.

    Získejte požadované informace z existující virtuální sítě.

    Login-AzAccount
    Select-AzSubscription -SubscriptionId <SubId>
    Get-AzVirtualNetwork -Name ExistingRG-vnet -ResourceGroupName ExistingRG
    

    Poznamenejte si následující název podsítě a Id hodnotu vlastnosti vrácenou z oddílu Subnets v odpovědi, kterou použijete v pozdějších krocích.

    Subnets:[
    {
    ...
    "Id": "/subscriptions/<subscriptionId>/resourceGroups/Existing-RG/providers/Microsoft.Network/virtualNetworks/ExistingRG-vnet/subnets/default"
    }]
    

    Spusťte následující příkaz PowerShellu s použitím ID objektu zabezpečení, názvu definice role z kroku 2 a oboru Id přiřazení získaného výše:

    New-AzRoleAssignment -PrincipalId 00000000-0000-0000-0000-000000000000 -RoleDefinitionName "Network Contributor" -Scope "/subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.Network/virtualNetworks/<vnetName>/subnets/<subnetName>"
    

    Nebo můžete přiřazení role přidat pomocí šablony Azure Resource Manageru (ARM) nakonfigurované se správnými hodnotami pro principalId, roleDefinitionId, vnetNamea subnetName:

       "type": "Microsoft.Authorization/roleAssignments",
       "apiVersion": "2020-04-01-preview",
       "name": "[parameters('VNetRoleAssignmentID')]",
       "scope": "[concat('Microsoft.Network/virtualNetworks/', parameters('vnetName'), '/subnets/', parameters('subnetName'))]",
       "dependsOn": [
         "[concat('Microsoft.Network/virtualNetworks/', parameters('vnetName'))]"
       ],
       "properties": {
         "roleDefinitionId": "[concat('/subscriptions/', subscription().subscriptionId, '/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7')]",
         "principalId": "00000000-0000-0000-0000-000000000000"
       }
    

    Poznámka:

    VNetRoleAssignmentID musí být identifikátor GUID. Pokud šablonu nasadíte znovu, včetně tohoto přiřazení role, ujistěte se, že identifikátor GUID je stejný jako identifikátor GUID, který byl původně použit. Doporučujeme spustit tento izolovaný nebo odebrat tento prostředek ze šablony clusteru po nasazení, protože je potřeba ho vytvořit jen jednou.

    Tady je úplná ukázková šablona Azure Resource Manageru (ARM), která vytvoří podsíť virtuální sítě a provede přiřazení rolí, které můžete použít pro tento krok.

  3. subnetId Po nastavení role nakonfigurujte vlastnost pro nasazení clusteru, jak je znázorněno níže:

  • Verze prostředku spravovaného clusteru Service Fabric by měla být verze 2022-01-01 nebo novější.

      "resources": [
          {
              "apiVersion": "[variables('sfApiVersion')]",
              "type": "Microsoft.ServiceFabric/managedclusters",
              ...
              },
              "properties": {
                  "subnetId": "subnetId",
              ...
              }
      ]
    

    Podívejte se na ukázkovou šablonu přineste si vlastní cluster virtuální sítě nebo si přizpůsobte vlastní.

  1. Nasaďte nakonfigurovanou šablonu Azure Resource Manageru (ARM) spravovaného clusteru.

    V následujícím příkladu vytvoříme skupinu prostředků s názvem MyResourceGroup westus a nasadíme cluster s povolenou funkcí.

     New-AzResourceGroup -Name MyResourceGroup -Location westus
     New-AzResourceGroupDeployment -Name deployment -ResourceGroupName MyResourceGroup -TemplateFile AzureDeploy.json
    

    Při použití vlastní podsítě virtuální sítě se veřejný koncový bod stále vytvoří a spravuje poskytovatelem prostředků, ale v nakonfigurované podsíti. Tato funkce neumožňuje zadat veřejnou IP adresu nebo znovu použít statickou IP adresu v Azure Load Balanceru. S touto funkcí nebo sama o sobě můžete využít vlastní službu Azure Load Balancer , pokud potřebujete tyto nebo jiné scénáře nástroje pro vyrovnávání zatížení, které nejsou nativně podporované.

Používání vlastního Nástroje pro vyrovnávání zatížení Azure

Spravované clustery vytvářejí veřejný Load Balancer úrovně Azure Standard a plně kvalifikovaný název domény se statickou veřejnou IP adresou pro primární i sekundární typy uzlů. Použití vlastního nástroje pro vyrovnávání zatížení umožňuje použít existující Azure Load Balancer pro typy sekundárních uzlů pro příchozí i odchozí provoz. Při používání vlastního Nástroje pro vyrovnávání zatížení Azure můžete:

  • Použití předem nakonfigurované statické IP adresy Load Balanceru pro privátní nebo veřejný provoz
  • Mapování Load Balanceru na konkrétní typ uzlu
  • Konfigurace pravidel skupin zabezpečení sítě na typ uzlu, protože každý typ uzlu je nasazený ve vlastní podsíti
  • Udržování existujících zásad a ovládacích prvků, které můžete mít na místě
  • Konfigurace interního nástroje pro vyrovnávání zatížení a použití výchozího nástroje pro vyrovnávání zatížení pro externí provoz

Poznámka:

Při použití byOVNET se spravované prostředky clusteru nasadí do jedné podsítě s jednou skupinou zabezpečení sítě bez ohledu na další nakonfigurované nástroje pro vyrovnávání zatížení.

Poznámka:

Po nasazení typu uzlu nemůžete přepnout z výchozího nástroje pro vyrovnávání zatížení na vlastní, ale pokud je tato možnost povolená, můžete upravit vlastní konfiguraci nástroje pro vyrovnávání zatížení.

Požadavky na funkce

  • Podporují se typy SKU Basic a Standard Azure Load Balancer.
  • V Azure Load Balanceru musíte mít nakonfigurované back-endové fondy a fondy NAT.
  • Odchozí připojení musíte povolit buď pomocí poskytnutého veřejného nástroje pro vyrovnávání zatížení, nebo výchozího veřejného nástroje pro vyrovnávání zatížení.

Tady je několik ukázkových scénářů, pro které můžou zákazníci použít následující:

V tomto příkladu chce zákazník směrovat provoz přes existující azure Load Balancer nakonfigurovaný s existující statickou IP adresou na dva typy uzlů.

Použití vlastního Load Balanceru – příklad 1

V tomto příkladu chce zákazník směrovat provoz přes stávající nástroje Azure Load Balancers, aby jim pomohl spravovat tok provozu do svých aplikací nezávisle na tom, které žijí na samostatných typech uzlů. Při nastavování podobného příkladu bude každý typ uzlu za vlastní spravovanou skupinou zabezpečení sítě.

Použití vlastního Load Balanceru – příklad 2

V tomto příkladu chce zákazník směrovat provoz přes stávající interní nástroje pro vyrovnávání zatížení Azure. To jim pomáhá spravovat tok provozu do svých aplikací nezávisle na tom, které žijí na samostatných typech uzlů. Když nastavíte podobný příklad, každý typ uzlu bude za vlastní spravovanou skupinou zabezpečení sítě a použije výchozí nástroj pro vyrovnávání zatížení pro externí provoz.

Použití vlastního Load Balanceru – příklad 3

Konfigurace s vlastním nástrojem pro vyrovnávání zatížení:

  1. Získejte službu Id z vašeho předplatného pro aplikaci Service Fabric Resource Provider:

    Login-AzAccount
    Select-AzSubscription -SubscriptionId <SubId>
    Get-AzADServicePrincipal -DisplayName "Azure Service Fabric Resource Provider"
    

    Poznámka:

    Ujistěte se, že jste ve správném předplatném, ID objektu zabezpečení se změní, pokud je předplatné v jiném tenantovi.

    ServicePrincipalNames : {74cb6831-0dbb-4be1-8206-fd4df301cdc2}
    ApplicationId         : 74cb6831-0dbb-4be1-8206-fd4df301cdc2
    ObjectType            : ServicePrincipal
    DisplayName           : Azure Service Fabric Resource Provider
    Id                    : 00000000-0000-0000-0000-000000000000
    

    Poznamenejte si ID předchozího výstupu jako principalId pro použití v pozdějším kroku.

    Název definice role ID definice role
    Přispěvatel sítě 4d97b98b-1d4f-4787-a291-c67834d212e7

    Role definition name Poznamenejte si hodnoty vlastností Role definition ID pro použití v pozdějším kroku.

  2. Přidejte přiřazení role do aplikace Poskytovatele prostředků Service Fabric. Přidání přiřazení role je jednorázová akce. Roli přidáte spuštěním následujících příkazů PowerShellu nebo konfigurací šablony Azure Resource Manageru (ARM), jak je podrobně popsáno níže.

    V následujících krocích začneme s existujícím nástrojem pro vyrovnávání zatížení s názvem Existing-LoadBalancer1 ve skupině prostředků Existing-RG.

    Získejte požadované Id informace o vlastnosti z existujícího Nástroje pro vyrovnávání zatížení Azure.

    Login-AzAccount
    Select-AzSubscription -SubscriptionId <SubId>
    Get-AzLoadBalancer -Name "Existing-LoadBalancer1" -ResourceGroupName "Existing-RG"
    

    Všimněte si následujících Id možností, které použijete v dalším kroku:

    {
    ...
    "Id": "/subscriptions/<subscriptionId>/resourceGroups/Existing-RG/providers/Microsoft.Network/loadBalancers/Existing-LoadBalancer1"
    }
    

    Spusťte následující příkaz PowerShellu s použitím ID objektu zabezpečení, názvu definice role z kroku 2 a oboru Id přiřazení, který jste právě získali:

    New-AzRoleAssignment -PrincipalId 00000000-0000-0000-0000-000000000000 -RoleDefinitionName "Network Contributor" -Scope "/subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.Network/loadBalancers/<LoadBalancerName>"
    

    Nebo můžete přiřazení role přidat pomocí šablony Azure Resource Manageru (ARM) nakonfigurované se správnými hodnotami pro principalId: roleDefinitionId

       "type": "Microsoft.Authorization/roleAssignments",
       "apiVersion": "2020-04-01-preview",
       "name": "[parameters('loadBalancerRoleAssignmentID')]",
       "scope": "[concat('Microsoft.Network/loadBalancers/', variables('lbName'))]",
       "dependsOn": [
         "[concat('Microsoft.Network/loadBalancers/', variables('lbName'))]"
       ],
       "properties": {
         "roleDefinitionId": "[concat('/subscriptions/', subscription().subscriptionId, '/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7')]",
         "principalId": "00000000-0000-0000-0000-000000000000"
       }
    

    Poznámka:

    loadBalancerRoleAssignmentID musí být identifikátor GUID. Pokud šablonu nasadíte znovu, včetně tohoto přiřazení role, ujistěte se, že identifikátor GUID je stejný jako identifikátor GUID, který byl původně použit. Doporučujeme spustit tento izolovaný nebo odebrat tento prostředek ze šablony clusteru po nasazení, protože je potřeba ho vytvořit jen jednou.

    Podívejte se na tuto ukázkovou šablonu pro vytvoření veřejného nástroje pro vyrovnávání zatížení a přiřazení role.

  3. Nakonfigurujte požadované odchozí připojení pro typ uzlu. Musíte nakonfigurovat veřejný nástroj pro vyrovnávání zatížení tak, aby poskytoval odchozí připojení nebo používal výchozí veřejný nástroj pro vyrovnávání zatížení.

    Konfigurace outboundRules konfigurace veřejného nástroje pro vyrovnávání zatížení tak, aby poskytovala odchozí připojení, podívejte se na vytvoření nástroje pro vyrovnávání zatížení a přiřazení ukázkové šablony Azure Resource Manageru (ARM).

    NEBO

    Pokud chcete nakonfigurovat typ uzlu tak, aby používal výchozí nástroj pro vyrovnávání zatížení, nastavte v šabloně následující:

    • Verze prostředku spravovaného clusteru Service Fabric by měla být verze 2022-01-01 nebo novější.
     "resources": [
       {
       "apiVersion": "[variables('sfApiVersion')]",
       "type": "Microsoft.ServiceFabric/managedclusters/nodetypes",
       "properties": {
           "isPrimary": false,
           "useDefaultPublicLoadBalancer": true
           }
       }
     ]
    
  4. Volitelně můžete nakonfigurovat port příchozí aplikace a související sondu ve vašem stávajícím Nástroji pro vyrovnávání zatížení Azure. Příklad najdete v ukázkové šabloně Azure Resource Manageru (ARM) s využitím vlastního nástroje pro vyrovnávání zatížení.

  5. Volitelně můžete nakonfigurovat pravidla NSG spravovaného clusteru použitá na typ uzlu, aby se zablokoval veškerý požadovaný provoz nakonfigurovaný v Azure Load Balanceru nebo provozu. Příklad konfigurace příchozích pravidel NSG najdete v ukázkové šabloně Azure Resource Manageru (ARM) s využitím vlastního nástroje pro vyrovnávání zatížení. V šabloně vyhledejte networkSecurityRules vlastnost.

  6. Nasazení nakonfigurované šablony ARM spravovaného clusteru pro tento krok použijeme ukázkovou šablonu Nástroje pro vyrovnávání zatížení Azure Resource Manageru (ARM).

    Následující příkaz vytvoří skupinu prostředků volanou volanou MyResourceGroup westus a nasadí cluster pomocí existujícího nástroje pro vyrovnávání zatížení.

     New-AzResourceGroup -Name MyResourceGroup -Location westus
     New-AzResourceGroupDeployment -Name deployment -ResourceGroupName MyResourceGroup -TemplateFile AzureDeploy.json
    

    Po nasazení je sekundární typ uzlu nakonfigurovaný tak, aby pro příchozí a odchozí provoz používal zadaný nástroj pro vyrovnávání zatížení. Připojení klienta Service Fabric a koncové body brány budou stále odkazovat na veřejnou DNS primárního uzlu spravovaného clusteru typu statické IP adresy.

Povolení akcelerovaných síťových služeb

Akcelerované síťové služby umožňují virtualizaci rozhraní SR-IOV (Single Root I/O Virtualization) virtuálnímu počítači škálovací sady virtuálních počítačů, který je základním prostředkem pro typy uzlů. Tato vysoce výkonná cesta obchází hostitele z cesty k datům, což snižuje latenci, zpoždění a využití procesoru u nejnáročnějších síťových úloh. Typy uzlů spravovaného clusteru Service Fabric je možné zřídit s akcelerovanými síťovými službami na podporovaných skladových posílaných virtuálních počítačích. Další důležité informace najdete v těchto omezeních a omezeních .

  • Upozorňujeme, že akcelerované síťové služby se podporují u většiny obecných a výpočetních instancí s 2 nebo více virtuálními procesory. U instancí, které podporují hyperthreading, se akcelerované síťové služby podporují u instancí virtuálních počítačů se 4 nebo více virtuálními procesory.

Povolte akcelerované síťové služby deklarací enableAcceleratedNetworking vlastnosti v šabloně Resource Manageru následujícím způsobem:

  • Verze prostředku spravovaného clusteru Service Fabric by měla být verze 2022-01-01 nebo novější.
   {
   "apiVersion": "[variables('sfApiVersion')]",
   "type": "Microsoft.ServiceFabric/managedclusters/nodetypes",
   ...
   "properties": {
       ...
       "enableAcceleratedNetworking": true,
       ...
   }

Pokud chcete povolit akcelerované síťové služby v existujícím clusteru Service Fabric, musíte nejprve škálovat cluster Service Fabric tak, že přidáte nový typ uzlu a provedete následující akce:

  1. Zřízení typu uzlu s povolenými akcelerovanými síťovými službami
  2. Migrace služeb a jejich stavu na typ zřízeného uzlu s povolenými akcelerovanými síťovými službami

Aby bylo možné povolit akcelerované síťové služby v existujícím clusteru, vyžaduje horizontální navýšení kapacity infrastruktury, protože povolení akcelerovaných síťových služeb by způsobilo výpadky, protože před povolením akcelerovaných síťových adaptérů musí být všechny virtuální počítače ve skupině dostupnosti zastaveny a uvolněny.

Konfigurace pomocných podsítí

Pomocné podsítě poskytují možnost vytvářet další spravované podsítě bez typu uzlu pro podpůrné scénáře, jako jsou služba Private Link a hostitelé bastionu.

Nakonfigurujte pomocné podsítě deklarováním auxiliarySubnets vlastnosti a požadovaných parametrů v šabloně Resource Manageru následujícím způsobem:

  • Verze prostředku spravovaného clusteru Service Fabric by měla být verze 2022-01-01 nebo novější.
    "resources": [
        {
            "apiVersion": "[variables('sfApiVersion')]",
            "type": "Microsoft.ServiceFabric/managedclusters",
              "properties": {
                "auxiliarySubnets": [
                  {
                  "name" : "mysubnet",
                  "enableIpv6" : "true"
                  }
                ]
              }
        }
    ]              

Zobrazit úplný seznam dostupných parametrů

Další kroky

Přehled možnostíkonfigurace spravovaného clusteru Service Fabric pro spravované clustery Service Fabric