ネットワーク パケット ブローカー
Azure Operator Nexus のネットワーク パケット ブローカーは、電気通信サービス プロバイダー向けに調整された Microsoft Azure の特殊なオファリングです。 Azure Operator Nexus のネットワーク パケット ブローカーを使用すると、通信オペレーターが、インフラストラクチャ (AON) 全体のトラフィックを効率的にキャプチャ、集計、フィルター処理、監視できるため、詳細なパケット インスペクション、トラフィック分析、ネットワーク監視の強化が可能になります。 高品質のサービスの維持、セキュリティ確保、規制要件への準拠が重視される電気通信業界では、これが重要です。 このソリューションを適用することで、オペレーターは、ネットワーク トラフィックの可視性を高め、問題をより効果的にトラブルシューティングし、最終的には、最高水準のネットワーク セキュリティとパフォーマンスを維持しながら、お客様へのサービスを改善することができます。
ネットワーク パケット ブローカー (NPB) は、Microsoft.managednetworkfabric の下で、独立したトップ レベルの Azure Resource Manager (ARM) リソースとして設計およびモデル化されています。 オペレーターによるネットワーク TAP、ネットワーク TAP 規則、および近隣グループ関数の作成、読み取り、更新、削除が可能です。 各ネットワーク パケット ブローカーが、ネットワーク TAP、近隣グループ、ネットワーク TAP 規則などの複数のリソースを持ち、指定されたトラフィックを管理、フィルター処理、転送します。
ネットワーク パケット ブローカーを有効にする手順
前提条件
- NPB デバイスを正しく並べて配置し、プロビジョニングします。 ネットワーク ファブリックをプロビジョニングする手順については、ネットワーク ファブリックのプロビジョニングに関する記事を参照してください。
- 各 vProbe を専用 IP で設定します
- 内部 vProbe の場合は、内部ネットワークを使用したレイヤー 3 分離ドメインを作成します。 必要な接続済みサブネットを構成したうえで、拡張機能フラグを NPB (内部ネットワーク内) に設定する必要があります。 分離ドメインに内部ネットワークと外部ネットワークを作成し、NPB の拡張フラグを設定する方法については、分離ドメインに関する記事を参照してください。
- ネットワーク間相互接続 (NNI) のユース ケースの場合は、NNI をタイプ
NPB
として作成します。 NNI の作成時に、適切なレイヤー 2 およびレイヤー 3 のプロパティを定義する必要があります。 ネットワーク間相互接続 (NNI) を作成する手順については、ネットワーク ファブリックのプロビジョニングに関する記事を参照してください。
手順
- 一致構成を提供するネットワーク TAP 規則を作成します (インライン入力方式のみがサポートされます)
- 宛先を定義する近隣グループ リソースを作成します。
- Tap 規則と近隣グループを参照するネットワーク TAP リソースを作成します。
- ネットワーク TAP リソースを有効にします。
NPB
ブートストラップ中は NNF でこのリソースが自動作成されます。
NPB を表示する
このコマンドにより、NPB 論理リソースの詳細が表示されます。
az networkfabric npb show --resource-group "example-rg" --resource-name "NPB1"
予想される出力
{
"properties": {
"networkFabricId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourcegroups/example-rg/providers/Microsoft.ManagedNetworkFabric/networkFabrics/example-networkFabric",
"networkDeviceIds": [
"/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourcegroups/example-rg/providers/Microsoft.ManagedNetworkFabric/networkDevices/example-networkDevice"
],
"sourceInterfaceIds": [
"/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourcegroups/example-rg/providers/Microsoft.ManagedNetworkFabric/networkDevices/example-networkDevice/networkInterfaces/example-networkInterface"
],
"networkTapIds": [
"/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourcegroups/example-rg/providers/Microsoft.ManagedNetworkFabric/networkTaps/example-networkTap"
],
"neighborGroupIds": [
"/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourcegroups/example-rg/providers/Microsoft.ManagedNetworkFabric/neighborGroups/example-neighborGroup"
],
"provisioningState": "Succeeded"
},
"tags": {
"key2806": "key"
},
"location": "eastuseuap",
"id": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourcegroups/example-rg/providers/Microsoft.ManagedNetworkFabric/networkPacketBrokers/example-networkPacketBroker",
"name": "example-networkPacketBroker",
"type": "microsoft.managednetworkfabric/networkPacketBrokers",
"systemData": {
"createdBy": "email@address.com",
"createdByType": "User",
"createdAt": "2023-05-17T11:56:12.100Z",
"lastModifiedBy": "email@address.com",
"lastModifiedByType": "User",
"lastModifiedAt": "2023-05-17T11:56:12.100Z"
}
}
ネットワーク TAP 規則
NetworkTapRule リソースは、条件とアクションの組み合わせをフィルター処理し、転送する機能を提供します。
ネットワーク TAP 規則のパラメーター
パラメーター | 説明 | 例 | 必須 |
---|---|---|---|
resource-group | NetworkTapRule 専用の適切なリソース グループ名を使用します | ResourceGroupName | 正しい |
resource-name | ネットワーク TAP のリソース名 | InternetTAPrule1 | True |
location | ネットワーク ファブリック コントローラー (NFC) の作成時に使用される Azon Azure リージョン | eastus | True |
configuration-type | ネットワーク TAP 規則を構成するための入力方式。 | インラインまたはファイル | True |
match-configurations | 一致構成のリスト。 | ||
match-configurations/matchconfigurationName | 一致構成ブロックの名前 | ||
match-configurations/sequenceNumber | 一致構成のシーケンス番号 | ||
match-configurations/ipAddressType | IP アドレス ファミリ | ||
match-configurations/matchconditions | ポート、プロトコル、VLAN および IP 条件に基づく動的一致条件のリスト。 | ||
match-configurations/action | アクションの詳細を指定します。 アクションには、Drop、Count、Log、Goto、Redirect、Mirror を指定できます | ||
dynamic-match-configurations | ポート、VLAN および IP に基づく動的一致構成のリスト |
Note
ネットワーク Tap 規則と近隣グループは、ネットワーク Tap でそれが参照される前に作成する必要があります
ネットワーク Tap 規則を作成する
このコマンドを実行すると、新しい Tap 規則が作成されます。
az networkfabric taprule create --resource-group "example-rg" --location "westus3"--resource-name "example-networktaprule"\
--configuration-type "Inline" \
--match-configurations "[{matchConfigurationName:config1,sequenceNumber:10,ipAddressType:IPv4,matchConditions:[{encapsulationType:None,portCondition:{portType:SourcePort,layer4Protocol:TCP,ports:[100],portGroupNames:['example-portGroup1']},protocolTypes:[TCP],vlanMatchCondition:{vlans:['10'],innerVlans:['11-20']},ipCondition:{type:SourceIP,prefixType:Prefix,ipPrefixValues:['10.10.10.10/20']}}],\
actions:[{type:Drop,truncate:100,isTimestampEnabled:True,destinationId:'/subscriptions/xxxxx-xxxx-xxxx-xxxx-xxxxx/resourcegroups/example-rg/providers/Microsoft.ManagedNetworkFabric/neighborGroups/example-neighborGroup',matchConfigurationName:match1}]}]"\
--dynamic-match-configurations"[{ipGroups:[{name:'example-ipGroup1',ipAddressType:IPv4,ipPrefixes:['10.10.10.10/30']}],vlanGroups:[{name:'example-vlanGroup',vlans:['10']}],portGroups:[{name:'example-portGroup1',ports:['100-200']}]}]"
予想される出力:
{
"properties": {
"networkTapId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourcegroups/example-rg/providers/Microsoft.ManagedNetworkFabric/networkTaps/example-taprule",
"pollingIntervalInSeconds": 30,
"lastSyncedTime": "2023-06-12T07:11:22.485Z",
"configurationState": "Succeeded",
"provisioningState": "Accepted",
"administrativeState": "Enabled",
"annotation": "annotation",
"configurationType": "Inline",
"tapRulesUrl": "",
"matchConfigurations": [
{
"matchConfigurationName": "config1",
"sequenceNumber": 10,
"ipAddressType": "IPv4",
"matchConditions": [
{
"encapsulationType": "None",
"portCondition": {
"portType": "SourcePort",
"l4Protocol": "TCP",
"ports": [
"100"
],
"portGroupNames": [
"example-portGroup1"
]
},
"protocolTypes": [
"TCP"
],
"vlanMatchCondition": {
"vlans": [
"10"
],
"innerVlans": [
"11-20"
],
"vlanGroupNames": [
"example-vlanGroup"
]
},
"ipCondition": {
"type": "SourceIP",
"prefixType": "Prefix",
"ipPrefixValues": [
"10.10.10.10/20"
],
"ipGroupNames": [
"example-ipGroup"
]
}
}
],
"actions": [
{
"type": "Drop",
"truncate": "100",
"isTimestampEnabled": "True",
"destinationId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourcegroups/example-rg/providers/Microsoft.ManagedNetworkFabric/neighborGroups/example-neighborGroup",
"matchConfigurationName": "match1"
}
]
}
],
"dynamicMatchConfigurations": [
{
"ipGroups": [
{
"name": "example-ipGroup1",
"ipPrefixes": [
"10.10.10.10/30"
]
}
],
"vlanGroups": [
{
"name": "example-vlanGroup",
"vlans": [
"10",
"100-200"
]
}
],
"portGroups": [
{
"name": "example-portGroup1",
"ports": [
"100-200"
]
},
{
"name": "example-portGroup2",
"ports": [
"900",
"1000-2000"
]
}
]
}
]
},
"tags": {
"keyID": "keyValue"
},
"location": "eastuseuap",
"id": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourcegroups/example-rg/providers/Microsoft.ManagedNetworkFabric/networkTapRules/example-tapRule",
"name": "example-tapRule",
"type": "microsoft.managednetworkfabric/networkTapRules",
"systemData": {
"createdBy": "email@address.com",
"createdByType": "User",
"createdAt": "2023-06-12T07:11:22.488Z",
"lastModifiedBy": "user@mail.com",
"lastModifiedByType": "User",
"lastModifiedAt": "2023-06-12T07:11:22.488Z"
}
}
ネットワーク Tap 規則を表示する
次のコマンドを実行すると、IP コミュニティ リソースが表示されます。
az networkfabric taprule show --resource-group "example-rg" --resource-name "example-networktaprule"
予想される出力:
{
"properties": {
"networkTapId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourcegroups/example-rg/providers/Microsoft.ManagedNetworkFabric/networkTaps/example-taprule",
"pollingIntervalInSeconds": 30,
"lastSyncedTime": "2023-06-12T07:11:22.485Z",
"configurationState": "Succeeded",
"provisioningState": "Accepted",
"administrativeState": "Enabled",
"annotation": "annotation",
"configurationType": "Inline",
"tapRulesUrl": "",
"matchConfigurations": [
{
"matchConfigurationName": "config1",
"sequenceNumber": 10,
"ipAddressType": "IPv4",
"matchConditions": [
{
"encapsulationType": "None",
"portCondition": {
"portType": "SourcePort",
"l4Protocol": "TCP",
"ports": [
"100"
],
"portGroupNames": [
"example-portGroup1"
]
},
"protocolTypes": [
"TCP"
],
"vlanMatchCondition": {
"vlans": [
"10"
],
"innerVlans": [
"11-20"
],
"vlanGroupNames": [
"example-vlanGroup"
]
},
"ipCondition": {
"type": "SourceIP",
"prefixType": "Prefix",
"ipPrefixValues": [
"10.10.10.10/20"
],
"ipGroupNames": [
"example-ipGroup"
]
}
}
],
"actions": [
{
"type": "Drop",
"truncate": "100",
"isTimestampEnabled": "True",
"destinationId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourcegroups/example-rg/providers/Microsoft.ManagedNetworkFabric/neighborGroups/example-neighborGroup",
"matchConfigurationName": "match1"
}
]
}
],
"dynamicMatchConfigurations": [
{
"ipGroups": [
{
"name": "example-ipGroup1",
"ipPrefixes": [
"10.10.10.10/30"
]
}
],
"vlanGroups": [
{
"name": "example-vlanGroup",
"vlans": [
"10",
"100-200"
]
}
],
"portGroups": [
{
"name": "example-portGroup1",
"ports": [
"100-200"
]
},
{
"name": "example-portGroup2",
"ports": [
"900",
"1000-2000"
]
}
]
}
]
},
"tags": {
"keyID": "keyValue"
},
"location": "eastuseuap",
"id": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourcegroups/example-rg/providers/Microsoft.ManagedNetworkFabric/networkTapRules/example-tapRule",
"name": "example-tapRule",
"type": "microsoft.managednetworkfabric/networkTapRules",
"systemData": {
"createdBy": "email@address.com",
"createdByType": "User",
"createdAt": "2023-06-12T07:11:22.488Z",
"lastModifiedBy": "user@mail.com",
"lastModifiedByType": "User",
"lastModifiedAt": "2023-06-12T07:11:22.488Z"
}
}
近隣グループ
近隣グループ リソースには、フィルター処理されたトラフィックの転送先をグループ化する機能があります
近隣グループのパラメーター
パラメーター | 説明 | 例 | 必須 |
---|---|---|---|
resource-group | NeighborGroup 専用の適切なリソース グループ名を使用します | ResourceGroupName | 正しい |
resource-name | NeighborGroup のリソース名 | example-Neighbor | True |
location | NFC 作成時に使用される AzON Azure リージョン | eastus | True |
宛先 | トラフィックの転送先 Ipv4 または Ipv6 のリスト | 10.10.10.10 | True |
近隣グループを作成する
このコマンドを実行すると、近隣グループ リソースが作成されます。
az networkfabric neighborgroup create --resource-group "example-rg" --location "westus3"
--resource-name "example-neighborgroup" --destination "{ipv4Addresses:['10.10.10.10']}"
予想される出力:
{
"properties": {
"networkTapIds": [
],
"networkTapRuleIds": [
],
"destination": {
"ipv4Addresses": [
"10.10.10.10",
]
},
"provisioningState": "Succeeded",
"annotation": "annotation"
},
"tags": {
"keyID": "KeyValue"
},
"location": "eastus",
"id": "/subscriptions/subscriptionId/resourceGroups/example-rg/providers/Microsoft.ManagedNetworkFabric/neighborGroups/example-neighborGroup",
"name": "example-neighborGroup",
"type": "microsoft.managednetworkfabric/neighborGroups",
"systemData": {
"createdBy": "user@mail.com",
"createdByType": "User",
"createdAt": "2023-05-23T05:49:59.193Z",
"lastModifiedBy": "email@address.com",
"lastModifiedByType": "User",
"lastModifiedAt": "2023-05-23T05:49:59.194Z"
}
}
近隣グループ リソースを表示する
次のコマンドを実行すると、IP 拡張コミュニティ リソースが表示されます。
az networkfabric neighborgroup show --resource-group "example-rg" --resource-name "example-neighborgroup"
予想される出力:
{
"properties": {
"networkTapIds": [
],
"networkTapRuleIds": [
],
"destination": {
"ipv4Addresses": [
"10.10.10.10",
]
},
"provisioningState": "Succeeded",
"annotation": "annotation"
},
"tags": {
"keyID": "KeyValue"
},
"location": "eastus",
"id": "/subscriptions/subscriptionId/resourceGroups/example-rg/providers/Microsoft.ManagedNetworkFabric/neighborGroups/example-neighborGroup",
"name": "example-neighborGroup",
"type": "microsoft.managednetworkfabric/neighborGroups",
"systemData": {
"createdBy": "user@mail.com",
"createdByType": "User",
"createdAt": "2023-05-23T05:49:59.193Z",
"lastModifiedBy": "email@address.com",
"lastModifiedByType": "User",
"lastModifiedAt": "2023-05-23T05:49:59.194Z"
}
}
Network TAP
ネットワーク TAP を使用すると、オペレーターが、ネットワーク TAP 規則に基づいて、フィルター処理されたトラフィックの転送先とカプセル化メカニズムを定義できます
ネットワーク TAP のパラメーター
パラメーター | 説明 | 例 | 必須 |
---|---|---|---|
resource-group | ネットワーク Tap 専用の適切なリソース グループ名を使用します | ResourceGroupName | 正しい |
resource-name | ネットワーク Tap のリソース名 | NetworkTAP-Austin | True |
location | NFC 作成時に使用される AzON Azure リージョン | eastus | True |
network-packet-broker-id | ネットワーク パケット ブローカー リソースの ARMID | True | |
polling-type | ネットワーク Tap 規則のポーリング方式 (プッシュまたはプル) | プル | True |
宛先 | 宛先の定義 | True | |
destination/name | 宛先の名前 | ||
destination/type | destination.IsolationDomain または NNI の種類 | ||
destination/IsolationDomainProperties | 分離ドメインの詳細。 カプセル化、近隣グループ ID | 内部ネットワークまたは NNI の Azure Resource Manager (ARM) ID | いいえ |
destinationTapRuleId | 適用する必要がある Tap 規則の ARMID | True |
Note
ネットワーク Tap 規則と近隣グループは、ネットワーク Tap でそれが参照される前に作成する必要があります
NetworkTAP デバイス プログラミングの命名規則/ベスト プラクティス:
これらのフィールドセット名 (vlanGroupNames、ipGroupNames、PortGroupNames) 内の構成と値が一意であり、互いに競合しないことを確認することが重要です。
レコメンデーション:
一意のフィールドセット名: フィールドセットの内容が異なる場合、NetworkTAPRules 全体でフィールドセット名が一意である必要があります。
一意のリソース名: NetworkTAP と NetworkTAPRule のリソース名は、ファブリック内のリソース グループ全体で一意である必要があります。
リージョンリソースの作成: NetworkTAP と NetworkTAPRule リソースはリージョン内で作成し、リージョン内のそれぞれのファブリックに関連付ける必要があります。
送信先の名前の変更: 送信先の名前は定義されたネットワーク TAP 規則の送信先の構成で一意です。 ネットワーク TAP 構成がデバイスにプッシュされると、送信先の名前は変更できません。
ネットワーク TAP を作成する
このコマンドを実行すると、ネットワーク Tap リソースが作成されます。
az networkfabric tap create --resource-group "example-rg" --location "westus3" \
--resource-name "example-networktap" \
--network-packet-broker-id "/subscriptions/xxxxx-xxxx-xxxx-xxxx-xxxxx/resourcegroups/example-rg/providers/Microsoft.ManagedNetworkFabric/networkPacketBrokers/example-networkPacketBroker" \
--polling-type "Pull"\
--destinations "[{name:'example-destinationName',destinationType:IsolationDomain,destinationId:'/subscriptions/xxxxx/resourcegroups/example-rg/providers/Microsoft.ManagedNetworkFabric/l3IsolationDomains/example-l3Domain/internalNetworks/example-internalNetwork',\
isolationDomainProperties:{encapsulation:None,neighborGroupIds:['/subscriptions/xxxxx-xxxx-xxxx-xxxx-xxxxx/resourcegroups/example-rg/providers/Microsoft.ManagedNetworkFabric/neighborGroups/example-neighborGroup']},\