在 Service Fabric 托管群集中使用公共 IP 前缀

公共 IP 前缀允许预留供 Azure 中的公共终结点使用的公共 IP 地址范围。 Service Fabric 托管群集支持使用 Azure 公共 IP 前缀中的 IP 地址。 公共 IP 前缀是从各 Azure 区域的地址池分配的。 可以通过指定名称和前缀大小(即可用地址数),在 Azure 区域和订阅中创建公共 IP 前缀。 例如,如果要将虚拟机规模集、应用程序网关或负载均衡器配置为面向公众,则需要为它们配置公共 IP 地址。 公共 IP 前缀使你能够使用一个前缀有效地管理所有 IP 地址。 在部署了可用性区域的区域中,可以创建区域冗余的或与特定可用性区域关联的公共 IP 前缀。 如果公共 IP 前缀创建为区域冗余,则会从跨所有区域中的 SLB 服务器复制的池中选择前缀中的 IP。

下面是对托管群集使用公共 IP 前缀的一些好处:

  • 改进的群队管理:如果管理 Service Fabric 托管群集的群队,那么将每个群集与来自同一前缀的公共 IP 相关联可以简化整个群队的管理并减少管理开销。 例如,可以添加包含单个防火墙规则的整个前缀,该规则将与 SF 托管群集关联的前缀的所有 IP 地址添加到防火墙中的允许列表。

  • 增强的控制和安全性:将前缀中的公共 IP 关联到 Service Fabric 托管群集,可以简化群集公共 IP 地址空间的控制和安全性。 由于始终为群集分配 IP 前缀中 IP 保留范围中的公共 IP,因此可以轻松分配网络访问控制列表 (ACL) 以及特定于该范围的其他网络规则。 IP 前缀简化了控制,使你能够轻松管理哪些资源可以访问群集,反之亦然。

  • 有效的资源管理:公共 IP 前缀可让你使用一个前缀来管理所有公共终结点,这些公共终结点具有可预测的连续 IP 范围,这些 IP 范围不会随缩放而更改。 可以查看该前缀范围中哪些 IP 地址已分配并可用。

如图所示,具有各自拥有子网的三种节点类型的 Service Fabric 托管群集,其所有入站和出站流量都通过两个负载均衡器路由。 如果外部服务想要与 SFMC 群集通信,它们将使用与负载均衡器前端关联的从公共 IP 前缀(如 A)分配的公共 IP 地址。

使用公共 IP 前缀的托管群集示意图。

备注

Service Fabric 托管群集中的公共 IP 前缀目前仅支持 IPv4 地址。 不久的将来将启用对 IPv6 地址的支持。

在 Service Fabric 托管群集中使用公共 IP 前缀

要求

  • 使用 Service Fabric API 版本 2023-03-01-Preview 或更高版本。

步骤

以下部分介绍在 Service Fabric 托管群集中实施公共 IP 前缀应采取的步骤:

  1. 按照创建公共 IP 前缀中的步骤操作。
  2. 在 Service Fabric 托管群集创建过程中,为公共 IP 前缀配置使用示例 ARM 部署模板
  3. 还可以修改现有 ARM 模板,并在采用公共 IP 前缀的资源 ID 的 Microsoft.ServiceFabric/managedClusters 资源下添加新属性 PublicIPPrefixId

ARM 模板:

{ 
    "type": "Microsoft.ServiceFabric/managedclusters/", 
    "properties": { 
                  "publicIPPrefixId": "string" 
                  } 
} 

Azure CLI:

  1. 创建资源组和公共 IP 前缀,如创建公共 IP 前缀 - Azure CLI 中所述
  2. 修改现有的 ARM 模板,并在 Microsoft.ServiceFabric/managedClusters 资源下添加新属性 PublicIPPrefixId,该资源采用公共 IP 前缀的资源 ID 并部署模板。
  az deployment group create \
    --name ExampleDeployment \
    --resource-group ExampleGroup \
    --template-file <path-to-template> 

Azure PowerShell:

  1. 创建资源组和公共 IP 前缀,如创建公共 IP 前缀 - PowerShell 中所述
  2. 修改现有的 ARM 模板,并在 Microsoft.ServiceFabric/managedClusters 资源下添加新属性 PublicIPPrefixId,该资源采用公共 IP 前缀的资源 ID 并部署模板。
New-AzResourceGroupDeployment -ResourceGroupName "ExampleGroup" -TemplateFile <path-to-template> -TemplateParameterFile <path-to-template-parameter-file>

后续步骤