Azure VMで出現するenPから始まる仮想NICについて（Azure MANA）

# AzureVMにて…
Azure VM上でNICを確認した時のことです。
```
ip link
```
出力結果
```
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000
    link/ether 00:0d:3a:6f:df:72 brd ff:ff:ff:ff:ff:ff
3: enP11747s1: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc mq master eth0 state UP mode DEFAULT group default qlen 1000
    link/ether 00:0d:3a:6f:df:72 brd ff:ff:ff:ff:ff:ff
    altname enP11747p0s2
```

1. lo：ループバックインターフェース。ネットワークの接続テストや自身のマシン上で実行されているプロセス間の通信に使用される
2. eth0：Ethernetインターフェース
3. enP11747s1：？？？

1と2は想定通りですが3のNICは何者なんだ…？となり、調べてみました。結論から言うと、これは**Azure MANA**と呼ばれる仮想NICです。

# Azure MANAとは
Azure MANA（Microsoft Azure Network Adapter）とは高速ネットワーク（accelerated-network）機能がサポートされているサイズのVM上でデフォルトで作成される仮想NICのことです。
高速ネットワーク機能とは、簡単に言うとAzureVM上で透過的に作成される仮想スイッチ上での処理をなくして通信を早くする仕組みです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2475719/0c334182-9384-05ff-1b6e-ee0daa190ac6.png)

高速ネットワーク機能がサポートされているか否はAzure VMのサイズによって異なります。
今回検証していた時のサイズは「Standard D2s v3 (2 vcpus, 8 GiB memory)」でした。
MSLearnを見てみます。

https://learn.microsoft.com/ja-jp/azure/virtual-machines/dv2-dsv2-series

「高速ネットワーク」は「サポートされています」となっていますね。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2475719/65970819-57a9-cbff-30dc-b820a829c166.png)

実際に検証に使ったVMのNICを見てみても「Accelerated networking」が「Enabled」となっています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2475719/a0cb3842-9d53-3bc6-22d4-2589bffe8444.png)
だからAzure MANAが作成されていたんですね！

ちなみに、Azure poralでAzure VMを作成する時に、高速ネットワークがサポートされているサイズを選択している場合は「ネットワーク」タブ上で有効・無効を選択可能です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2475719/9757842e-dc2c-4f0b-0fb4-1432b14b4d8d.png)

# 逆に…

今度は、高速ネットワークがサポートされていないサイズを探してみました。「Standard A1 v2(1 vcpu, 2GiB memory)」です。

https://learn.microsoft.com/ja-jp/azure/virtual-machines/av2-series

実際に作成してリンクを確かめてみると…

```
ncbpso101@AZ-foo-tmp01:~$ ifconfig
eth0      Link encap:Ethernet  HWaddr 00:0d:3a:cd:f3:b0  
          inet addr:10.10.100.28  Bcast:10.10.100.63  Mask:255.255.255.192
          inet6 addr: fe80::20d:3aff:fecd:f3b0/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:112392 errors:0 dropped:0 overruns:0 frame:0
          TX packets:9756 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:162300350 (162.3 MB)  TX bytes:907641 (907.6 KB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:164 errors:0 dropped:0 overruns:0 frame:0
          TX packets:164 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:12104 (12.1 KB)  TX bytes:12104 (12.1 KB)

ncbpso101@AZ-foo-tmp01:~$
```
Azure MANAが作成されていないですね！想定通り！

# 参考

https://learn.microsoft.com/ja-jp/azure/virtual-network/accelerated-networking-mana-linux