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 Balancer s veřejnou IP adresou, virtuální sítě s jednou přidělenou podsítí a skupiny zabezpečení sítě nakonfigurované pro základní funkce clusteru. K dispozici jsou také volitelná pravidla NSG, například povolení veškerého odchozího provozu ve výchozím nastavení, která mají zákazníkům usnadnit konfiguraci. Tento dokument vás provede úpravou následujících možností konfigurace sítě a dalších možností:

Správa pravidel skupiny zabezpečení sítě

Pokyny k pravidlům NSG

Mějte na paměti tyto aspekty při vytváření nových pravidel skupiny zabezpečení sítě pro spravovaný cluster.

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

Použití pravidel skupiny zabezpečení sítě

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

Pomocí vlastnosti networkSecurityRules prostředku Microsoft.ServiceFabric/managedclusters (verze 2021-05-01 nebo novější) přiřaďte pravidla skupiny zabezpečení sítě. 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 clusteru clientConnectionPort 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 získat přístup k SFX, připojit se ke clusteru pomocí PowerShellu a používat koncové body rozhraní API clusteru Service Fabric z internetu otevřením portů LB 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 můžete otevřít z internetu nastavením následující vlastnosti u 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 vytvářejí příchozí pravidla NAT pro každou instanci typu uzlu. Mapování portů pro přístup ke konkrétním instancím (uzlům clusteru) najdete takto:

Pomocí Azure Portal vyhledejte pravidla příchozího překladu adres (NAT) spravovaného clusteru pro protokol RDP (Remote Desktop Protocol).

  1. V rámci vašeho předplatného přejděte do skupiny prostředků spravovaného clusteru s názvem v následujícím formátu: SFC_{ID_clusteru}

  2. Vyberte nástroj pro vyrovnávání zatížení pro cluster v následujícím formátu: 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. Zkontrolujte pravidla příchozího překladu adres (NAT) a potvrďte mapování příchozího front-endového portu na cílový port pro uzel.

    Následující snímek obrazovky ukazuje příchozí pravidla PŘEKLADU ADRES pro tři různé typy uzlů:

    Příchozí pravidla NAT

    Ve výchozím nastavení je front-endový port pro clustery s Windows 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 protokol RDP, musíte fond překladu adres nakonfigurovat samostatně. Tím se pro tyto typy uzlů automaticky nevytvoří žádná pravidla překladu adres (NAT).

  4. Vzdáleně se připojte ke konkrétnímu uzlu (instanci š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í k uzlu aplikací (Instance 0) v clusteru s Windows pomocí Připojení ke vzdálené ploše:

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í (LB) 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 vytvářejí sondy nástroje pro vyrovnávání zatížení pro porty brány Fabric 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"
    }
  ]
}

Povolit veřejnou IP adresu

Poznámka

V současné době se podporuje jenom veřejný protokol IPv4.

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

  • Hraní her, kdy konzola potřebuje vytvořit přímé připojení ke cloudovému virtuálnímu počítači, který zpracovává fyziku her.
  • Virtuální počítače, které mezi sebou potřebují navazovat externí připojení napříč oblastmi distribuované databáze.

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í v tomto článku a vytvořte sekundární typ 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 your ARM template.

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

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

    Výstup příkazu je 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í protokol IPv6 nepovolují. Tato funkce umožní plnou duální funkci IPv4/IPv6 z front-endu Load Balancer k back-endovým prostředkům. Všechny změny, které provedete v konfiguraci nástroje pro vyrovnávání zatížení spravovaného clusteru nebo v pravidlech NSG, ovlivní směrování IPv4 i IPv6.

Poznámka

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

  • Verze api prostředků spravovaného clusteru Service Fabric by měla být 2022-01-01 nebo novější.
  1. U prostředku spravovaného clusteru Service Fabric nastavte následující vlastnost.

        "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 a westus nasadíme cluster s povolenou touto funkcí.

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

    Po nasazení budou virtuální sítě a prostředky clusterů duální. V důsledku toho bude mít front-endový nástroj pro vyrovnávání zatížení clusterů vytvořenou jedinečnou adresu DNS, mycluster-ipv6.southcentralus.cloudapp.azure.com která je přidružená k veřejné adrese IPv6 na Azure Load Balancer 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ě můžete snadno používat 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í. V případě potřeby si navíc můžete přinést vlastní Nástroj pro vyrovnávání zatížení Azure .

Poznámka

Při použití funkce BYOVNET se prostředky spravovaného clusteru nasadí v jedné podsíti.

Poznámka

Toto nastavení se nedá po vytvoření clusteru změnit a spravovaný cluster přiřadí k zadané podsíti skupinu zabezpečení sítě. Nepřepište přiřazení skupiny zabezpečení sítě nebo může dojít k přerušení provozu.

Vytvoření vlastní virtuální sítě:

  1. Získejte službu Id z vašeho předplatného pro aplikaci Poskytovatele prostředků Service Fabric.

    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

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

  2. Přidejte přiřazení role do aplikace Service Fabric Resource Provider. 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 Manager (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á název default.

    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
    

    Všimněte si následující hodnoty názvu a Id vlastnosti podsítě, která se vrátí z Subnets části 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řidat přiřazení role pomocí šablony Azure Resource Manager (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 původně použitý identifikátor GUID. Doporučujeme spustit tento izolovaný nebo odebrat tento prostředek ze šablony clusteru po nasazení, protože je potřeba ho vytvořit jenom jednou.

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

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

  • Verze apiVersion prostředku spravovaného clusteru Service Fabric by měla být 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 spravovaného clusteru Azure Resource Manager (ARM).

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

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

    Když použijete vlastní podsíť virtuální sítě, veřejný koncový bod stále vytváří a spravuje poskytovatel prostředků, ale v nakonfigurované podsíti. Funkce neumožňuje zadat veřejnou IP adresu nebo znovu použít statickou IP adresu na Azure Load Balancer. Vlastní Azure Load Balancer můžete použít v souladu s touto funkcí nebo samostatně, pokud potřebujete ty nebo jiné scénáře nástroje pro vyrovnávání zatížení, které nejsou nativně podporované.

Přineste si vlastní Azure Load Balancer

Spravované clustery vytvoří veřejný Standard Load Balancer Azure a plně kvalifikovaný název domény se statickou veřejnou IP adresou pro primární i sekundární typ uzlu. 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. Když si přivezete vlastní Azure Load Balancer, můžete:

  • Použití předkonfigurované Load Balancer statické IP adresy pro privátní nebo veřejný provoz
  • Mapování Load Balancer na konkrétní typ uzlu
  • Nakonfigurujte pravidla skupiny zabezpečení sítě pro jednotlivé typy uzlů, 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 použít
  • 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í funkce BYOVNET se prostředky spravovaného 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í nástroj, ale můžete upravit konfiguraci vlastního nástroje pro vyrovnávání zatížení po nasazení, pokud je povolená.

Požadavky na funkce

  • Podporují se typy Azure Load Balancer skladové položky Basic a Standard.
  • Na Azure Load Balancer 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 pomocí výchozího veřejného nástroje pro vyrovnávání zatížení.

Tady je několik příkladů scénářů, které můžou zákazníci použít pro:

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

Přineste si vlastní Load Balancer příklad 1

V tomto příkladu chce zákazník směrovat provoz přes stávající azure Load Balancery, aby mu pomohl spravovat tok provozu do svých aplikací nezávisle na samostatných typech uzlů. Při nastavení jako v tomto příkladu bude každý typ uzlu za vlastní spravovanou skupinou zabezpečení sítě.

Přineste si vlastní Load Balancer příklad 2

V tomto příkladu chce zákazník směrovat provoz prostřednictvím stávajících interních azure Load Balancerů. To jim pomáhá spravovat tok provozu do aplikací nezávisle na samostatných typech uzlů. Při nastavení jako v tomto příkladu bude každý typ uzlu za vlastní spravovanou skupinou zabezpečení sítě a pro externí provoz se použije výchozí nástroj pro vyrovnávání zatížení.

Přineste si vlastní Load Balancer příklad 3

Konfigurace pomocí vlastního nástroje pro vyrovnávání zatížení:

  1. Získejte službu Id z vašeho předplatného pro aplikaci Poskytovatele prostředků Service Fabric:

    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

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

  2. Přidejte přiřazení role do aplikace Service Fabric Resource Provider. 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 Manager (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 Azure Load Balancer.

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

    Všimněte si následujících možností Id , 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 Manager (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 původně použitý identifikátor GUID. Doporučujeme spustit tento izolovaný nebo odebrat tento prostředek ze šablony clusteru po nasazení, protože je potřeba ho vytvořit jenom jednou.

    Pokud chcete vytvořit veřejný nástroj pro vyrovnávání zatížení a přiřadit roli, podívejte se na tuto ukázkovou šablonu.

  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žít 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í pro poskytování odchozích připojení Viz vytvoření nástroje pro vyrovnávání zatížení a přiřazení ukázkové šablony role Azure Resource Manager (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 apiVersion prostředku spravovaného clusteru Service Fabric by měla být 2022-01-01 nebo novější.
     "resources": [
       {
       "apiVersion": "[variables('sfApiVersion')]",
       "type": "Microsoft.ServiceFabric/managedclusters/nodetypes",
       "properties": {
           "isPrimary": false,
           "useDefaultPublicLoadBalancer": true
           }
       }
     ]
    
  4. Volitelně můžete na stávajícím Azure Load Balancer nakonfigurovat port příchozí aplikace a související sondu. Příklad najdete v ukázkové šabloně Azure Resource Manager (ARM) s použitím vlastního nástroje pro vyrovnávání zatížení.

  5. Volitelně můžete nakonfigurovat pravidla skupiny zabezpečení sítě spravovaného clusteru použitá na typ uzlu tak, aby umožňovala všechny požadované přenosy, které jste nakonfigurovali na Azure Load Balancer, nebo se provoz zablokuje. Ukázkovou konfiguraci příchozích pravidel NSG najdete v ukázkové šabloně Azure Resource Manager (ARM) pro přineste si vlastní nástroj pro vyrovnávání zatížení. V šabloně vyhledejte networkSecurityRules vlastnost .

  6. Nasazení nakonfigurované šablony ARM spravovaného clusteru. V tomto kroku použijeme ukázkovou šablonu Přineste si vlastní nástroj pro vyrovnávání zatížení Azure Resource Manager (ARM).

    Následující postup vytvoří skupinu MyResourceGroup prostředků v 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 typ sekundárního 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 i nadále odkazovat na veřejnou IP adresu DNS primárního uzlu spravovaného clusteru.

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

Akcelerované síťové služby umožňují rozhraní SR-IOV (Single-Root I/O Virtualization) na virtuální počítač š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 pomcích virtuálních počítačů. Další důležité informace najdete v těchto omezeních a omezeních .

  • Upozorňujeme, že akcelerované síťové služby se podporují ve většině velikostí instancí pro obecné účely a optimalizovaných pro výpočty se 2 nebo více virtuálními procesory. U instancí, které podporují hyperthreading, se akcelerované síťové služby podporují na instancích virtuálních počítačů se 4 nebo více virtuálními procesory.

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

  • Verze api prostředků spravovaného clusteru Service Fabric by měla být 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 přidáním nového typu uzlu a provést následující:

  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

Škálování infrastruktury na více systémů se vyžaduje k povolení akcelerovaných síťových služeb v existujícím clusteru, protože povolení akcelerovaných síťových služeb by způsobilo výpadek, protože vyžaduje zastavení a uvolnění všech virtuálních počítačů ve skupině dostupnosti před povolením akcelerovaných síťových služeb na jakékoli existující síťové kartě.

Konfigurace pomocných podsítí

Pomocné podsítě umožňují vytvářet další spravované podsítě bez typu uzlu pro podpůrné scénáře, jako jsou Private Link Service a Hostitelé Bastion.

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

  • Verze api prostředků spravovaného clusteru Service Fabric by měla být 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

Možnosti konfigurace spravovaného clusteru Service Fabricpřehled spravovaných clusterů Service Fabric