安全性群組在ECS的使用中扮演了雲上虛擬防火牆的角色,通過管理安全性群組和規則,可提供精細化的網路安全隔離與存取控制。
下圖樣本通過配置兩條安全性群組規則,實現僅允許授權IP遠端管理執行個體,並阻止執行個體訪問公網風險網站的情境。
入方向規則:允許特定IP(
121.XX.XX.XX)通過SSH(22連接埠)訪問執行個體。出方向規則:拒絕執行個體訪問某個已知的風險IP(
XX.XX.XX.XX)。

為建立執行個體配置安全性群組
前往購買執行個體:前往ECS控制台-自訂購買頁面,選擇執行個體配置。
建立安全性群組:在網路和安全性群組內建立普通安全性群組或企業級安全性群組,並編輯安全性群組名稱。
快捷配置常用規則:購買執行個體時,控制台提供了常用的連接埠/協議,勾選後可以允許所有 IP 位址(
0.0.0.0/0)來源訪問目標連接埠,或允許遵循目標協議的流量訪問建立的執行個體。
購買執行個體時建立安全性群組不支援精細配置建立安全性群組的規則,可以在執行個體建立後配置。若在快速配置勾選了管理執行個體使用的連接埠(如遠端連線執行個體常用的SSH(22)、RDP(3389)等),建議建立執行個體後將安全性群組規則設定為僅允許從安全的IP地址進行訪問。
建立後修改/添加/刪除安全性群組規則:購買執行個體後,可參考安全性群組規則的配置資訊,為建立的執行個體添加/修改/刪除安全性群組規則。
可以查看安全性群組應用指導和案例,瞭解如限制執行個體訪問、資料庫安全性原則等更多業務情況下的安全性群組規則配置案例方法。
管理安全性群組
隨ECS執行個體建立的安全性群組可以在建立後進行安全性群組規則修改。安全性群組也可以獨立於執行個體建立管理,並將其關聯至已有的ECS執行個體。
建立安全性群組
控制台
前往ECS控制台-安全性群組頁面,單擊建立安全性群組。
設定安全性群組名稱及Virtual Private Cloud。
選擇安全性群組類型為普通安全性群組或企業級安全性群組。
為安全性群組配置安全性群組規則後,單擊確定建立。
API
調用CreateSecurityGroup,建立安全性群組。
建立的普通安全性群組若未配置規則時,入方向預設會允許同安全性群組內其他ECS的流量,拒絕其他所有入方向流量,出方向允許所有流量。
添加/修改/刪除安全性群組規則
安全性群組規則定義了允許或禁止出入安全性群組的網路流量應匹配的條件。配置規則時,須指定流量方向、訪問目的及優先順序等。 安全性群組規則為有狀態的規則,只需配置入方向規則,安全性群組會自動允許存取對應的出方向響應流量。
控制台
前往ECS控制台-安全性群組頁面,單擊目標安全性群組ID進入安全性群組詳情頁。
配置安全性群組規則。
添加規則:在目標安全性群組詳情頁面,選擇規則需要控制方向,單擊增加規則。
修改規則:在目標安全性群組詳情頁訪問規則地區,找到目標規則,單擊操作列中的編輯。
刪除規則:在目標安全性群組詳情頁訪問規則地區,找到目標規則,單擊操作列中的刪除。
API
調用AuthorizeSecurityGroup,添加入方向規則。
調用AuthorizeSecurityGroupEgress,添加出方向規則。
調用ModifySecurityGroupRule,修改入方向規則。
調用ModifySecurityGroupEgressRule,修改出方向規則。
調用RevokeSecurityGroup,刪除入方向規則。
調用RevokeSecurityGroupEgress,刪除出方向規則。
同優先順序下,拒絕規則優先生效。對於部分特定網路流量,安全性群組會預設允許存取。
為減少業務生產安全問題,建議按照最小範圍(白名單)開放原則配置安全性群組規則,盡量避免涉及登入、管理ECS執行個體等高危情境下允許全量訪問(慎用0.0.0.0/0或::/0)。
避免直接修改生產環境的安全性群組。可以先複製安全性群組,在測試環境調試,確保修改後執行個體流量正常,再對線上環境的安全性群組規則進行修改。
為執行個體關聯安全性群組
當您為ECS執行個體關聯安全性群組時,實際上是在為ECS執行個體的主網卡關聯安全性群組。
控制台
前往ECS控制台-執行個體單擊目標執行個體ID進入執行個體詳情頁。
在執行個體詳情頁切換至安全性群組頁簽,在安全性群組列表頁單擊更換安全性群組,按需將安全性群組加入執行個體或者移除執行個體。關聯多個安全性群組時,安全性群組規則會合并,且按照優先順序排序生效。
API
調用ModifyInstanceAttribute,為一台ECS執行個體設定多個安全性群組。
調用JoinSecurityGroup,將一台ECS執行個體加入到指定的安全性群組。
調用LeaveSecurityGroup,將一台ECS執行個體移出指定的安全性群組。
為輔助彈性網卡關聯安全性群組
安全性群組實際作用在ECS執行個體的彈性網卡上。執行個體有多張彈性網卡時,為彈性網卡關聯不同的安全性群組,並配置差異化的安全性群組規則,可以實現執行個體內部網路流量的分級管控與業務隔離。
控制台
前往ECS控制台-彈性網卡頁面,單擊目標輔助網卡的ID,進入輔助彈性網卡詳情頁。
單擊更換安全性群組,勾選要關聯的安全性群組,單擊確定。
API
調用JoinSecurityGroup將彈性網卡加入到指定的安全性群組。
調用LeaveSecurityGroup將彈性網卡移出指定的安全性群組。
使用ModifyNetworkInterfaceAttribute為彈性網卡指定多個安全性群組。
使用首碼列表
當需對多個IP位址區段進行統一授權時,可使用首碼列表集中管理,從而簡化安全性群組規則配置,提升批量維護效率。
控制台
建立首碼列表:
前往ECS控制台-首碼列表。
根據需求選擇到目標頁簽,單擊建立首碼列表。
引用首碼列表的安全性群組,規則數量會根據列表設定的最大條目數計算。
在目標安全性群組詳情頁訪問規則地區增加或修改規則:
設定訪問來源為首碼列表,選擇目標首碼列表。
API
調用CreatePrefixList,建立一個首碼列表。建立完成後,可以通過DescribePrefixListAttributes查詢首碼列表的詳細資料。
調用AuthorizeSecurityGroup在安全性群組入方向規則中,設定SourcePrefixListId授權已經建立的首碼列表。
調用AuthorizeSecurityGroupEgress在安全性群組出方向規則中,設定DestPrefixListId授權已經建立的首碼列表。
複製安全性群組
當需要大量建立帶有相同配置的安全性群組,或進行跨地區、跨網路類型複製和備份時,可通過複製安全性群組功能快速實現。複製成功後,可在目標地區的安全性群組列表中看到新安全性群組。
前往ECS控制台-安全性群組,在目標安全性群組的操作欄單擊複製安全性群組。
設定目標安全性群組,複製後,新的安全性群組顯示在目標地區的安全性群組列表中。
專用網路ID:新安全性群組的網路類型,選擇傳統網路或者具體的專用網路。
保留規則:勾選將保留原安全性群組中所有規則,優先順序大於100的規則將調整為100。
複製本安全性群組標籤到複製安全性群組:選擇是否需要將原安全性群組的標籤複製到新安全性群組。
匯入/匯出規則
如果需要備份、恢複和遷移規則,可以使用匯入匯出功能。
匯入規則
匯入的安全性群組規則需遵循以下要求:
檔案格式:JSON或CSV。
規則數量:單次匯入不超過200條。
規則優先順序:1到100之間。優先順序高於100的規則將被忽略。
在跨地區匯入規則時,不支援安全性群組規則中授權對象為安全性群組和首碼列表,不支援安全性群組規則中連接埠範圍為連接埠列表。
前往ECS控制台-安全性群組在目標安全性群組詳情頁面訪問規則地區,單擊匯入安全性群組規則。
在匯入安全性群組規則頁面,單擊選擇檔案並選中本地的JSON或CSV檔案,單擊確認。
匯入失敗時,將滑鼠移至上方在警告圖示上可查看原因。
匯出規則
前往ECS控制台-安全性群組,在目標安全性群組詳情頁訪問規則地區,單擊匯出。匯出的規則檔案的命名格式:
JSON格式:ecs_${region_id}_${groupID}.json。
樣本:如果Region ID為
cn-qingdao,安全性群組ID為sg-123,則匯出的檔案名稱為ecs_cn-qingdao_sg-123.json。CSV格式:ecs_sgRule_${groupID}_${region_id}_${time}.csv。
樣本:如果Region ID為
cn-qingdao,安全性群組ID為sg-123,匯出日期為2020-01-20,則匯出的檔案名稱為ecs_sgRule_sg-123_cn-qingdao_2020-01-20.csv。
刪除安全性群組
刪除安全性群組是一個無法復原的操作,將永久刪除安全性群組下所有規則。在執行刪除操作前,請確保備份相關配置。
控制台
前往ECS控制台-安全性群組,在目標安全性群組的操作欄單擊刪除。
在刪除安全性群組對話方塊中,確認資訊後,單擊確定。
如果安全性群組沒有關聯的ECS執行個體和彈性網卡,在刪除安全性群組對話方塊中仍提示不可刪除時,可以單擊嘗試強制移除。
API
調用DeleteSecurityGroup,刪除安全性群組。
安全性群組在以下情境時無法刪除:
已關聯ECS執行個體或彈性網卡時無法刪除,需先將其移除。
被其他安全性群組規則授權,需先刪除授權規則。
託管安全性群組僅支援查看,不可刪除。
開啟了刪除保護,請先關閉刪除保護,然後再嘗試操作。如果無法關閉刪除保護則無法刪除安全性群組。
在使用DeleteSecurityGroup介面刪除安全性群組時返回錯誤碼
InvalidOperation.DeletionProtection,或使用控制台刪除安全性群組看到類似刪除保護的提示時,說明該安全性群組開啟了刪除保護功能。
安全性群組內執行個體網路互連
預設情況下,同一普通安全性群組內的ECS執行個體間內網互連。為提高安全性,可以將組內連通策略調整為組內隔離,禁止執行個體間的內網互連。
企業級安全性群組不支援修改組內連通策略。
當執行個體關聯多個安全性群組時,只要其中任一安全性群組的組內連通原則設定為組內互連,執行個體間即可內網互連。
安全性群組的組內連通原則設定為組內隔離時,可通過配置安全性群組規則,允許執行個體間通訊。
控制台
前往ECS控制台-安全性群組,單擊目標安全性群組ID進入安全性群組詳情頁。
在安全性群組詳情頁面,頁簽基本資料地區,單擊修改組內網路連通策略。
安全性群組的組內連通策略已更改為組內隔離。
API
調用ModifySecurityGroupPolicy,修改普通安全性群組的組內連通策略。
安全性群組間執行個體網路互連
將其他安全性群組設為規則的授權對象時,可允許其他安全性群組內執行個體,通過內網訪問本安全性群組內的執行個體。圖中為安全性群組A設定了入方向的授權對象安全性群組B後,安全性群組B內的執行個體可以通過內網訪問安全性群組A內的執行個體。
企業級安全性群組規則不支援添加授權對象為安全性群組的規則。

控制台
前往ECS控制台-安全性群組,單擊目標安全性群組ID進入安全性群組詳情頁。
在目標安全性群組詳情頁面,選擇規則需要控制方向,單擊增加規則。
在建立安全性群組規則頁面選擇訪問來源為安全性群組或跨帳號安全性群組。
API
調用AuthorizeSecurityGroup在安全性群組入方向規則中設定SourceGroupId授權已建立的安全性群組。
調用AuthorizeSecurityGroupEgress在安全性群組出方向規則中設定DestGroupId授權已建立的安全性群組。
生產應用建議
安全性群組規劃
職責單一:Web、資料庫、緩衝等各業務情境下安全性群組應各自獨立。
環境隔離:生產、測試環境的安全性群組須分離,避免混用。
命名規範:採用
環境-應用-用途-sg格式,如prod-mysql-db-sg。
規則配置
最小許可權:僅對必要的源開放必要的連接埠。避免對SSH(22)、RDP(3389)等管理連接埠開放
0.0.0.0/0應始終限定為可信的固定IP。預設拒絕:預設拒絕所有入方向流量。僅在必要時,添加入方向規則,允許存取特定連接埠和來源的訪問。
規則優先順序衝突:當執行個體關聯多個安全性群組時,低優先順序的允許規則會被高優先順序的拒絕規則覆蓋。排查網路不通時,需檢查所有關聯的安全性群組。
變更管理
避免直接修改生產環境: 直接修改生產環境的安全性群組是高危操作。可以先複製安全性群組,在測試環境調試,確保修改後執行個體流量正常,再對線上環境的安全性群組規則進行修改。
計費規則
安全性群組免費使用。
使用限制
限制項 | 普通安全性群組限制 | 企業級安全性群組限制 |
單個阿里雲帳號在特定地區下的安全性群組總數量上限 | 請根據配額ID | 與普通安全性群組相同 |
單張彈性網卡可以關聯的安全性群組數量 | 10 | 與普通安全性群組相同 |
單張彈性網卡關聯的所有安全性群組的規則(包括入方向規則與出方向規則)數量之和的上限 | 1,000 | 與普通安全性群組相同 |
單個安全性群組中,授權對象為安全性群組的規則數量 | 20 | 0條,在企業級安全性群組中,您不能添加授權對象為安全性群組的規則,也不能將企業級安全性群組作為其他安全性群組規則中的授權對象。 |
單個Virtual Private Cloud類型的安全性群組能容納的VPC類型ECS執行個體數量 | 不固定,受安全性群組能容納的私網IP地址數量影響。 | 無限制 |
單個阿里雲帳號在特定地區下單個Virtual Private Cloud類型的安全性群組能容納的私網IP地址數量 | 6,000 說明
| 65,536 說明 IP佔用數按照安全性群組關聯的彈性網卡(包括執行個體主網卡、輔助網卡)的數量計數,即關聯的所有彈性網卡的數量總和。 |
單個傳統網路類型的安全性群組能容納的傳統網路類型ECS執行個體數量 | 1,000 說明 如果您有超過1,000台傳統網路類型ECS執行個體需要內網互訪,可以將ECS執行個體分配到多個安全性群組內,並通過互相授權的方式允許互訪。 | 不支援傳統網路 |
公網訪問連接埠 | 基於安全考慮,ECS執行個體25連接埠預設受限,建議您使用SSL加密連接埠(通常是465連接埠)來對外發送郵件。 | 與普通安全性群組相同 |