Azure 云服务(外延支持)定义 NetworkTrafficRules 架构

NetworkTrafficRules 节点是服务定义文件中的一个可选元素,用于指定角色如何彼此进行通信。 它限制哪些角色可以访问特定角色的内部终结点。 NetworkTrafficRules 不是一个独立的元素;它在服务定义文件中与两个或更多角色结合使用。

服务定义文件的默认扩展名为 csdef。

注意

仅当使用 Azure SDK 1.3 版或更高版本时,才可以使用 NetworkTrafficRules 节点。

网络流量规则的基本服务定义架构

包含网络流量定义的服务定义文件的基本格式如下所示。

<ServiceDefinition …>
   <NetworkTrafficRules>
      <OnlyAllowTrafficTo>
         <Destinations>
            <RoleEndpoint endpointName="<name-of-the-endpoint>" roleName="<name-of-the-role-containing-the-endpoint>"/>
         </Destinations>
         <AllowAllTraffic/>
         <WhenSource matches="[AnyRule]">
            <FromRole roleName="<name-of-the-role-to-allow-traffic-from>"/>
         </WhenSource>
      </OnlyAllowTrafficTo>
   </NetworkTrafficRules>
</ServiceDefinition>

架构元素

服务定义文件的 NetworkTrafficRules 节点包含以下元素,本文的后续部分做了详细说明:

NetworkTrafficRules 元素

OnlyAllowTrafficTo 元素

Destinations 元素

RoleEndpoint 元素

AllowAllTraffic 元素

WhenSource 元素

FromRole 元素

NetworkTrafficRules 元素

NetworkTrafficRules 元素指定哪些角色可以与另一角色上的哪个终结点进行通信。 服务可以包含一个 NetworkTrafficRules 定义。

OnlyAllowTrafficTo 元素

OnlyAllowTrafficTo 元素描述目标终结点的集合以及可以与它们进行通信的角色。 可以指定多个 OnlyAllowTrafficTo 节点。

Destinations 元素

Destinations 元素描述可以与之进行通信的 RoleEndpoint 的集合。

RoleEndpoint 元素

RoleEndpoint 元素描述角色上允许与之进行通信的终结点。 如果角色上有多个终结点,可以指定多个 RoleEndpoint 元素。

Attribute 类型 说明
endpointName string 必需。 允许将流量发送到的终结点的名称。
roleName string 必需。 允许与之进行通信的 web 角色的名称。

AllowAllTraffic 元素

AllowAllTraffic 元素是一个规则,它允许所有角色与 Destinations 节点中定义的终结点进行通信。

WhenSource 元素

WhenSource 元素描述可以与 Destinations 节点中定义的终结点进行通信的角色的集合。

属性 类型 说明
matches string 必需。 指定允许通信时要应用的规则。 目前唯一有效的值是 AnyRule

FromRole 元素

FromRole 元素指定可以与 Destinations 节点中定义的终结点进行通信的角色。 如果有多个可以与终结点进行通信的角色,可以指定多个 FromRole 元素。

Attribute 类型 说明
roleName string 必需。 允许从中进行通信的角色的名称。

另请参阅

云服务(外延支持)定义架构