安全性群組是一種虛擬防火牆,具備狀態檢測和資料包過濾能力,用於在雲端劃分安全域。通過添加安全性群組規則,您可以控制安全性群組內ECI執行個體的入流量和出流量。
安全性群組概述
安全性群組定義
安全性群組是一個邏輯上的分組,由同一地區內具有相同安全保護需求並相互信任的執行個體組成。通過添加安全性群組規則,安全性群組可以允許或拒絕安全性群組內ECI執行個體對公網或者私網的訪問,以及管理是否允許存取來自公網或私網的訪問請求。
一個安全性群組可以管理同一個地區內的多台ECI執行個體。
一台ECI執行個體必須且僅支援屬於一個安全性群組。
安全性群組類型
安全性群組分為普通安全性群組和企業安全性群組,建立時預設添加的安全性群組規則如下:
入方向:允許存取80、443、22、3389及ICMP協議,可修改。
出方向:允許所有訪問請求。
兩種安全性群組主要的功能差異如下表所示。
功能 | 普通安全性群組 | 企業安全性群組 |
未添加任何規則時的存取原則 |
|
|
能容納的私網IP地址數量 | 2000 | 65536 |
同一個安全性群組內執行個體之間的網路連通策略 | 預設內網互連 | 預設內網隔離,需要您手動添加安全性群組規則 |
授權給其它安全性群組 | 支援組組授權 | 不支援組組授權 |
如果您對整體規模和營運效率有較高需求,建議您使用企業安全性群組。相比普通安全性群組,企業安全性群組大幅提升了組內支援容納的執行個體數量,簡化了規則配置方式。
安全性群組規則
安全性群組通過配置規則來控制出入流量。一條安全性群組規則由規則方向、授權策略、協議類型、連接埠範圍、授權對象等屬性確定。關於安全性群組規則,請注意以下事項:
每個安全性群組的入方向規則與出方向規則的總數不能超過200條。
添加規則時遵守最小授權原則。例如:
選擇開放具體的連接埠,如80/80,避免開放連接埠範圍,如1/80。
謹慎授權全網段訪問源,即0.0.0.0/0。
更多資訊,請參見安全性群組概述。
指定安全性群組
建立ECI執行個體時,必須要指定安全性群組,將ECI執行個體加入到安全性群組中。
ECI執行個體不支援修改安全性群組。如果想要變更安全性群組,需要重新建立ECI執行個體。
Kubernetes方式
在Kubernetes情境中通過Virtual Node使用ECI時,叢集中所有ECI執行個體將預設加入到Virtual Node設定的安全性群組中。如果有特殊需求,您也可以為某個ECI執行個體指定其它安全性群組。
叢集
您可以通過kubectl edit命令修改eci-profile設定檔,在data中修改ECI執行個體預設使用的安全性群組ID。
說明Virtual Node版本為v2.0.0.90-15deb126e-aliyun及以上時,支援修改eci-profile實現配置熱更新。如果您的Virtual Node版本低於該版本,建議您升級Virtual Node。
kubectl edit configmap eci-profile -n kube-system
修改data中的securityGroupId欄位,樣本如下:
data: enableClusterIp: "true" enableHybridMode: "false" enablePrivateZone: "false" resourceGroupId: "" securityGroupId: sg-2ze0b9o8pjjzts4h**** #指定安全性群組ID selectors: "" vSwitchIds: vsw-2zeet2ksvw7f14ryz****,vsw-2ze94pjtfuj9vaymf**** vpcId: vpc-2zeghwzptn5zii0w7****
ECI執行個體
對於單個ECI執行個體,您可以在Pod metadata中添加Annotation來指定安全性群組。配置樣本如下:
apiVersion: apps/v1 kind: Deployment metadata: name: demo labels: app: nginx spec: replicas: 1 selector: matchLabels: app: nginx template: metadata: annotations: k8s.aliyun.com/eci-security-group: "sg-bp1dktddjsg5nktv****" #設定安全性群組 labels: app: nginx spec: containers: - name: nginx image: nginx:latest
OpenAPI方式
調用CreateContainerGroup介面建立ECI執行個體時,您可以通過SecurityGroupId參數來指定安全性群組。SecurityGroupId的參數說明如下表所示。更多資訊,請參見CreateContainerGroup。
名稱 | 類型 | 樣本值 | 描述 |
SecurityGroupId | String | sg-uf66jeqopgqa9hdn**** | 指定安全性群組ID。 |
控制台方式
通過Elastic Container Instance售賣頁建立ECI執行個體時,您可以指定一個安全性群組。
添加安全性群組規則
對於安全性群組內的ECI執行個體,您可以添加安全性群組規則來控制其出入流量。例如:
當您的ECI執行個體需要與所在安全性群組之外的網路進行通訊時,您可以添加允許訪問的安全性群組規則,實現網路互連。
當您在運行ECI執行個體的過程中,發現部分請求來源有惡意攻擊行為時,您可以添加拒絕訪問的安全性群組規則,實現網路隔離。
關於如何添加安全性群組規則,請參見添加安全性群組規則。