我希望部署在Azure上測試網絡與10個虛擬機,每個虛擬機的私有IP,在下面的網絡堆棧:SSH到Azure上
1 virtual network -> 1 subnet -> 1 network interface card (nic) -> 10 VMs
我想什麼確認:是否有可能爲每個虛擬機分配一個私有IP地址,全部都在同一個網絡中,並且能夠通過虛擬網絡的頂層公共IP爲每個虛擬機隧道提供SSH隧道?
我希望部署在Azure上測試網絡與10個虛擬機,每個虛擬機的私有IP,在下面的網絡堆棧:SSH到Azure上
1 virtual network -> 1 subnet -> 1 network interface card (nic) -> 10 VMs
我想什麼確認:是否有可能爲每個虛擬機分配一個私有IP地址,全部都在同一個網絡中,並且能夠通過虛擬網絡的頂層公共IP爲每個虛擬機隧道提供SSH隧道?
是否有可能爲每個虛擬機分配一個私有IP地址,全部在 之下?
不,這是不可能的。在Azure上,網絡接口卡(NIC)是一個獨立的資源。 只能將一個NIC關聯到一個VM,但可以將多個NIC添加到一個VM(取決於VM大小)。你可以參考這個official document。
所以,如果你想讓所有的虛擬機使用同一個網卡,這是不可能的。
按照Azure的限制文檔,每個網絡接口可以支持 50私有IP地址
是的,一個網卡可以關聯多個私有IP地址,但並不意味着你可以添加一個NIC到多個VM。您只能在一臺虛擬機上爲一個NIC添加多個IP。請參閱此official document。
並且能夠通過SSH隧道進入其中的每個虛擬網絡的頂級公衆 IP?
Azure支持這一點,如果您的虛擬機在同一個VNet中,您可以使用私有IP在您的虛擬機之間ssh到其他虛擬機。正如大衛所說,你可以使用跳箱。您可以將Public IP關聯到一個虛擬機。然後,當您在Azure上使用ssh訪問虛擬機時,您可以在同一VNet中使用私有IP訪問任何虛擬機。
使用「經典」虛擬機時,您將在名稱空間xyz.cloudapp.net
中擁有多個虛擬機,它們都共享相同的IP地址。並且每個虛擬機的ssh端口都將映射到負載平衡器上的某個唯一入站端口。
使用基於ARM的VM時,每個虛擬機都有自己的網絡接口。每臺虛擬機具有獨立的iP。
如果你願意,你可以簡單地在你的虛擬機上沒有任何入站流量(例如沒有分配IP地址)。然後部署一個帶有ssh的單跳箱,並且使用同一個vnet的跳箱部分。一旦進入跳轉箱,您就可以對任何一個10個vm進行ssh。
Thanks @David。我剛剛閱讀跳箱,聽起來就是這正是我要找的。爲什麼每個虛擬機都需要一個網絡接口?根據Azure限制文檔,每個網絡接口可以支持50個私有IP,我是否不需要一個接口就可以支持10個VM? – karysto
這很有道理,並感謝您清除私密IP問題。看起來我需要爲每個虛擬機制作一個網頁並使用跳轉框。 – karysto