You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
# Configure network settings for Service Fabric managed clusters
14
14
15
-
Service Fabric managed clusters are created with a default networking configuration. This configuration consists of an [Azure Load Balancer](../load-balancer/load-balancer-overview.md) with a public ip, a VNet with one subnet allocated, and a NSG configured for essential cluster functionality. There are also optional NSG rules applied such as allowing all outbound traffic by default that is intended to make customer configuration easier. This document walks through how to modify the following networking configuration options and more:
15
+
Service Fabric managed clusters are created with a default networking configuration. This configuration consists of an [Azure Load Balancer](../load-balancer/load-balancer-overview.md) with a public ip, a VNet with one subnet allocated, and an NSG configured for essential cluster functionality. There are also optional NSG rules applied such as allowing all outbound traffic by default that is intended to make customer configuration easier. This document walks through how to modify the following networking configuration options and more:
16
16
17
17
-[Manage NSG Rules](#nsgrules)
18
18
-[Manage RDP access](#rdp)
19
19
-[Manage Load Balancer config](#lbconfig)
20
+
-[Enable public IP](#publicip)
20
21
-[Enable IPv6](#ipv6)
21
22
-[Bring your own virtual network](#byovnet)
22
23
-[Bring your own load balancer](#byolb)
@@ -31,7 +32,7 @@ Service Fabric managed clusters are created with a default networking configurat
31
32
32
33
Be aware of these considerations when creating new NSG rules for your managed cluster.
33
34
34
-
* Service Fabric managed clusters reserve the NSG rule priority range 0 to 999 for essential functionality. You cannot create custom NSG rules with a priority value of less than 1000.
35
+
* Service Fabric managed clusters reserve the NSG rule priority range 0 to 999 for essential functionality. You can't create custom NSG rules with a priority value of less than 1000.
35
36
* Service Fabric managed clusters reserve the priority range 3001 to 4000 for creating optional NSG rules. These rules are added automatically to make configurations quick and easy. You can override these rules by adding custom NSG rules in priority range 1000 to 3000.
36
37
* Custom NSG rules should have a priority within the range 1000 to 3000.
37
38
@@ -105,14 +106,14 @@ Use the [networkSecurityRules](/azure/templates/microsoft.servicefabric/managedc
105
106
A default NSG rule is added to allow the Service Fabric resource provider to access the cluster's clientConnectionPort and httpGatewayConnectionPort. This rule allows access to the ports through the service tag 'ServiceFabric'.
106
107
107
108
>[!NOTE]
108
-
>This rule is always added and cannot be overridden.
109
+
>This rule is always added and can't be overridden.
"description": "This is required rule to allow SFRP to connect to the cluster. This rule cannot be overridden.",
116
+
"description": "This is required rule to allow SFRP to connect to the cluster. This rule can't be overridden.",
116
117
"protocol": "TCP",
117
118
"sourcePortRange": "*",
118
119
"sourceAddressPrefix": "ServiceFabric",
@@ -133,8 +134,8 @@ A default NSG rule is added to allow the Service Fabric resource provider to acc
133
134
134
135
This optional rule enables customers to access SFX, connect to the cluster using PowerShell, and use Service Fabric cluster API endpoints from the internet by opening LB ports for clientConnectionPort and httpGatewayPort.
135
136
136
-
>[!NOTE]
137
-
>This rule will not be added if there is a custom rule with the same access, direction, and protocol values for the same port. You can override this rule with custom NSG rules.
137
+
>[!NOTE]
138
+
>This rule will not be added if there's a custom rule with the same access, direction, and protocol values for the same port. You can override this rule with custom NSG rules.
138
139
139
140
```json
140
141
{
@@ -161,7 +162,7 @@ This optional rule enables customers to access SFX, connect to the cluster using
161
162
<aid="rdp"></a>
162
163
## Enable access to RDP ports from internet
163
164
164
-
Service Fabric managed clusters do not enable inbound access to the RDP ports from the internet by default. You can open inbound access to the RDP ports from the internet by setting the following property on a Service Fabric managed cluster resource.
165
+
Service Fabric managed clusters don't enable inbound access to the RDP ports from the internet by default. You can open inbound access to the RDP ports from the internet by setting the following property on a Service Fabric managed cluster resource.
165
166
166
167
```json
167
168
"allowRDPAccess": true
@@ -303,12 +304,128 @@ Service Fabric managed clusters automatically creates load balancer probes for f
303
304
}
304
305
```
305
306
307
+
<aid="publicip"></a>
308
+
## Enable public IP
309
+
310
+
> [!NOTE]
311
+
> Currently, only public IPv4 is supported.
312
+
313
+
Service Fabric managed cluster nodes don't require their own public IP addresses for communication. However, some scenarios may require a node to have its own public IP address to communicate with the internet and public-facing Azure services. For example:
314
+
315
+
* Gaming, where a console needs to make a direct connection to a cloud virtual machine that is doing game physics processing.
316
+
* Virtual machines that need to make external connections to one another across regions in a distributed database.
317
+
318
+
For more information about outbound connections in Azure, see [Understand outbound connections](../load-balancer/load-balancer-outbound-connections.md).
319
+
320
+
Public IP can only be enabled on secondary node types, because primary node types are reserved for Service Fabric system services. Follow the steps in the [Bring your own load balancer section of this article](#bring-your-own-azure-load-balancer) to create a secondary node type for your managed cluster.
321
+
322
+
Azure dynamically assigns available IP addresses.
323
+
324
+
> [!NOTE]
325
+
> Enabling public IP is only supported via ARM template.
326
+
327
+
The following steps describe enable public IP on your node.
328
+
329
+
1. Download your [ARM template](../azure-resource-manager/templates/export-template-portal.md).
330
+
331
+
1. For each node type in the template, add `enableNodePublicIP` to the ARM template:
1. [Deloy your ARM template](../azure-resource-manager/templates/quickstart-create-templates-use-the-portal.md).
349
+
350
+
1. Verify you have a public IP on your nodes by running the following PowerShell command:
351
+
352
+
```powershell
353
+
az vmss list-instance-public-ips -g MC_MyResourceGroup2_MyManagedCluster_eastus -n YourVirtualMachineScaleSetName
354
+
```
355
+
356
+
The command outputs in JSON format.
357
+
358
+
```json
359
+
[
360
+
{
361
+
"etag": "etag_0",
362
+
"id": "<id_0/name>",
363
+
"idleTimeoutInMinutes": 15,
364
+
"ipAddress": "<ip_address_0>",
365
+
"ipConfiguration": {
366
+
"id": "<configuration_id_0>",
367
+
"resourceGroup": "<your_resource_group"
368
+
},
369
+
"ipTags": [],
370
+
"name": "<name>",
371
+
"provisioningState": "Succeeded",
372
+
"publicIPAddressVersion": "IPv4",
373
+
"publicIPAllocationMethod": "Static",
374
+
"resourceGroup": "<your_resource_group",
375
+
"resourceGuid": "resource_guid_0",
376
+
"sku": {
377
+
"name": "Standard"
378
+
}
379
+
},
380
+
{
381
+
"etag": "etag_1",
382
+
"id": "/<id_1/name>",
383
+
"idleTimeoutInMinutes": 15,
384
+
"ipAddress": "<ip_address_1>",
385
+
"ipConfiguration": {
386
+
"id": "<configuration_id_1>",
387
+
"resourceGroup": "<your_resource_group"
388
+
},
389
+
"ipTags": [],
390
+
"name": "<name>",
391
+
"provisioningState": "Succeeded",
392
+
"publicIPAddressVersion": "IPv4",
393
+
"publicIPAllocationMethod": "Static",
394
+
"resourceGroup": "<your_resource_group>",
395
+
"resourceGuid": "resource_guid_1",
396
+
"sku": {
397
+
"name": "Standard"
398
+
}
399
+
},
400
+
{
401
+
"etag": "etag_2",
402
+
"id": "<id_2/name>",
403
+
"idleTimeoutInMinutes": 15,
404
+
"ipAddress": "<ip_address_2>",
405
+
"ipConfiguration": {
406
+
"id": "<configuration_id_2>",
407
+
"resourceGroup": "<your_resource_group"
408
+
},
409
+
"ipTags": [],
410
+
"name": "<name>",
411
+
"provisioningState": "Succeeded",
412
+
"publicIPAddressVersion": "IPv4",
413
+
"publicIPAllocationMethod": "Static",
414
+
"resourceGroup": "<your_resource_group>",
415
+
"resourceGuid": "resource_guid_2",
416
+
"sku": {
417
+
"name": "Standard"
418
+
}
419
+
}
420
+
]
421
+
```
422
+
306
423
<a id="ipv6"></a>
307
424
## Enable IPv6
308
-
Managed clusters do not enable IPv6 by default. This feature will enable full dual stack IPv4/IPv6 capability from the Load Balancer frontend to the backend resources. Any changes you make to the managed cluster load balancer config or NSG rules will affect both the IPv4 and IPv6 routing.
425
+
Managed clusters don't enable IPv6 by default. This feature will enable full dual stack IPv4/IPv6 capability from the Load Balancer frontend to the backend resources. Any changes you make to the managed cluster load balancer config or NSG rules will affect both the IPv4 and IPv6 routing.
309
426
310
427
> [!NOTE]
311
-
> This setting is not available in portal and cannot be changed once the cluster is created
428
+
> This setting is not available in portal and can't be changed once the cluster is created.
312
429
313
430
* The Service Fabric managed cluster resource apiVersion should be **2022-01-01** or later.
314
431
@@ -343,7 +460,7 @@ This feature allows customers to use an existing virtual network by specifying a
343
460
> When using BYOVNET, managed cluster resources will be deployed in one subnet.
344
461
345
462
> [!NOTE]
346
-
> This setting cannot be changed once the cluster is created and the managed cluster will assign an NSG to the provided subnet. Do not override the NSG assignment or traffic may break.
463
+
> This setting can't be changed once the cluster is created and the managed cluster will assign an NSG to the provided subnet. Don't override the NSG assignment or traffic may break.
347
464
348
465
**To bring your own virtual network:**
349
466
@@ -417,7 +534,7 @@ This feature allows customers to use an existing virtual network by specifying a
417
534
> [!NOTE]
418
535
> VNetRoleAssignmentID has to be a [GUID](../azure-resource-manager/templates/template-functions-string.md#examples-16). If you deploy a template again including this role assignment, make sure the GUID is the same as the one originally used. We suggest you run this isolated or remove this resource from the cluster template post-deployment as it just needs to be created once.
419
536
420
-
Here is a full sample [Azure Resource Manager (ARM) template that creates a VNet subnet and does role assignment](https://raw.githubusercontent.com/Azure-Samples/service-fabric-cluster-templates/master/SF-Managed-Standard-SKU-2-NT-BYOVNET/createVNet-assign-role.json) you can use for this step.
537
+
Here's a full sample [Azure Resource Manager (ARM) template that creates a VNet subnet and does role assignment](https://raw.githubusercontent.com/Azure-Samples/service-fabric-cluster-templates/master/SF-Managed-Standard-SKU-2-NT-BYOVNET/createVNet-assign-role.json) you can use for this step.
421
538
422
539
3. Configure the `subnetId` property for the cluster deployment after the role is set up as shown below:
423
540
@@ -446,14 +563,14 @@ This feature allows customers to use an existing virtual network by specifying a
When you bring your own VNet subnet the public endpoint is still created and managed by the resource provider, but in the configured subnet. The feature does not allow you to specify the public ip/re-use static ip on the Azure Load Balancer. You can [bring your own Azure Load Balancer](#byolb) in concert with this feature or by itself if you require those or other load balancer scenarios that aren't natively supported.
566
+
When you bring your own VNet subnet the public endpoint is still created and managed by the resource provider, but in the configured subnet. The feature doesn't allow you to specify the public ip/re-use static ip on the Azure Load Balancer. You can [bring your own Azure Load Balancer](#byolb) in concert with this feature or by itself if you require those or other load balancer scenarios that aren't natively supported.
450
567
451
568
<aid="byolb"></a>
452
569
## Bring your own Azure Load Balancer
453
570
454
571
Managed clusters create an Azure public Standard Load Balancer and fully qualified domain name with a static public IP for both the primary and secondary node types. Bring your own load balancer allows you to use an existing Azure Load Balancer for secondary node types for both inbound and outbound traffic. When you bring your own Azure Load Balancer, you can:
455
572
456
-
* Use a pre-configured Load Balancer static IP address for either private or public traffic
573
+
* Use a preconfigured Load Balancer static IP address for either private or public traffic
457
574
* Map a Load Balancer to a specific node type
458
575
* Configure network security group rules per node type because each node type is deployed in its own subnet
459
576
* Maintain existing policies and controls you may have in place
@@ -603,7 +720,7 @@ To configure with your own load balancer:
603
720
604
721
<aid="accelnet"></a>
605
722
## Enable Accelerated Networking
606
-
Accelerated networking enables single root I/O virtualization (SR-IOV) to a virtual machine scale set VM that is the underlying resource for node types. This high-performance path bypasses the host from the data path, which reduces latency, jitter, and CPU utilization for the most demanding network workloads. Service Fabric managed cluster node types can be provisioned with Accelerated Networking on [supported VM SKUs](../virtual-machines/sizes.md). Reference this[limitations and constraints](../virtual-network/accelerated-networking-overview.md#limitations-and-constraints) for additional considerations.
723
+
Accelerated networking enables single root I/O virtualization (SR-IOV) to a virtual machine scale set VM that is the underlying resource for node types. This high-performance path bypasses the host from the data path, which reduces latency, jitter, and CPU utilization for the most demanding network workloads. Service Fabric managed cluster node types can be provisioned with Accelerated Networking on [supported VM SKUs](../virtual-machines/sizes.md). Reference these[limitations and constraints](../virtual-network/accelerated-networking-overview.md#limitations-and-constraints) for additional considerations.
607
724
608
725
* Note that Accelerated Networking is supported on most general purpose and compute-optimized instance sizes with 2 or more vCPUs. On instances that support hyperthreading, Accelerated Networking is supported on VM instances with 4 or more vCPUs.
0 commit comments