開啟 Service Fabric 叢集的連接埠

此負載平衡器會隨 Azure Service Fabric 叢集一起部署,以將流量導向至節點上所執行的應用程式。 如果您變更應用程式以使用不同的連接埠,您必須在 Azure Load Balancer 中公開該連接埠 (或路由不同的連接埠)。

當您將 Service Fabric 叢集部署至 Azure 時,系統會自動為您建立負載平衡器。 如果您沒有負載平衡器,請參閱設定網際網路面向的負載平衡器

注意

建議您使用 Azure Az PowerShell 模組來與 Azure 互動。 請參閱安裝 Azure PowerShell 以開始使用。 若要了解如何移轉至 Az PowerShell 模組,請參閱將 Azure PowerShell 從 AzureRM 移轉至 Az

設定 Service Fabric

您的 Service Fabric 應用程式 ServiceManifest.xml 設定檔會定義應用程式預期使用的端點。 在更新設定檔以定義端點之後,必須更新負載平衡器以公開該連接埠 (或不同的連接埠)。 如需如何建立 Service Fabric 端點的詳細資訊,請參閱設定端點

建立負載平衡器規則

負載平衡器規則會開啟網際網路面向的連接埠,並將流量轉送至您的應用程式所使用的內部節點連接埠。 如果您沒有負載平衡器,請參閱設定網際網路面向的負載平衡器

若要建立負載平衡器規則,您需要收集下列資訊:

  • 負載平衡器名稱。
  • 負載平衡器和 Service Fabric 叢集的資源群組。
  • 外部連接埠。
  • 內部連接埠。

Azure CLI

使用 Azure CLI,只要一個命令就能建立負載平衡器規則。 您只需要知道建立新規則之負載平衡器和資源群組的名稱。

注意

如果您需要決定負載平衡器的名稱,請使用此命令,以便快速取得一份所有負載平衡器和相關聯資源群組的清單。

az network lb list --query "[].{ResourceGroup: resourceGroup, Name: name}"

az network lb rule create --backend-port 40000 --frontend-port 39999 --protocol Tcp --lb-name LB-svcfab3 -g svcfab_cli -n my-app-rule

Azure CLI 命令有幾個參數,如下表所述:

參數 描述
--backend-port Service Fabric 應用程式正在接聽的連接埠。
--frontend-port 負載平衡器公開給外部連線的連接埠。
-lb-name 所要變更的負載平衡器名稱。
-g 包含負載平衡器和 Service Fabric 叢集的資源群組。
-n 需要的規則名稱。

注意

如需如何使用 Azure CLI 建立負載平衡器的詳細資訊,請參閱使用 Azure CLI 建立負載平衡器

PowerShell

PowerShell 比 Azure CLI 稍微複雜一點。 請遵循這些概念步驟來建立規則:

  1. 從 Azure 取得負載平衡器。
  2. 建立規則。
  3. 將規則新增至負載平衡器。
  4. 更新負載平衡器。

注意

如果您需要決定負載平衡器的名稱,請使用此命令,以便快速取得一份所有負載平衡器和相關聯資源群組的清單。

Get-AzLoadBalancer | Select Name, ResourceGroupName

# Get the load balancer
$lb = Get-AzLoadBalancer -Name LB-svcfab3 -ResourceGroupName svcfab_cli

# Create the rule based on information from the load balancer.
$lbrule = New-AzLoadBalancerRuleConfig -Name my-app-rule7 -Protocol Tcp -FrontendPort 39990 -BackendPort 40009 `
                                            -FrontendIpConfiguration $lb.FrontendIpConfigurations[0] `
                                            -BackendAddressPool  $lb.BackendAddressPools[0] `
                                            -Probe $lb.Probes[0]

# Add the rule to the load balancer
$lb.LoadBalancingRules.Add($lbrule)

# Update the load balancer on Azure
$lb | Set-AzLoadBalancer

至於 New-AzLoadBalancerRuleConfig 命令,-FrontendPort 代表負載平衡器公開給外部連線的連接埠,而 -BackendPort 代表 Service Fabric 應用程式正在接聽的連接埠。

注意

如需如何使用 PowerShell 建立負載平衡器的詳細資訊,請參閱使用 PowerShell 建立負載平衡器

下一步

深入了解 Service Fabric 中的網路功能