109
人物
實現安全組內網絡隔離
背景介紹
安全組默認的網絡連通策略是:同一安全組內的實例之間網絡互通,不同安全組的實例之間默認內網不通。這個策略滿足了絕大多數客戶的需求,但也有少數客戶希望能夠改變安全組網絡連通策略,同一個安全組內的網絡是隔離的而不是互通的,這樣可以大大減少安全組的數量進而降低維護和管理安全組的成本。基於這些客戶的訴求,我們豐富了安全組網絡連通策略,支持安全組內網絡隔離。要使用此功能,您需要首先了解安全組內網絡隔離的一些細節:
安全組內網絡隔離的幾點說明
- 隔離的粒度是網卡而不是ECS實例 如果ECS實例掛載了多塊網卡,這一點需要特別注意。
- 不會改變默認的網絡連通策略 安全組**默認的**網絡連通策略仍然是同一安全組內的實例之間網絡**互通**,不同安全組的實例之間默認內網不通。新的功能隻是為您提供了一種手段來修改網絡連通策略,因此新功能不會對您既有安全組或者對您新建的安全組造成任何影響。
- 隔離優先的原則
- 被設置為組內“隔離”的安全組,優先級要高於“互通”的安全組,所以如果有兩個實例屬於被設置為“隔離”的安全組,那麼這兩個實例間網絡一定不可達,不管是否它們還同時屬於“互通”的安全組。
- 被設置為組內“隔離”的安全組,優先級要高於用戶定義的所有ACL,所以被隔離的安全組,組內實例間網絡一定不可達,即使增加允許訪問的ACL也不起作用。
- 網絡隔離隻限於當前組內的實例(網卡) 假設當前安全組是G1,組內網絡設置為“隔離”,vm1和vm2屬於G1,vm2和vm3屬於G2,G2的組內網絡互通,那麼vm1和vm2網絡不可達,但vm2和vm3之間網絡可達。
為了更好的理解安全組內網絡格力的約束和限製,下麵以一個典型的例子加以說明(出於便於表達的目的,都假設一個實例隻有一塊網卡,因此網卡隔離就等價於實例隔離),實例和實例所屬的安全組的關係如下圖:
安全組內網絡連通策略如下:
安全組 | 內網連通策略 | 包含的實例 |
---|---|---|
G1 | 隔離 | Vm1,Vm2 |
G2 | 互通 | Vm1,Vm2 |
G3 | 互通 | Vm2,Vm3 |
這個例子中各實例間網絡連通情況如下表:
實例間網絡 | 互通/隔離 | 原因 |
---|---|---|
Vm1-Vm2 | 隔離 | Vm1,Vm2同時屬於G1和G2,G1的策略是“隔離”,G2的策略是“互通”,基於“隔離”優先的原則,Vm1到Vm2之間不可通信 |
Vm2-Vm3 | 互通 | Vm2和Vm3同時屬於G3,而且G3的策略是“互通”,所以Vm2和Vm3默認可以通信 |
Vm1-Vm3 | 隔離 | Vm1和Vm3分屬不同的安全組,按照默認的網絡連通策略,不同安全組的實例之間默認內網不通 |
修改安全組內網絡連通策略API
關於此功能的API細節,請參考ModifySecurityGroupPolicy
最後更新:2017-07-27 18:02:55