Aracılığıyla paylaş


Service Fabric yönetilen kümeleri için ağ ayarlarını yapılandırma

Service Fabric yönetilen kümeleri varsayılan ağ yapılandırmasıyla oluşturulur. Bu yapılandırma genel ip'ye sahip bir Azure Load Balancer , bir alt ağ ayrılmış bir sanal ağ ve temel küme işlevselliği için yapılandırılmış bir NSG'yi içerir. Müşteri yapılandırmasını kolaylaştırmaya yönelik tüm giden trafiğe varsayılan olarak izin verme gibi isteğe bağlı NSG kuralları da uygulanır. Bu belge, aşağıdaki ağ yapılandırma seçeneklerinin ve daha fazlasının nasıl değiştirileceği konusunda yol gösterir:

NSG kurallarını yönetme

NSG kuralları kılavuzu

Yönetilen kümeniz için yeni NSG kuralları oluştururken dikkat edilmesi gereken noktalara dikkat edin.

  • Service Fabric yönetilen kümeleri, temel işlevler için 0 ile 999 arasında NSG kuralı öncelik aralığını ayırır. Öncelik değeri 1000'den az olan özel NSG kuralları oluşturamazsınız.
  • Service Fabric yönetilen kümeleri, isteğe bağlı NSG kuralları oluşturmak için 3001 ile 4000 arasında öncelik aralığını ayırır. Yapılandırmaları hızlı ve kolay hale getirmek için bu kurallar otomatik olarak eklenir. Öncelik aralığı 1000 ile 3000 arasında özel NSG kuralları ekleyerek bu kuralları geçersiz kılabilirsiniz.
  • Özel NSG kurallarının önceliği 1000 ile 3000 arasında olmalıdır.

NSG kurallarını uygulama

Service Fabric yönetilen kümeleri, NSG kurallarını doğrudan dağıtım şablonunuzun küme kaynağı içinde atamanızı sağlar.

NSG kuralları atamak için Microsoft.ServiceFabric/managedclusters kaynağınızın networkSecurityRules 2021-05-01 özelliğini kullanın. Örneğin:

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

ClientConnection ve HttpGatewayConnection varsayılan ve isteğe bağlı kurallar

NSG kuralı: SFMC_AllowServiceFabricGatewayToSFRP

Service Fabric kaynak sağlayıcısının kümenin clientConnectionPort ve httpGatewayConnectionPort'a erişmesine izin vermek için varsayılan bir NSG kuralı eklenir. Bu kural, 'ServiceFabric' hizmet etiketi aracılığıyla bağlantı noktalarına erişime izin verir.

Not

Bu kural her zaman eklenir ve geçersiz kılınamaz.

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

NSG kuralı: SFMC_AllowServiceFabricGatewayPorts

Bu isteğe bağlı kural müşterilerin SFX'e erişmesini, PowerShell kullanarak kümeye bağlanmasını ve clientConnectionPort ve httpGatewayPort için LB bağlantı noktalarını açarak İnternet'ten Service Fabric küme API'sinin uç noktalarını kullanmasını sağlar.

Not

Aynı bağlantı noktası için aynı erişim, yön ve protokol değerlerine sahip özel bir kural varsa bu kural eklenmez. Bu kuralı özel NSG kurallarıyla geçersiz kılabilirsiniz.

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

İnternet'ten RDP bağlantı noktalarına erişimi etkinleştirme

Service Fabric yönetilen kümeleri varsayılan olarak İnternet'ten RDP bağlantı noktalarına gelen erişimi etkinleştirmez. Service Fabric yönetilen küme kaynağında aşağıdaki özelliği ayarlayarak İnternet'ten RDP bağlantı noktalarına gelen erişimi açabilirsiniz.

"allowRDPAccess": true

allowRDPAccess özelliği true olarak ayarlandığında, küme dağıtımınıza aşağıdaki NSG kuralı eklenir.

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

Service Fabric yönetilen kümeleri, düğüm türündeki her örnek için otomatik olarak gelen NAT kuralları oluşturur. Belirli örneklere (küme düğümleri) ulaşmak için bağlantı noktası eşlemelerini bulmak için aşağıdaki adımları izleyin:

Azure portalını kullanarak Uzak Masaüstü Protokolü (RDP) için oluşturulan yönetilen küme gelen NAT kurallarını bulun.

  1. Aboneliğinizin içindeki yönetilen küme kaynak grubuna şu biçimde gidin: SFC_{cluster-id}

  2. Kümenin yük dengeleyicisini şu biçimde seçin: LB-{cluster-name}

  3. Yük dengeleyicinizin sayfasında Gelen NAT kuralları'nı seçin. Bir düğüm için hedef bağlantı noktası eşlemesine gelen Ön uç bağlantı noktasını onaylamak için gelen NAT kurallarını gözden geçirin.

    Aşağıdaki ekran görüntüsünde üç farklı düğüm türü için gelen NAT kuralları gösterilmektedir:

    Gelen Nat Kuralları

    Varsayılan olarak, Windows kümeleri için Ön Uç Bağlantı Noktası 50000 ve üzeri aralıktadır ve hedef bağlantı noktası hedef düğümdeki RDP hizmetine eşlenen 3389 numaralı bağlantı noktasıdır.

    Not

    BYOLB özelliğini kullanıyorsanız ve RDP istiyorsanız, bunu yapmak için bir NAT havuzunu ayrı olarak yapılandırmanız gerekir. Bu, bu düğüm türleri için otomatik olarak herhangi bir NAT kuralı oluşturmaz.

  4. Belirli bir düğüme (ölçek kümesi örneği) uzaktan bağlanın. Kümeyi oluştururken ayarladığınız kullanıcı adını ve parolayı veya yapılandırdığınız diğer kimlik bilgilerini kullanabilirsiniz.

Aşağıdaki ekran görüntüsünde, Bir Windows kümesindeki uygulamalar (Örnek 0) düğümüne bağlanmak için Uzak Masaüstü Bağlantısı'nı kullanma gösterilmektedir:

Uzak Masaüstü Bağlantısı

Varsayılan Yük dengeleyici yapılandırmasını değiştirme

Yük dengeleyici bağlantı noktaları

Service Fabric yönetilen kümeleri, ManagedCluster özellikleri altındaki "loadBalancingRules" bölümünde yapılandırılan tüm yük dengeleyici (LB) bağlantı noktaları için varsayılan öncelik aralığında bir NSG kuralı oluşturur. Bu kural, İnternet'ten gelen trafik için LB bağlantı noktalarını açar.

Not

Bu kural isteğe bağlı öncelik aralığına eklenir ve özel NSG kuralları eklenerek geçersiz kılınabilir.

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

Yük dengeleyici yoklamaları

Service Fabric yönetilen kümeleri, doku ağ geçidi bağlantı noktaları ve yönetilen küme özellikleri bölümünde yapılandırılan loadBalancingRules tüm bağlantı noktaları için otomatik olarak yük dengeleyici yoklamaları oluşturur.

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

Genel IP'yi etkinleştirme

Not

Şu anda yalnızca genel IPv4 desteklenmektedir.

Service Fabric yönetilen küme düğümleri, iletişim için kendi genel IP adreslerini gerektirmez. Ancak bazı senaryolar, bir düğümün İnternet ve genel kullanıma yönelik Azure hizmetleriyle iletişim kurmak için kendi genel IP adresine sahip olmasını gerektirebilir. Örneğin:

  • Bir konsolun oyun fiziği işleme yapan bir bulut sanal makinesine doğrudan bağlantı sağlaması gereken oyun.
  • Dağıtılmış veritabanındaki bölgeler arasında birbirine dış bağlantılar yapması gereken sanal makineler.

Azure’da giden bağlantılar hakkında daha fazla bilgi için bkz. Giden bağlantıları anlama.

Birincil düğüm türleri Service Fabric sistem hizmetleri için ayrıldığından, genel IP yalnızca ikincil düğüm türlerinde etkinleştirilebilir. Yönetilen kümeniz için ikincil düğüm türü oluşturmak için bu makalenin Kendi yük dengeleyicinizi getirin bölümündeki adımları izleyin.

Azure, kullanılabilir IP adreslerini dinamik olarak atar.

Not

Genel IP'nin etkinleştirilmesi yalnızca ARM şablonu aracılığıyla desteklenir.

Aşağıdaki adımlarda düğümünüzde genel IP'yi etkinleştirme açıklanmaktadır.

  1. ARM şablonunuzu indirin.

  2. Şablondaki her düğüm türü için ARM şablonuna ekleyin enableNodePublicIP :

    {
        "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. ARM şablonunuzu kaldırın.

  4. Aşağıdaki PowerShell komutunu çalıştırarak düğümlerinizde genel IP olduğunu doğrulayın:

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

    Komut JSON biçiminde çıktı alır.

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

IPv6'yı etkinleştirme

Yönetilen kümeler varsayılan olarak IPv6'yı etkinleştirmez. Bu özellik, Load Balancer ön uçtan arka uç kaynaklarına kadar tam çift yığın IPv4/IPv6 özelliğini etkinleştirir. Yönetilen küme yük dengeleyici yapılandırmasında veya NSG kurallarında yaptığınız tüm değişiklikler hem IPv4 hem de IPv6 yönlendirmesini etkiler.

Not

Bu ayar portalda kullanılamaz ve küme oluşturulduktan sonra değiştirilemez.

  • Service Fabric yönetilen küme kaynağı apiVersion 2022-01-01 veya üzeri olmalıdır.
  1. Service Fabric yönetilen küme kaynağında aşağıdaki özelliği ayarlayın.

        "resources": [
             {
             "apiVersion": "[variables('sfApiVersion')]",
             "type": "Microsoft.ServiceFabric/managedclusters",
             ...
             "properties": {
                 "enableIpv6": true
                 },
             }
        ]
    
  2. IPv6 özellikli yönetilen kümenizi dağıtın. Örnek şablonu gerektiği gibi özelleştirin veya kendi şablonunuzu oluşturun. Aşağıdaki örnekte, içinde westus adlı MyResourceGroup bir kaynak grubu oluşturacak ve bu özelliğin etkinleştirildiği bir küme dağıtacağız.

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

    Dağıtımdan sonra, kümelerinizin sanal ağı ve kaynakları çift yığın olur. Sonuç olarak, kümelerin ön uç yük dengeleyicisi, örneğin mycluster-ipv6.southcentralus.cloudapp.azure.com Azure Load Balancer'daki genel bir IPv6 adresiyle ve VM'lerdeki özel IPv6 adresleriyle ilişkilendirilmiş benzersiz bir dns adresine sahip olur.

Kendi sanal ağınızı getirme

Bu özellik, müşterilerin yönetilen kümenin kaynaklarını dağıtacağı ayrılmış bir alt ağ belirterek mevcut bir sanal ağı kullanmasına olanak tanır. Kullanmak istediğiniz ilgili güvenlik ilkelerine ve trafik yönlendirmesine sahip yapılandırılmış bir sanal ağınız ve alt ağınız varsa bu yararlı olabilir. Mevcut bir sanal ağa dağıtıldıktan sonra Azure ExpressRoute, Azure VPN Gateway, bir ağ güvenlik grubu ve sanal ağ eşlemesi gibi diğer ağ özelliklerini kullanmak veya birleştirmek kolaydır. Ayrıca, gerekirse kendi Azure Load balancer'ınızı da getirebilirsiniz.

Not

BYOVNET kullanılırken yönetilen küme kaynakları tek bir alt ağa dağıtılır.

Not

Küme oluşturulduktan ve yönetilen küme sağlanan alt ağa bir NSG atadıktan sonra bu ayar değiştirilemez. NSG atamasını geçersiz kılmayın veya trafik kesilebilir.

Kendi sanal ağınızı getirmek için:

  1. Service Fabric Kaynak Sağlayıcısı uygulaması için aboneliğinizden hizmeti Id alın.

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

    Not

    Doğru abonelikte olduğunuzdan emin olun; abonelik farklı bir kiracıdaysa asıl kimlik değişir.

    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
    

    Önceki çıkışın kimliğini sonraki bir adımda kullanmak üzere principalId olarak not edin

    Rol tanımı adı Rol tanımı kimliği
    Ağ Katılımcısı 4d97b98b-1d4f-4787-a291-c67834d212e7

    Role definition name Sonraki bir adımda kullanılacak ve Role definition ID özellik değerlerini not edin

  2. Service Fabric Kaynak Sağlayıcısı uygulamasına rol ataması ekleyin. Rol ataması eklemek tek seferlik bir eylemdir. Aşağıdaki PowerShell komutlarını çalıştırarak veya aşağıda açıklandığı gibi bir Azure Resource Manager (ARM) şablonu yapılandırarak rolü eklersiniz.

    Aşağıdaki adımlarda, ExistingRG kaynak grubundaki ExistingRG-vnet adlı mevcut bir sanal ağ ile başlayacağız. Alt ağ varsayılan olarak adlandırılır.

    Mevcut sanal ağdan gerekli bilgileri alın.

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

    Sonraki adımlarda kullanacağınız yanıtın Subnets bölümünden döndürülen aşağıdaki alt ağ adını ve Id özellik değerini not edin.

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

    Sorumlu kimliğini, 2. adımdaki rol tanımı adını ve yukarıda elde edilen atama kapsamını Id kullanarak aşağıdaki PowerShell komutunu çalıştırın:

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

    Veya , roleDefinitionId, vnetNameve subnetNameiçin principalIduygun değerlerle yapılandırılmış bir Azure Resource Manager (ARM) şablonu kullanarak rol atamasını ekleyebilirsiniz:

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

    Not

    VNetRoleAssignmentID bir GUID olmalıdır. Bu rol ataması da dahil olmak üzere bir şablonu yeniden dağıtırsanız, GUID'nin ilk kullanılanla aynı olduğundan emin olun. Yalnızca bir kez oluşturulması gerektiğinden, bu kaynağı yalıtılmış olarak çalıştırmanızı veya dağıtım sonrası küme şablonundan kaldırmanızı öneririz.

    Burada, bir sanal ağ alt ağı oluşturan ve bu adım için kullanabileceğiniz rol atamasını üstleyen tam örnek bir Azure Resource Manager (ARM) şablonu yer alır.

  3. subnetId Rol ayarlandıktan sonra küme dağıtımı için özelliğini aşağıda gösterildiği gibi yapılandırın:

  • Service Fabric yönetilen küme kaynağı apiVersion 2022-01-01 veya üzeri olmalıdır.

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

    Kendi sanal ağ kümenizi getirme örnek şablonuna bakın veya kendi kümenizi özelleştirin.

  1. Yapılandırılmış yönetilen küme Azure Resource Manager (ARM) şablonunu dağıtın.

    Aşağıdaki örnekte, içinde westus adlı MyResourceGroup bir kaynak grubu oluşturacak ve bu özelliğin etkinleştirildiği bir küme dağıtacağız.

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

    Kendi sanal ağ alt ağınızı getirdiğinizde, genel uç nokta yine kaynak sağlayıcısı tarafından oluşturulur ve yönetilir ancak yapılandırılan alt ağda oluşturulur. Bu özellik, Azure Load Balancer'da genel ip/yeniden kullanım statik ip'sini belirtmenize izin vermez. Bu özellik veya yerel olarak desteklenmeyen diğer yük dengeleyici senaryolarına ihtiyacınız varsa, kendi Azure Load Balancer'ınızı bu özelliğe uygun olarak veya tek başına getirebilirsiniz.

Kendi Azure Load Balancer'ınızı getirme

Yönetilen kümeler, hem birincil hem de ikincil düğüm türleri için statik genel IP ile bir Azure genel Standart Load Balancer ve tam etki alanı adı oluşturur. Kendi yük dengeleyicinizi getirin, hem gelen hem de giden trafik için ikincil düğüm türleri için mevcut bir Azure Load Balancer kullanmanıza olanak tanır. Kendi Azure Load Balancer'ınızı getirdiğinizde şunları yapabilirsiniz:

  • Özel veya genel trafik için önceden yapılandırılmış load balancer statik IP adresi kullanma
  • Load Balancer'ı belirli bir düğüm türüne eşleme
  • Her düğüm türü kendi alt ağına dağıtıldığından düğüm türü başına ağ güvenlik grubu kurallarını yapılandırın
  • Mevcut ilkeleri ve denetimleri yerinde tutma
  • Yalnızca iç yük dengeleyici yapılandırma ve dış trafik için varsayılan yük dengeleyiciyi kullanma

Not

BYOVNET kullanılırken, yönetilen küme kaynakları ek yapılandırılmış yük dengeleyicilerden bağımsız olarak tek bir NSG ile bir alt ağa dağıtılır.

Not

Bir düğüm türü dağıtıldıktan sonra varsayılan yük dengeleyiciden özel bir yük dengeleyiciye geçemezsiniz, ancak etkinleştirilirse dağıtım sonrası özel yük dengeleyici yapılandırmasını değiştirebilirsiniz.

Özellik Gereksinimleri

  • Temel ve Standart SKU Azure Load Balancer türleri desteklenir
  • Azure Load Balancer'da arka uç ve NAT havuzlarının yapılandırılmış olması gerekir
  • Sağlanan genel yük dengeleyiciyi veya varsayılan genel yük dengeleyiciyi kullanarak giden bağlantıyı etkinleştirmeniz gerekir

Müşterilerin bunu aşağıdakiler için kullanabileceği birkaç örnek senaryo aşağıda verilmiştir:

Bu örnekte müşteri, trafiği mevcut statik IP adresiyle yapılandırılmış mevcut bir Azure Load Balancer üzerinden iki düğüm türüne yönlendirmek istiyor.

Kendi Load Balancer örneğinizi getirin 1

Bu örnekte müşteri, uygulamalarına yönelik trafik akışını ayrı düğüm türlerinde yaşayan bağımsız olarak yönetmesine yardımcı olmak için mevcut Azure Load Balancer'lar aracılığıyla trafiği yönlendirmek istemektedir. Bu örnek gibi ayarlandığında, her düğüm türü kendi yönetilen NSG'lerinin arkasında olur.

Kendi Load Balancer örneğinizi getirin 2

Bu örnekte müşteri trafiği mevcut iç Azure Load Balancer'lar üzerinden yönlendirmek istiyor. Bu, uygulamalarına giden ve ayrı düğüm türlerinde yaşayan trafik akışını bağımsız olarak yönetmelerine yardımcı olur. Bu örnek gibi ayarlandığında, her düğüm türü kendi yönetilen NSG'sinin arkasında olur ve dış trafik için varsayılan yük dengeleyiciyi kullanır.

Kendi Load Balancer örneğinizi getirin 3

Kendi yük dengeleyicinizle yapılandırmak için:

  1. Service Fabric Kaynak Sağlayıcısı uygulaması için aboneliğinizden hizmeti Id alın:

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

    Not

    Doğru abonelikte olduğunuzdan emin olun; abonelik farklı bir kiracıdaysa asıl kimlik değişir.

    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
    

    Önceki çıkışın kimliğini sonraki bir adımda kullanmak üzere principalId olarak not edin

    Rol tanımı adı Rol tanımı kimliği
    Ağ Katılımcısı 4d97b98b-1d4f-4787-a291-c67834d212e7

    Role definition name Sonraki bir adımda kullanılacak ve Role definition ID özellik değerlerini not edin

  2. Service Fabric Kaynak Sağlayıcısı uygulamasına rol ataması ekleyin. Rol ataması eklemek tek seferlik bir eylemdir. Aşağıdaki PowerShell komutlarını çalıştırarak veya aşağıda açıklandığı gibi bir Azure Resource Manager (ARM) şablonu yapılandırarak rolü eklersiniz.

    Aşağıdaki adımlarda, Existing-RG kaynak grubunda Existing-LoadBalancer1 adlı mevcut bir yük dengeleyici ile başlayacağız.

    Mevcut Azure Load Balancer'dan gerekli Id özellik bilgilerini alın.

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

    Sonraki adımda kullanacağınız aşağıdakilere Id dikkat edin:

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

    2. adımdaki asıl kimliği, rol tanımı adını ve az önce aldığınız atama kapsamını Id kullanarak aşağıdaki PowerShell komutunu çalıştırın:

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

    Alternatif olarak, için principalIduygun değerlerle yapılandırılmış bir Azure Resource Manager (ARM) şablonu kullanarak rol atamasını ekleyebilirsiniz: 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"
       }
    

    Not

    loadBalancerRoleAssignmentID bir GUID olmalıdır. Bu rol ataması da dahil olmak üzere bir şablonu yeniden dağıtırsanız, GUID'nin ilk kullanılanla aynı olduğundan emin olun. Yalnızca bir kez oluşturulması gerektiğinden, bu kaynağı yalıtılmış olarak çalıştırmanızı veya dağıtım sonrası küme şablonundan kaldırmanızı öneririz.

    Genel yük dengeleyici oluşturmak ve rol atamak için bu örnek şablona bakın.

  3. Düğüm türü için gerekli giden bağlantıyı yapılandırın. Giden bağlantı sağlamak veya varsayılan genel yük dengeleyiciyi kullanmak için bir genel yük dengeleyici yapılandırmanız gerekir.

    Giden bağlantı sağlamak için genel yük dengeleyiciyi yapılandıracak şekilde yapılandırma outboundRules Bkz. Yük dengeleyici oluşturma ve rol örneği Azure Resource Manager (ARM) şablonu atama

    VEYA

    Düğüm türünü varsayılan yük dengeleyiciyi kullanacak şekilde yapılandırmak için şablonunuzda aşağıdakileri ayarlayın:

    • Service Fabric yönetilen küme kaynağı apiVersion 2022-01-01 veya üzeri olmalıdır.
     "resources": [
       {
       "apiVersion": "[variables('sfApiVersion')]",
       "type": "Microsoft.ServiceFabric/managedclusters/nodetypes",
       "properties": {
           "isPrimary": false,
           "useDefaultPublicLoadBalancer": true
           }
       }
     ]
    
  4. İsteğe bağlı olarak, mevcut Azure Load Balancer'ınızda gelen uygulama bağlantı noktasını ve ilgili araştırmayı yapılandırın. Bir örnek için kendi yük dengeleyici örneğinizi getirin Azure Resource Manager (ARM) şablonuna bakın

  5. İsteğe bağlı olarak, Azure Load Balancer'da yapılandırdığınız gerekli trafiğin veya trafiğin engellenmesine izin vermek için düğüm türüne uygulanan yönetilen küme NSG kurallarını yapılandırın. Gelen NSG kuralı yapılandırması örneği için kendi yük dengeleyici örneğinizi getirin Azure Resource Manager (ARM) şablonuna bakın. Şablonda özelliğini arayın networkSecurityRules .

  6. Yapılandırılmış yönetilen kümeyi dağıtma ARM Şablonu Bu adım için kendi yük dengeleyici örneğinizi getirme Azure Resource Manager (ARM) şablonunu kullanacağız

    Aşağıda, içinde westus adlı MyResourceGroup bir kaynak grubu oluşturulur ve mevcut yük dengeleyiciyi kullanarak bir küme dağıtılır.

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

    Dağıtımdan sonra ikincil düğüm türü, gelen ve giden trafik için belirtilen yük dengeleyiciyi kullanacak şekilde yapılandırılır. Service Fabric istemci bağlantısı ve ağ geçidi uç noktaları, yönetilen küme birincil düğüm türü statik IP adresinin genel DNS'sine işaret eder.

Hızlandırılmış Ağı Etkinleştirme

Hızlandırılmış ağ, düğüm türleri için temel alınan kaynak olan bir sanal makine ölçek kümesi VM'sine tek kök G/Ç sanallaştırmasını (SR-IOV) etkinleştirir. Bu yüksek performanslı yol, en zorlu ağ iş yükleri için gecikme süresini, değişim ve CPU kullanımını azaltan veri yolundan konağı atlar. Service Fabric yönetilen küme düğümü türleri desteklenen VM SKU'larında Hızlandırılmış Ağ ile sağlanabilir. Ek konular için bu sınırlamalara ve kısıtlamalara başvurun.

  • Hızlandırılmış Ağ'ın 2 veya daha fazla vCPU ile genel amaçlı ve işlem için iyileştirilmiş örnek boyutlarının çoğunda desteklendiğini unutmayın. Hiper iş parçacığı kullanımı destekleyen örneklerde Hızlandırılmış Ağ, 4 veya daha fazla vCPU'ya sahip VM örneklerinde desteklenir.

Resource Manager şablonunuzda aşağıdaki gibi özellik bildirerek enableAcceleratedNetworking hızlandırılmış ağı etkinleştirin:

  • Service Fabric yönetilen küme kaynağı apiVersion 2022-01-01 veya üzeri olmalıdır.
   {
   "apiVersion": "[variables('sfApiVersion')]",
   "type": "Microsoft.ServiceFabric/managedclusters/nodetypes",
   ...
   "properties": {
       ...
       "enableAcceleratedNetworking": true,
       ...
   }

Mevcut bir Service Fabric kümesinde Hızlandırılmış Ağ'ı etkinleştirmek için önce yeni bir düğüm türü ekleyerek bir Service Fabric kümesini ölçeklendirmeniz ve aşağıdakileri gerçekleştirmeniz gerekir:

  1. Hızlandırılmış Ağ etkinleştirilmiş bir düğüm türü sağlama
  2. Hızlandırılmış Ağ etkinleştirilmiş olarak hizmetlerinizi ve durumlarını sağlanan düğüm türüne geçirme

Bir kullanılabilirlik kümesindeki tüm sanal makinelerin mevcut NIC'lerde Hızlandırılmış ağ etkinleştirilmeden önce durdurulması ve serbest bırakılması gerektiğinden, Hızlandırılmış Ağın yerinde etkinleştirilmesi kapalı kalma süresine neden olacağından, mevcut bir kümede Hızlandırılmış Ağ'ı etkinleştirmek için altyapının ölçeğini genişletmeniz gerekir.

Yardımcı Alt Ağları Yapılandırma

Yardımcı alt ağlar, Özel Bağlantı Service ve Bastion Konakları gibi destekleyici senaryolar için düğüm türü olmadan ek yönetilen alt ağlar oluşturma olanağı sağlar.

Resource Manager şablonunuzda özellik ve gerekli parametreleri aşağıdaki gibi bildirerek auxiliarySubnets yardımcı alt ağları yapılandırın:

  • Service Fabric yönetilen küme kaynağı apiVersion 2022-01-01 veya üzeri olmalıdır.
    "resources": [
        {
            "apiVersion": "[variables('sfApiVersion')]",
            "type": "Microsoft.ServiceFabric/managedclusters",
              "properties": {
                "auxiliarySubnets": [
                  {
                  "name" : "mysubnet",
                  "enableIpv6" : "true"
                  }
                ]
              }
        }
    ]              

Kullanılabilir parametrelerin tam listesine bakın

Sonraki adımlar

Service Fabric yönetilen küme yapılandırma seçenekleriService Fabric yönetilen kümelerine genel bakış