範例:控制對子網路中執行個體的存取
在此範例中,子網路中的執行個體可以彼此通訊,並可從信任的遠端電腦存取,以執行管理任務。遠端電腦可能是區域網路中的電腦 (如圖中所示),也可能是位於不同子網路或 VPC 中的執行個體。子網路的網路 ACL 規則和執行個體的安全群組規則允許來自遠端電腦 IP 位址的存取。其他所有來自網際網路或其他網路的流量都會遭拒。
使用網路 ACL,可讓您彈性變更執行個體的安全群組或安全群組規則,並將網路 ACL 作為備份防禦層。例如,如果您不小心更新了安全群組,允許來自任何地方的傳入 SSH 存取,但網路 ACL 僅允許來自遠端電腦 IP 位址範圍的存取,則網路 ACL 會拒絕來自任何其他 IP 位址的傳入 SSH 流量。
網路 ACL 規則
以下是與子網路關聯的網路 ACL 的傳入規則範例。這些規則會套用至子網路中的所有執行個體。
| 規則 # | 類型 | 通訊協定 | 連接埠範圍 | 來源 | 允許/拒絕 | 說明 |
|---|---|---|---|---|---|---|
| 100 | SSH | TCP | 22 | 172.31.1.2/32 |
允許 | 允許來自遠端電腦的傳入流量。 |
| * | 所有流量 | 全部 | 全部 | 0.0.0.0/0 | DENY | 拒絕所有其他傳入流量。 |
以下是與子網路關聯的網路 ACL 的傳出規則範例。網路 ACL 無狀態。因此,您必須包含允許回應傳入流量的規則。
| 規則 # | 類型 | 通訊協定 | 連接埠範圍 | 目的地 | 允許/拒絕 | 說明 |
|---|---|---|---|---|---|---|
| 100 | 自訂 TCP | TCP | 1024-65535 | 172.31.1.2/32 |
允許 | 允許對遠端電腦的傳出回應。 |
| * | 所有流量 | 全部 | 全部 | 0.0.0.0/0 | 拒絕 | 拒絕所有其他傳出流量。 |
安全群組規則
以下是與執行個體關聯的安全群組的傳入規則範例。這些規則適用於與安全群組相關聯的所有執行個體。如果使用者具有與執行個體相關聯的金鑰對的私有金鑰,則可以使用 SSH 從遠端電腦連線至執行個體。
| 通訊協定類型 | 通訊協定 | 連接埠範圍 | 來源 | 評論 |
|---|---|---|---|---|
| 所有流量 | 全部 | 全部 | sg-1234567890abcdef0 |
允許與此安全群組相關聯之執行個體間的通訊。 |
| SSH | TCP | 22 | 172.31.1.2/32 |
允許來自遠端電腦的傳入 SSH 存取。 |
以下是與執行個體關聯的安全群組的傳出規則範例。安全群組具狀態。因此,您不需要允許回應傳入流量的規則。
| 通訊協定類型 | 通訊協定 | 連接埠範圍 | 目的地 | 評論 |
|---|---|---|---|---|
| 所有流量 | 全部 | 全部 | sg-1234567890abcdef0 |
允許與此安全群組相關聯之執行個體間的通訊。 |
網路 ACL 與安全群組之間的差異
下表總結了網路 ACL 與安全群組之間的基本差異。
| 特性 | 網路 ACL | 安全群組 |
|---|---|---|
| 操作層級 | 子網路層級 | 執行個體層級 |
| 範圍 | 適用於關聯子網路中的所有執行個體 | 適用於與安全群組相關聯的所有執行個體 |
| 規則類型 | 支援允許與拒絕規則 | 僅支援允許規則 |
| 規則評估 | 以遞增順序評估規則,直至找到流量的相符項為止 | 在決定是否允許流量前,先評估所有規則 |
| 傳回流量 | 必須明確允許 (無狀態) | 自動允許 (具狀態) |