はじめに
Azure の VNET 周りの動作で、下記のようなポイントを改めて確認したので、残しておこうと思います。
- 同一 VNET のサブネット間は、既定ではルーティングされる
- 特に NSG を設計しなくても、相互に通信ができる
- 逆に、ある程度制限したい場合は NSG を作れば対応できる
構成図
1. 同一 VNET のサブネット間は、既定ではルーティングされる
問題なくいけました。
$ route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default _gateway 0.0.0.0 UG 100 0 0 eth0
10.0.3.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
168.63.129.16 _gateway 255.255.255.255 UGH 100 0 0 eth0
169.254.169.254 _gateway 255.255.255.255 UGH 100 0 0 eth0
$ ping 10.0.4.4
PING 10.0.4.4 (10.0.4.4) 56(84) bytes of data.
64 bytes from 10.0.4.4: icmp_seq=1 ttl=64 time=1.17 ms
64 bytes from 10.0.4.4: icmp_seq=2 ttl=64 time=1.37 ms
64 bytes from 10.0.4.4: icmp_seq=3 ttl=64 time=1.09 ms
^C
--- 10.0.4.4 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2002ms
rtt min/avg/max/mdev = 1.094/1.212/1.370/0.116 ms
2. 特に NSG を設計しなくても、相互に通信ができる
上記は ping ですが、HTTP なども問題なく通信できます。
$ curl http://10.0.4.4/
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xh
tml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<!--
Modified from the Debian original for Ubuntu
Last updated: 2016-11-16
See: https://launchpad.net/bugs/1288690
-->
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Apache2 Ubuntu Default Page: It works</title>
以下略
3. 逆に、ある程度制限したい場合は NSG を作れば対応できる
下記のような NSG を作成し、それぞれの Subnet に割り当てます。
$ curl http://10.0.4.4/
curl: (7) Failed to connect to 10.0.4.4 port 80: Connection timed out
ということで、通信制限ができました (DROP ですね)。
最後に
ちょっと話はそれますが、Draw.io 良いですね。冒頭のネットワーク図はコレで作成しました。