Измерение исходящего трафика в виртуальной сети

Основным аспектом монетизации облачных сетей является возможность выставления счетов по использованию пропускной способности сети. Плата за исходящие данные взимается на основе общего объема данных, перемещаемых из центра обработки данных через Интернет в заданной период выставления счетов.

Исходящий трафик для сетевого трафика SDN в Windows Server 2019 позволяет предлагать счетчики использования для передачи исходящих данных. Сетевой трафик, который покидает каждую виртуальную сеть, но остается в центре обработки данных, можно отслеживать отдельно, чтобы его можно было исключить из расчетов выставления счетов. Пакеты, привязанные к 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

Пример. Управление необясанными диапазонами адресов виртуальной сети

Вы можете управлять набором префиксов IP-подсети, чтобы исключить из выставленного счета измерения исходящего трафика, задав свойство UnbilledAddressRange виртуальной сети. Любой трафик, отправляемый сетевыми интерфейсами в виртуальной сети с IP-адресом назначения, который соответствует одному из префиксов, не будет включен в свойство BilledEgressBytes.

  1. Обновите свойство UnbilledAddressRanges, чтобы содержать подсети, которые не будут выставляться за доступ.

    $vnet = Get-NetworkControllerVirtualNetwork -ConnectionUri $uri -ResourceID "VNet1"
    $vnet.Properties.UnbilledAddressRanges = "10.10.2.0/24,10.10.3.0/24"
    

    Совет

    При добавлении нескольких IP-подсетей используйте запятую между каждой подсетями IP-адресов. Не включать пробелы до или после запятой.

  2. Обновите ресурс виртуальная сеть с измененным свойством 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
    
  3. Проверьте виртуальная сеть, чтобы просмотреть настроенный 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