虚拟网络中的出口计量
云网络盈利的一个基本方面是能够按网络带宽利用率计费。 出站数据根据给定计费周期中通过 Internet 移出数据中心的数据总量收费。
使用 Windows Server 2019 中 SDN 网络流量的出口计量,能够为出站数据传输提供使用情况计量。 离开每个虚拟网络但仍保留在数据中心内的网络流量可以单独跟踪,以便将其从计费计算中排除。 其中一个未计费地址范围未包含的目标 IP 地址绑定的数据包将作为计费出站数据传输进行跟踪。
虚拟网络未计费的地址范围(IP 范围的允许列表)
可以在现有虚拟网络的 UnbilledAddressRanges 属性下找到未计费的地址范围。 默认情况下,不会添加地址范围。
import-module NetworkController
$uri = "https://sdn.contoso.com"
(Get-NetworkControllerVirtualNetwork -ConnectionURI $URI -ResourceId "VNet1").properties
输出结果将会类似于以下内容:
AddressSpace : Microsoft.Windows.NetworkController.AddressSpace
DhcpOptions :
UnbilledAddressRanges :
ConfigurationState :
ProvisioningState : Succeeded
Subnets : {21e71701-9f59-4ee5-b798-2a9d8c2762f0, 5f4758ef-9f96-40ca-a389-35c414e996cc,
29fe67b8-6f7b-486c-973b-8b9b987ec8b3}
VirtualNetworkPeerings :
EncryptionCredential :
LogicalNetwork : Microsoft.Windows.NetworkController.LogicalNetwork
示例:管理虚拟网络的未计费地址范围
可以通过设置虚拟网络的 UnbilledAddressRange 属性来管理要从计费出口计量中排除的 IP 子网前缀集。 使用与其中一个前缀匹配的目标 IP 地址的虚拟网络上的网络接口发送的任何流量都不会包含在 BilledEgressBytes 属性中。
更新 UnbilledAddressRanges 属性,以包含不会对访问计费的子网。
$vnet = Get-NetworkControllerVirtualNetwork -ConnectionUri $uri -ResourceID "VNet1" $vnet.Properties.UnbilledAddressRanges = "10.10.2.0/24,10.10.3.0/24"
提示
如果添加多个 IP 子网,请在每个 IP 子网之间使用逗号。 不要在逗号前后包含任何空格。
使用修改后的 UnbilledAddressRanges 属性更新虚拟网络资源。
New-NetworkControllerVirtualNetwork -ConnectionUri $uri -ResourceId "VNet1" -Properties $unbilled.Properties -PassInnerException
输出结果将会类似于以下内容:
Confirm Performing the operation 'New-NetworkControllerVirtualNetwork' on entities of type 'Microsoft.Windows.NetworkController.VirtualNetwork' via 'https://sdn.contoso.com/networking/v3/virtualNetworks/VNet1'. Are you sure you want to continue? [Y] Yes [N] No [S] Suspend [?] Help (default is "Y"): y Tags : ResourceRef : /virtualNetworks/VNet1 InstanceId : 29654b0b-9091-4bed-ab01-e172225dc02d Etag : W/"6970d0a3-3444-41d7-bbe4-36327968d853" ResourceMetadata : ResourceId : VNet1 Properties : Microsoft.Windows.NetworkController.VirtualNetworkProperties
检查虚拟网络以查看配置的 UnbilledAddressRanges。
(Get-NetworkControllerVirtualNetwork -ConnectionUri $uri -ResourceID "VNet1").properties
输出结果现在将会类似于以下内容:
AddressSpace : Microsoft.Windows.NetworkController.AddressSpace DhcpOptions : UnbilledAddressRanges : 10.10.2.0/24,192.168.2.0/24 ConfigurationState : ProvisioningState : Succeeded Subnets : {21e71701-9f59-4ee5-b798-2a9d8c2762f0, 5f4758ef-9f96-40ca-a389-35c414e996cc, 29fe67b8-6f7b-486c-973b-8b9b987ec8b3} VirtualNetworkPeerings : EncryptionCredential : LogicalNetwork : Microsoft.Windows.NetworkController.LogicalNetwork
检查虚拟网络的未计费出口使用量
配置 UnbilledAddressRanges 属性后,可以检查虚拟网络中每个子网的计费和未计费出口使用量。 出口流量每四分钟更新一次,其中包含计费和未计费范围的总字节数。
以下属性可用于每个虚拟子网:
UnbilledEgressBytes 显示连接到此虚拟子网的网络接口发送的未计费字节数。 未计费字节是发送到属于父虚拟网络的 UnbilledAddressRanges 属性的地址范围的字节。
BilledEgressBytes 显示连接到此虚拟子网的网络接口发送的未计费字节数。 计费字节是发送到不属于父虚拟网络的 UnbilledAddressRanges 属性的地址范围的字节。
使用以下示例查询出口使用量:
(Get-NetworkControllerVirtualNetwork -ConnectionURI $URI -ResourceId "VNet1").properties.subnets.properties | ft AddressPrefix,BilledEgressBytes,UnbilledEgressBytes
输出结果将会类似于以下内容:
AddressPrefix BilledEgressBytes UnbilledEgressBytes
------------- ----------------- -------------------
10.0.255.8/29 16827067 0
10.0.2.0/24 781733019 0
10.0.4.0/24 0 0