您可以添加安全性群組規則,允許或禁止安全性群組內的ECS執行個體對公網或私網的訪問:
- VPC網路:只需要設定出方向或入方向的規則,不區分內網和公網。專有網路(VPC)執行個體的公網訪問通過私網網卡映射完成,所以,您在執行個體內部看不到公網網卡,在安全性群組裡也只能設定內網規則。您設定的安全性群組規則同時對內網和公網生效。
- 經典網路:需要分別設定公網或內網的出方向或入方向規則。
安全性群組規則的變更會自動應用到安全性群組內的ECS執行個體上。
前提條件
您已經建立了一個安全性群組,具體操作,請參見 建立安全性群組。
您已經知道自己的執行個體需要允許或禁止哪些公網或內網的訪問。
操作步驟
- 登入 Elastic Compute Service管理主控台。
- 在左側導覽列中,選擇 。
- 選擇地域。
- 找到要配置授權規則的安全性群組,在 操作 列中,單擊 配置規則。
- 在 安全性群組規則 頁面上,單擊 添加安全性群組規則。
说明 - 如果您不需要設定ICMP、GRE協議規則,或者您想使用下表中列出的協議的預設通信埠,單擊 快速建立規則。
- 每個安全性群組的入方向規則與出方向規則的總數不能超過100條。
協議 SSH telnet HTTP HTTPS MS SQL 通信埠 22 23 80 443 1433 協議 Oracle MySQL RDP PostgreSQL Redis 通信埠 1521 3306 3389 5432 6379 说明 各個參數配置說明,請參見第6步描述。 - 在彈出的對話方塊中,設定以下參數:
- 網卡類型:
- 如果是VPC類型的安全性群組,不需要選擇這個參數。需要注意以下資訊:
- 如果您的執行個體能訪問公網,可以設定公網和內網的訪問規則。
- 如果您的執行個體不能訪問公網,只能設定內網的訪問規則。
- 如果是經典網路的安全性群組,選擇 公網 或 內網。
- 如果是VPC類型的安全性群組,不需要選擇這個參數。需要注意以下資訊:
- 規則方向:
- 出方向:是指ECS執行個體訪問內網中其他ECS執行個體或者公網上的資源。
- 入方向:是指內網中的其他ECS執行個體或公網上的資源訪問ECS執行個體。
- 授權策略:選擇 允許 或 拒絕。
说明 這裡的 拒絕 策略是直接丟棄資料包,不給任何回應資訊。如果2個安全性群組規則其他都相同只有授權策略不同,則 拒絕 授權生效,接受 授權不生效。 - 協議類型 和 通信埠範圍:通信埠範圍的設定受協議類型影響。下表是協議類型與通信埠範圍的關係。
協議類型 通信埠範圍 應用場景 全部 顯示為-1/-1,表示不限制通信埠。不能設定。 可用於完全互相信任的應用場景。 全部ICMP 顯示為-1/-1,表示不限制通信埠。不能設定。 使用 ping
程式檢測執行個體之間的通訊狀況。全部GRE 顯示為-1/-1,表示不限制通信埠。不能設定。 用於VPN服務。 自訂TCP 自訂通信埠範圍,有效通信埠值是1 ~ 65535,通信埠範圍的合法格式是開始通信埠/結束通信埠。即使是一個通信埠,也需要採用合法格式設定通信埠範圍,比如:80/80表示通信埠80。 可用於允許或拒絕一個或幾個連續的通信埠。 自訂UDP SSH 顯示為22/22。 串連ECS執行個體後您能修改連接埠號碼,具體操作,請參見 伺服器預設遠程通信埠修改。
用於SSH遠端連線到Linux執行個體。 TELNET 顯示為23/23。 用於Telnet遠程登入執行個體。 HTTP 顯示為80/80。 執行個體作為網站或Web應用伺服器。 HTTPS 顯示為443/443。 執行個體作為支援HTTPS協議的網站或Web應用伺服器。 MS SQL 顯示為1433/1433。 執行個體作為MS SQL伺服器。 Oracle 顯示為1521/1521。 執行個體作為Oracle SQL伺服器。 MySQL 顯示為3306/3306。 執行個體作為MySQL伺服器。 RDP 顯示為3389/3389。 串連ECS執行個體後您能修改連接埠號碼,具體操作,請參見 伺服器預設遠程通信埠修改。
執行個體是Windows執行個體,需要遠端桌面連線執行個體。 PostgreSQL 顯示為5432/5432。 執行個體作為PostgreSQL伺服器。 Redis 顯示為6379/6379。 執行個體作為Redis伺服器。 说明 公網出方向的STMP通信埠25預設受限,無法通過安全性群組規則開啟,但是您可以 申請解封通信埠25。其他常用通信埠資訊,請參見 ECS 執行個體常用通信埠介紹。 - 授與類型 和 授權對象:授權對象的設定受授與類型影響,以下是兩者之間的關係。
授與類型 授權對象 地址段訪問 填寫單一IP地址或者CIDR網段格式,如:12.1.1.1或13.1.1.1/25。僅支援IPv4。如果填寫0.0.0.0/0表示允許或拒絕所有IP地址的訪問,設定時請務必謹慎。 安全性群組訪問 只對內網有效。授權本帳號或其他帳號下某個安全性群組中的執行個體訪問本安全性群組中的執行個體,實現內網互通。 - 本帳號授權:選擇同一帳號下的其他安全性群組ID。如果是VPC網路的安全性群組,必須為同一個VPC的安全性群組。
- 跨帳號授權:填寫目標安全性群組ID,以及對方帳號ID。在 裡查看帳號ID。
说明 出於安全性考慮,經典網路的內網入方向規則,授與類型優先選擇 安全性群組訪問。如果選擇 地址段訪問,則只能授權單個IP地址,授權對象的格式只能是 a.b.c.d/32,僅支援IPv4,子網路遮罩必須是 /32。 - 優先順序:1 ~ 100,數值越小,優先順序越高。更多優先順序資訊,參見 ECS安全性群組規則優先順序說明。
- 網卡類型:
- 單擊 確定,即成功地為指定安全性群組添加了一條安全性群組規則。
安全性群組規則一般是立即生效,但是也可能有稍許延遲。
查看安全性群組規則是否生效
假設您在執行個體裡安裝了Web服務,並在一個安全性群組裡添加了一條安全性群組規則:公網入方向,允許所有IP地址訪問執行個體的TCP 80通信埠。
Linux執行個體
如果是安全性群組中的一台Linux執行個體,按以下步驟查看安全性群組規則是否生效。
- 使用使用者名密碼驗證串連 Linux 執行個體。
- 運行以下命令查看TCP 80是否被監聽。
netstat -an | grep 80
如果返回以下結果,說明TCP 80通信埠已開通。
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN
- 在瀏覽器地址欄裡輸入
http://執行個體公網IP地址
。如果訪問成功,說明規則已經生效。
Windows執行個體
如果是安全性群組中的一台Windows執行個體,按以下步驟查看安全性群組規則是否生效。
- 使用軟體串連Windows執行個體。
- 運行 命令提示字元,輸入以下命令查看TCP 80是否被監聽。
netstat -aon | findstr :80
如果返回以下結果,說明TCP 80通信埠已開通。
TCP 0.0.0.0:80 0.0.0.0:0 LISTENING 1172
- 在瀏覽器地址欄裡輸入
http://執行個體公網IP地址
。如果訪問成功,說明規則已經生效。
ECS安全性群組規則優先順序說明
安全性群組規則的優先順序可以設為1 ~ 100的任一個數值,數值越小,優先順序越高。
ECS執行個體可以加入不同的安全性群組。無論是同一個安全性群組內或不同安全性群組之間,如果安全性群組規則互相矛盾,即協議類型、通信埠範圍、授與類型、授權對象都相同,最終生效的安全性群組規則如下:
- 如果 優先順序 相同,則 拒絕 授權規則生效,接受 授權規則不生效。
- 如果 優先順序 不同,則優先順序高的規則生效,與 授權策略 的設定無關。