Azure 虛擬網路利用軟體的方式操作 Azure 資料中心內的網路建設,它本身就是一個大型的軟體定義網路解決方案,網路管理人員可在 Azure 虛擬網路內自由劃分需要的子網路與IP位址空間。Azure 虛擬網路提供了三種基本位址空間供選擇 (都是 IP 位址中已定義的私人網路範圍):
10.0.0.0
172.16.0.0
192.168.0.0
網路管理人員可利用 CIDR 的網路劃分法來定義主位址空間 (例如 10.0.0.0/8 或 10.0.0.0/16),並在位址空間內劃分出子網路 (例如 10.0.1.0/24, 10.0.2.0/24) 供虛擬機器配給 IP 之用,每個子網路都有自己的 DHCP 伺服器,當虛擬機器加入到子網路時,就會自動分派 IP 位址給它,一個子網路可用的位址為該子網路劃分出的位址數量-3,Azure會保留每個子網路的前三個 IP (.1~.3) 供 Azure 服務使用 [1],因此可用位址均是由 .4 開始。
雖然子網路可以動態分配 IP 位址給虛擬機器,不過網路管理人員或服務也可以自訂要使用的 IP 位址。
IP 位址
虛擬網路中的 IP 位址,視可聯外與否而區分,但是在新的資源管理模式 (Resource Management) 問世後,IP 位址被簡化成內部 IP 與公用 IP 兩種 [2]。
公用 IP
公用 IP (Public IP) 負責對 Internet 的連線,虛擬網路內的資源若要能連到 Internet,就必須設置一個或多個公用 IP,公用 IP 的配給方式由 Azure 管理,網路管理人員可利用 Portal 或是 PowerShell 指令等方式向 Azure 索取 IP 位址,不過 IP 位址會視可重覆使用的類型分成動態 (dynamic) 與靜態 (static),動態係指當運算資源上線時才會分派 IP 位址,適合用在一般性的對外運算資源,但由於 IP 不固定,無法適用於常態性的 Internet 服務 (如 DNS 或 SSL),若需要 IP 固定,則要使用靜態公用 IP,它自配發開始就固定 (視為永久上線狀態),直到它被刪除為止。
公用 IP 位址在舊的服務管理模式下,和服務有緊密的結合,因此會有下列幾種類型:
執行個體層級公用 IP (Instance-Level Public IP, ILPIP),繫結在虛擬機器的公用 IP,為動態的公用 IP,。
保留 IP (Reserved IP, VIP),繫結在雲端服務上的 IP,為靜態的公用 IP,但不能繫結在虛擬機器,虛擬機器要使用通訊埠對應才能使用保留 IP 連線 [3]。
在資源管理模式下屬於獨立資源,它可以與網路卡、負載平衡器、網路閘道器 (Network Gateway) 與應用程式閘道器 (Application Gateway) 四種資源繫結 (Binding),當 IP 不需繫結時可單獨存在,動態模式的公用 IP 在未繫結時不會配發 IP,靜態 IP 則有繫結的資源限制 (它不可以和網路閘道器或應用程式閘道器繫結)。
內部 IP
內部 IP (Private IP) 則是虛擬網路內運算資源之間通訊的基礎,每個配置到虛擬網路內的運算資源都會配給內部 IP,通常是由 DHCP 依子網路的位址空間進行配發,但網路管理人員也可以使用靜態的內部 IP (Static VNet IP),當運算資源註冊了靜態內部 IP 時,除非運算資源被刪除或是解除靜態內部 IP 的繫結,否則不論運算資源啟動與否,該靜態內部 IP 都會存在且固定。靜態內部 IP 可配置在網路卡、負載平衡器與應用程式閘道器 (Application Gateway)。然而靜態內部 IP 與公用 IP 不同,它不會獨立存在,而是依附於子網路的設定內,因此各網路資源都要使用靜態內部 IP 要個別設定無法共用。
DNS
Azure 虛擬網路內預設使用由 Azure 提供的名稱解析服務 (Name Resolution Services),當虛擬機器配置到虛擬網路內時,其 DNS 設定會指向 Azure 的名稱解析服務,負責 Azure 本身相關服務的名稱對應,在早期以雲端服務為主的運算服務,若沒有它,則無法解析如 cloudapp.net 的名稱對應,不過在資源管理員模式導入後,它不再是必備的條件,只是若公用的 IP 位址設定了 DNS 名稱時,仍然會以 Azure 的 DNS 來處理名稱解析 [4]。
網路管理人員若需要自己的名稱解析方案 (如在虛擬網路內佈建 Active Directory 網域控制站) 時,仍然可以在虛擬網路內架設 DNS 伺服器,以供應自訂的名稱解析解決方案。
2015 年時,Azure 推出了自己的網域名稱代管服務 (DNS Hosting Service),對外使用 Azure DNS 的名稱,但為避免與原有的 Azure 名稱解析服務 (其原本在文件內的名稱也是 Azure DNS),目前在 Azure 官方技術文件上看到的 Azure DNS 都是指網域名稱代管服務,而原本的 Azure DNS 則改為名稱解析服務 (Azure-provided name resolution)。
內部負載平衡器則是配置在虛擬網路內,其來源由虛擬網路內的子網路決定 (也可設定固定的靜態內部 IP),其通訊埠對應機制與面對 Internet 的負載平衡器相同,但它的運用更多元,除了可輔助面對 Internet 的負載平衡器實作出多層次的應用負載平衡 (如對外是 Web Application 的負載平衡,對內則是 Database 的負載平衡),也可以讓企業的地端網路透過 VPN 直接存取內部負載平衡器以分散內部的流量。