使用網路 ACL 控制子網路的流量 - Amazon Virtual Private Cloud

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用網路 ACL 控制子網路的流量

網路存取控制清單 (ACL) 會允許或拒絕子網層級的特定傳入或傳出流量。您可使用 VPC 的預設網路 ACL,亦可使用與安全群組規則類似的規則來為 VPC 建立自訂網路 ACL,為 VPC 提供多一層的安全性。

使用網路 ACL 無需額外收費。

下圖顯示具有兩個子網路的 VPC。每個子網路都具有網路 ACL。當流量進入 VPC (例如,從對等 VPC、VPN 連線或網際網路) 時,路由器會將流量傳送至其目的地。網路 ACL A 會判斷哪些目的地為子網路 1 的流量允許進入子網路 1,以及哪些目的地為子網路 1 以外位置的流量允許離開子網路 1。同樣地,網路 ACL B 會判斷哪些流量允許進入和離開子網路 2。

具有兩個子網路的 VPC 和每個子網路的網路 ACL。

如需安全群組與網路 ACL 間差異的相關資訊,請參閱比較安全群組和網路 ACL

網路 ACL 基本概念

下列是您需要了解的網路 ACL 基本事項:

  • 您的 VPC 已自動隨附可修改的預設網路 ACL。根據預設,它會允許所有傳入和傳出 IPv4 流量與 IPv6 流量 (如適用)。

  • 您可以建立自訂網路 ACL 並將其與子網路關聯,以允許或拒絕子網路層級的特定傳入或傳出流量。

  • VPC 中的每個子網路都必須與一個網路 ACL 建立關聯。如果您未明確將子網路與網路 ACL 建立關聯,子網路就會自動與預設網路 ACL 建立關聯。

  • 您可以將網路 ACL 與多個子網路建立關聯。不過,子網路一次只能與一個網路 ACL 相關聯。當您為網路 ACL 與子網路建立關聯時,系統就會移除先前的關聯。

  • 網路 ACL 具有傳入規則和傳出規則。每個規則都可以允許或拒絕流量。每個規則都有一個從 1 至 32766 的數字。在決定是允許還是拒絕流量時,我們會依序評估規則,從編號最低的規則開始。如果流量符合規則,則會套用規則,我們不會評估任何其他規則。我們建議您先以增量方式建立規則 (例如 10 或 100 的增量),以便稍後可在需要時插入新規則。

  • 當流量進入和離開子網路時,我們會評估網路 ACL 規則,而不是在子網路內路由時。

  • NACL 為無狀態,這表示不會儲存有關先前傳送或接收的流量資訊。例如,如果您建立了允許子網路之特定輸入流量的 NACL 規則,則不會自動允許對該流量的回應。這與安全群組的工作方式相反。安全群組為無狀態,這表示會儲存有關先前傳送或接收的流量資訊。例如,如果安全群組允許 EC2 執行個體的輸入流量,則無論輸出安全群組規則如何,都會自動允許回應。

  • 網路 ACL 無法封鎖傳送至或傳出路由 53 解析程式的 DNS 要求 (也稱為 VPC+2 IP 位址或 DNS)。 AmazonProvided若要透過 Route 53 Resolver 篩選 DNS 請求,則可以如《Amazon Route 53 開發人員指南》所述,啟用 Route 53 Resolver DNS 防火牆

  • 網路 ACL 無法封鎖傳送至執行個體中繼資料服務 (IMDS) 的流量。若要管理對 IMDS 的存取權限,請參閱《Amazon EC2 使用者指南》中的設定執行個體中繼資料選項

  • 網路 ACL 不會篩選往返下列位置的流量:

    • Amazon 網域名稱服務 (DNS)

    • Amazon 動態主機設定通訊協定 (DHCP)

    • Amazon EC2 執行個體中繼資料

    • Amazon ECS 任務中繼資料端點

    • Windows 執行個體的授權啟動

    • Amazon Time Sync Service

    • 預設 VPC 路由器使用的保留 IP 地址

  • 每個 VPC 的網路 ACL 數目和每個網路 ACL 的規則數目有配額 (亦稱為限制)。如需詳細資訊,請參閱 Amazon VPC 配額

網路 ACL 規則

您可以在預設網路 ACL 中新增或移除規則,或為您的 VPC 建立額外的網路 ACL。當您在網路 ACL 中新增或移除規則時,系統會自動將變更套用至與網路 ACL 建立關聯的子網路。

下列為部分網路 ACL 規則:

  • 規則編號。規則評估順序是從最低的編號規則開始。只要規則符合流量,即會套用規則,不論是否有任何編號更高的規則可能與其抵觸均同。

  • 類型。流量類型;例如 SSH。您也可以指定所有流量或自訂範圍。

  • Protocol (通訊協定)。您可以指定任何具有標準通訊協定號碼的通訊協定。如需詳細資訊,請參閱 Protocol Numbers。若您指定 ICMP 為通訊協定,您可以指定任何或所有的 ICMP 類型及代碼。

  • 連接埠範圍。流量的接聽連接埠或連接埠範圍。例如,80 代表 HTTP 流量。

  • 來源。[僅限傳入規則] 流量的來源 (CIDR 範圍)。

  • Destination (目的地)。[僅限傳出規則] 流量的目的地 (CIDR 範圍)。

  • 允許/拒絕允許還是拒絕指定的流量。

如果您使用命令列工具或 Amazon EC2 API 新增規則,CIDR 範圍會自動修改為其標準形式。例如,如果您指定 CIDR 範圍為 100.68.0.18/18,我們會建立具有 100.68.0.0/18 CIDR 範圍的規則。

預設網路 ACL

系統會將網路 ACL 設定為允許所有流量流進和流出其相關聯的子網路。每個網路 ACL 也包括一個規則編號為星號 (*) 的規則。此規則可確保在封包未符合任何其他編號規則時拒絕該封包。您無法修改或移除這項規則。

下列為 VPC 的範例預設網路 ACL,其僅支援 IPv4。

傳入
規則 # 類型 通訊協定 連接埠範圍 來源 允許/拒絕

100

所有 IPv4 流量

全部

全部

0.0.0.0/0

允許

*

所有 IPv4 流量

全部

全部

0.0.0.0/0

拒絕

傳出
規則 # 類型 通訊協定 連接埠範圍 目的地 允許/拒絕

100

所有 IPv4 流量

全部

全部

0.0.0.0/0

允許

*

所有 IPv4 流量

全部

全部

0.0.0.0/0

拒絕

如果您使用 IPv6 CIDR 區塊建立 VPC;或者,如果您將 IPv6 CIDR 區塊與現有 VPC 建立關聯,我們會自動建立規則以允許所有 IPv6 流量流進和流出您的子網路。我們也會新增規則編號為星號的規則,以確保拒絕未符合任何其他編號規則的封包。您無法修改或移除這些規則。下列為 VPC 的範例預設網路 ACL,其支援 IPv4 和 IPv6。

注意

若您已修改預設網路 ACL 的傳入規則,我們就不會在您將 IPv6 區塊與 VPC 建立關聯時自動新增傳入 IPv6 流量的 ALLOW 規則。同樣地,若您已修改傳出規則,我們就不會自動新增傳出 IPv6 流量的 ALLOW 規則。

傳入
規則 # 類型 通訊協定 連接埠範圍 來源 允許/拒絕

100

所有 IPv4 流量

全部

全部

0.0.0.0/0

允許

101

所有 IPv6 流量

全部

全部

::/0

允許

*

所有流量

全部

全部

0.0.0.0/0

拒絕

*

所有 IPv6 流量

全部

全部

::/0

拒絕

傳出
規則 # 類型 通訊協定 連接埠範圍 目的地 允許/拒絕

100

所有流量

全部

全部

0.0.0.0/0

允許

101

所有 IPv6 流量

全部

全部

::/0

允許

*

所有流量

全部

全部

0.0.0.0/0

拒絕

*

所有 IPv6 流量

全部

全部

::/0

拒絕

自訂網路 ACL

下列範例顯示 VPC 的自訂網路 ACL,其僅支援 IPv4。其中包括可允許 HTTP 和 HTTPS 流量 (100 和 110) 的傳入規則。也有對應的傳出規則,可啟用對上述傳入流量的回應 (140),其涵蓋暫時性連接埠 32768-65535。如需如何選取適當的暫時性連接埠範圍的詳細資訊,請參閱暫時性連接埠

網路 ACL 也包括傳入規則,其允許 SSH 和 RDP 流量進入子網路。傳出規則 120 可讓回應離開子網路。

網路 ACL 具有傳出規則 (100 和 110),其允許傳出 HTTP 和 HTTPS 流量流出子網路。也有對應的傳入規則,可啟用對上述傳出流量的回應 (140),其涵蓋暫時性連接埠 32768-65535。

每個網路 ACL 都包括一個規則編號為星號的預設規則。此規則可確保在封包未符合任何其他規則時拒絕該封包。您無法修改或移除這項規則。

傳入
規則 # 類型 通訊協定 連接埠範圍 來源 允許/拒絕 說明

100

HTTP

TCP

80

0.0.0.0/0

允許

允許來自任何 IPv4 地址的傳入 HTTP 流量。

110

HTTPS

TCP

443

0.0.0.0/0

允許

允許來自任何 IPv4 地址的傳入 HTTPS 流量。

120

SSH

TCP

22

192.0.2.0/24

允許

允許來自您家用網路公有 IPv4 地址範圍的傳入 SSH 流量 (透過網際網路閘道)。

130

RDP

TCP

3389

192.0.2.0/24

允許

允許來自您家用網路公有 IPv4 地址範圍的傳入 RDP 流量流向 Web 伺服器 (透過網際網路閘道)。

140

自訂 TCP

TCP

32768-65535

0.0.0.0/0

允許

允許來自網際網路的回傳傳入 IPv4 流量 (亦即出自子網路的請求)。

此範圍僅為範例。

*

所有流量

全部

全部

0.0.0.0/0

拒絕

拒絕上述規則 (無法修改) 尚未處理的所有傳入 IPv4 流量。

傳出
規則 # 類型 通訊協定 連接埠範圍 目的地 允許/拒絕 說明

100

HTTP

TCP

80

0.0.0.0/0

允許

允許傳出 IPv4 HTTP 流量從子網路流向網際網路。

110

HTTPS

TCP

443

0.0.0.0/0

允許

允許傳出 IPv4 HTTPS 流量從子網路流向網際網路。

120 SSH

TCP

1024-65535

192.0.2.0/24

允許

允許輸出將 SSH 流量傳回至您家用網路的公用 IPv4 位址範圍 (透過網際網路閘道)。

140

自訂 TCP

TCP

32768-65535

0.0.0.0/0

允許

允許傳出 IPv4 回應網際網路上的用戶端 (例如,將網頁提供給瀏覽子網路中 Web 伺服器的使用者)。

此範圍僅為範例。

*

所有流量

全部

全部

0.0.0.0/0

拒絕

拒絕上述規則 (無法修改) 尚未處理的所有傳出 IPv4 流量。

在封包前往子網路時,我們會依據子網路的相關聯 ACL 傳入規則再次評估該封包 (從規則清單頂端開始,由上至下)。下列為評估 HTTPS 連接埠 (443) 是否要拒絕封包的進行方式。封包不符合第一個評估規則 (規則 100)。它符合第二個規則 (110),其允許封包進入子網路。如果連接埠 139 (NetBIOS) 已拒絕封包,它就不符合任何規則,而 * 規則最終也會拒絕封包。

如果您需要開放範圍很廣的連接埠,但該範圍內有您要拒絕的特定連接埠,則您可能想要新增拒絕規則。您只要比允許廣泛連接埠流量的規則更早在資料表中放入拒絕規則即可。

您可以新增允許規則,視您的使用案例而定。例如,您可以新增一個原則,允許 DNS 解析所用連接埠 53 的傳出 TCP 和 UDP 存取權。對於每個新增的規則,請確定其中設有允許回應流量的傳入或傳出規則。

下列範例顯示 VPC 自訂網路 ACL 範例,其具備相關聯的 IPv6 CIDR 區塊。這個網路 ACL 包括的規則適用於所有 IPv6 HTTP 和 HTTPS 流量。在此情況下,已在 IPv4 流量的現有規則之間插入新規則。您也可以在 IPv4 規則之後將這些規則新增為編號更高的規則。IPv4 和 IPv6 流量是分開的,因此,IPv4 流量的規則都不會套用至 IPv6 流量。

傳入
規則 # 類型 通訊協定 連接埠範圍 來源 允許/拒絕 說明

100

HTTP

TCP

80

0.0.0.0/0

允許

允許來自任何 IPv4 地址的傳入 HTTP 流量。

105

HTTP

TCP

80

::/0

允許

允許來自任何 IPv6 地址的傳入 HTTP 流量。

110

HTTPS

TCP

443

0.0.0.0/0

允許

允許來自任何 IPv4 地址的傳入 HTTPS 流量。

115

HTTPS

TCP

443

::/0

允許

允許來自任何 IPv6 地址的傳入 HTTPS 流量。

120

SSH

TCP

22

192.0.2.0/24

允許

允許來自您家用網路公有 IPv4 地址範圍的傳入 SSH 流量 (透過網際網路閘道)。

130

RDP

TCP

3389

192.0.2.0/24

允許

允許來自您家用網路公有 IPv4 地址範圍的傳入 RDP 流量流向 Web 伺服器 (透過網際網路閘道)。

140

自訂 TCP

TCP

32768-65535

0.0.0.0/0

允許

允許來自網際網路的回傳傳入 IPv4 流量 (亦即出自子網路的請求)。

此範圍僅為範例。

145

自訂 TCP TCP 32768-65535 ::/0 允許

允許來自網際網路的回傳傳入 IPv6 流量 (亦即出自子網路的請求)。

此範圍僅為範例。

*

所有流量

全部

全部

0.0.0.0/0

拒絕

拒絕上述規則 (無法修改) 尚未處理的所有傳入 IPv4 流量。

*

所有流量

全部

全部

::/0

拒絕

拒絕上述規則 (無法修改) 尚未處理的所有傳入 IPv6 流量。

傳出
規則 # 類型 通訊協定 連接埠範圍 目的地 允許/拒絕 說明

100

HTTP

TCP

80

0.0.0.0/0

允許

允許傳出 IPv4 HTTP 流量從子網路流向網際網路。

105

HTTP

TCP

80

::/0

允許

允許傳出 IPv6 HTTP 流量從子網路流向網際網路。

110

HTTPS

TCP

443

0.0.0.0/0

允許

允許傳出 IPv4 HTTPS 流量從子網路流向網際網路。

115

HTTPS

TCP

443

::/0

允許

允許傳出 IPv6 HTTPS 流量從子網路流向網際網路。

140

自訂 TCP

TCP

32768-65535

0.0.0.0/0

允許

允許傳出 IPv4 回應網際網路上的用戶端 (例如,將網頁提供給瀏覽子網路中 Web 伺服器的使用者)。

此範圍僅為範例。

145

自訂 TCP

TCP

32768-65535

::/0

允許

允許傳出 IPv6 回應網際網路上的用戶端 (例如,將網頁提供給瀏覽子網路中 Web 伺服器的使用者)。

此範圍僅為範例。

*

所有流量

全部

全部

0.0.0.0/0

拒絕

拒絕上述規則 (無法修改) 尚未處理的所有傳出 IPv4 流量。

*

所有流量

全部

全部

::/0

拒絕

拒絕上述規則 (無法修改) 尚未處理的所有傳出 IPv6 流量。

自訂網路 ACL 和其他 AWS 服務

如果您建立自訂網路 ACL,請注意它可能會對您使用其他 AWS 服務建立的資源造成的影響。

透過 Elastic Load Balancing,如果您已在後端執行個體子網路的網路 ACL 中,針對來源為 0.0.0.0/0 或子網路 CIDR 的所有流量新增拒絕規則,您的負載平衡器就無法對執行個體執行運作狀態檢查。如需負載平衡器和後端執行個體之建議網路 ACL 規則的詳細資訊,請參閱《Classic Load Balancer 的使用者指南》中的 VPC 中負載平衡器的網路 ACL

暫時性連接埠

上節的範例網路 ACL 是使用 32768-65535 暫時性連接埠範圍。不過,建議您依據所使用的用戶端類型或要通訊的目標,為您的網路 ACL 使用不同範圍。

初始化請求的用戶端會選擇暫時性連接埠範圍。範圍需視用戶端作業系統而定。

  • 許多 Linux 核心 (包括 Amazon Linux 核心) 使用的連接埠 32768-61000。

  • 來自 Elastic Load Balancing 的請求會使用連線埠 1024-65535。

  • Windows 作業系統到 Windows Server 2003 使用連接埠 1025-5000。

  • Windows Server 2008 和更新版本使用連接埠 49152-65535。

  • NAT 閘道使用連接埠 1024-65535。

  • AWS Lambda 功能使用連接埠

例如,如果送達 VPC 之 Web 伺服器的請求是來自網際網路的 Windows 10 用戶端,您的網路 ACL 就必須具有傳出規則以讓流量通往連接埠 49152-65535。

如果啟動請求的用戶端是您 VPC 中的執行個體,您的網路 ACL 就必須具有傳入規則以讓流量通往特定執行個體類型 (Amazon Linux、Windows Server 2008 等) 的暫時性連線埠。

實際操作時,為了涵蓋各種可能初始化流量至 VPC 中公開執行個體的不同用戶端類型,您可以開啟暫時性連接埠 1024-65535。不過,您也可以新增規則至 ACL 以拒絕該範圍內任何惡意連接埠上的流量。請務必比開啟廣泛暫時性連接埠的允許規則更早在資料表中放入拒絕規則。

路徑 MTU 探索

路徑 MTU 探索可用於確認兩個裝置間的路徑 MTU。路徑 MTU 是原始主機和接收主機之間的路徑上支援的最大封包尺寸。

針對 IPv4,若主機傳送的封包大小大於接收主機的 MTU,或是大於路徑上裝置的 MTU,則接收主機或裝置便會丟棄封包,然後傳回下列 ICMP 訊息:Destination Unreachable: Fragmentation Needed and Don't Fragment was Set (類型 3,代碼 4)。這會指示傳輸主機將承載分割成多個較小的封包,然後重新傳輸它們。

IPv6 通訊協定不支援網路中的分段。若主機傳送的封包大小大於接收主機的 MTU,或是大於路徑上裝置的 MTU,則接收主機或裝置便會丟棄封包,然後傳回下列 ICMP 訊息:ICMPv6 Packet Too Big (PTB) (類型 2)。這會指示傳輸主機將承載分割成多個較小的封包,然後重新傳輸它們。

如果子網路中主機之間的最大傳輸單位 (MTU) 不同,或您的執行個體透過網際網路進行對等通訊,則您必須新增下列網路 ACL 規則,同時適用於傳入和傳出。這可確保路徑 MTU 探索能夠正確運作,並防止封包遺失。為類型選取 Custom ICMP Rule (自訂 ICMP 規則),而且若 Destination Unreachable (無法連接目的地),則為連接埠範圍 (類型 3,代碼 4) 選取需要分段並設定 DF 旗標。如果您使用追蹤路由,也必須新增以下規則:為連接埠範圍 (類型 11、代碼 0) 選取 Custom ICMP Rule (自訂 ICMP 規則) 類型,以及 Time Exceeded (超過時間)TTL expired transit (TTL 過期傳輸)。如需詳細資訊,請參閱 Amazon EC2 使用者指南EC2 執行個體的網路最大傳輸單位 (MTU)

使用網路 ACL

下列任務會示範如何搭配 Amazon VPC 主控台使用網路 ACL。

判斷網路 ACL 關聯

您可以使用 Amazon VPC 主控台,來判斷與子網路相關聯的網路 ACL:網路 ACL 可以與多個子網路建立關聯,因此您也可以判斷哪些子網路與網路 ACL 相關聯。

判斷哪個網路 ACL 與子網路有所關聯
  1. https://console.aws.amazon.com/vpc/ 開啟 Amazon VPC 主控台。

  2. 在導覽窗格中,選擇 Subnets (子網路),然後選取子網路。

    Network ACL (網路 ACL) 標籤中包含與子網路相關聯的網路 ACL 以及網路 ACL 的規則。

判斷哪些子網路與網路 ACL 相關聯
  1. https://console.aws.amazon.com/vpc/ 開啟 Amazon VPC 主控台。

  2. 在導覽窗格中,選擇 Network ACLs (網路 ACL)Associated With (關聯對象) 欄會指出每個網路 ACL 的相關聯子網路數目。

  3. 選取網路 ACL。

  4. 在詳細資訊窗格中,選擇 Subnet Associations (子網路關聯) 以顯示與網路 ACL 相關聯的子網路。

建立網路 ACL

您可以為 VPC 建立自訂網路 ACL。根據預設,在您新增規則之前,您建立的網路 ACL 會封鎖所有傳入和傳出流量,且除非您明確將某個網路 ACL 與子網路建立關聯,否則其不會與子網路建立關聯。

建立網路 ACL
  1. https://console.aws.amazon.com/vpc/ 開啟 Amazon VPC 主控台。

  2. 在導覽窗格中,選擇 Network ACLs (網路 ACL)

  3. 選擇 Create Network ACL (建立網路 ACL)

  4. Create Network ACL (建立網路 ACL) 對話方塊中,選擇性命名您的網路 ACL,並從 VPC 清單選取您 VPC 的 ID。然後,選擇 Yes, Create (是,建立)

新增和刪除規則

當您新增或刪除 ACL 的規則時,任何與該 ACL 相關聯的子網路都會套用變更。您不必終止並重新啟動子網路中的執行個體。這些變更在很短時間後便會生效。

重要

如果您同時新增和刪除規則,請格外謹慎。網路 ACL 規則會定義哪些類型的網路流量可以傳入或傳出您的 VPC。如果您刪除傳入或傳出規則,然後新增的項目數量超過 Amazon VPC 配額 中允許的上限,那麼選擇要刪除的項目將會被移除,而新項目則不會新增。這可能會導致未預期的連線問題,並且意外阻止流量傳入和傳出您的 VPC。

如果您使用的是 Amazon EC2 API 或命令列工具,則無法修改規則。您只能新增和刪除規則。如果您使用的是 Amazon VPC 主控台,則可以修改現有規則的項目。主控台會移除現有的規則,並為您新增規則。如果您需要變更 ACL 中的規則順序,您必須使用新的規則編號來新增規則,然後刪除原始規則。

新增規則至網路 ACL
  1. https://console.aws.amazon.com/vpc/ 開啟 Amazon VPC 主控台。

  2. 在導覽窗格中,選擇 Network ACLs (網路 ACL)

  3. 在詳細資訊窗格中,依據您要新增的規則類型,選擇 Inbound Rules (傳入規則)Outbound Rules (傳出規則) 標籤,然後選擇 Edit (編輯)

  4. Rule # (規則 #) 中,輸入規則的編號 (例如 100)。規則編號不得與網路 ACL 中已使用的編號重複。我們會從最低的編號開始,按照順序來處理規則。

    建議您在規則編號之間保留間隔 (例如 100、200、300),而不是使用連續編號 (101、102、103)。這麼做可讓您更輕鬆地新增規則,而不需要重新編號現有的規則。

  5. Type (類型) 清單選取一個規則。例如,若要新增 HTTP 的規則,請選擇 HTTP。若要新增規則以允許所有 TCP 流量,請選擇 All TCP (所有 TCP)。針對其中部分選項 (例如 HTTP),我們會為您填入連接埠。若要使用未列出的通訊協定,請選擇 Custom Protocol Rule (自訂通訊協定規則)

  6. (選用) 如果您要建立自訂通訊協定規則,請從 Protocol (通訊協定) 清單選取通訊協定編號和名稱。如需詳細資訊,請參閱 IANA List of Protocol Numbers

  7. (選用) 如果您所選取的通訊協定需要連接埠號碼,請輸入連接埠號碼或連接埠範圍,中間以連字號分隔 (例如 49152-65535)。

  8. Source (來源)Destination (目標) 欄位中 (視此為傳入或傳出規則而定),輸入要套用規則的 CIDR 範圍。

  9. Allow/Deny (允許/拒絕) 清單,選取 ALLOW (允許) 允許指定的流量,或 DENY (拒絕) 拒絕指定的流量。

  10. (選用) 若要新增其他規則,請選擇 Add another rule (新增其他規則) 並視需要重複步驟 4 到 9。

  11. 完成後,選擇 Save (儲存)

删除網路 ACL 中的規則
  1. https://console.aws.amazon.com/vpc/ 開啟 Amazon VPC 主控台。

  2. 在導覽窗格中,選擇 Network ACLs (網路 ACL),然後選取網路 ACL。

  3. 在詳細資訊窗格中,選取 Inbound Rules (傳入規則)Outbound Rules (傳出規則) 標籤,然後選擇 Edit (編輯)。針對您要刪除的規則,選擇 Remove (移除),然後選擇 Save (儲存)

將子網路與網路 ACL 建立關聯

若要將網路 ACL 的規則套用至特定子網路,您必須將子網路與網路 ACL 建立關聯。您可以將網路 ACL 與多個子網路建立關聯。不過,一個子網路只能與一個網路 ACL 相關聯。根據預設,如果有任何未與特定 ACL 相關聯的子網路,系統會將其與預設網路 ACL 建立關聯。

將子網路與網路 ACL 建立關聯
  1. https://console.aws.amazon.com/vpc/ 開啟 Amazon VPC 主控台。

  2. 在導覽窗格中,選擇 Network ACLs (網路 ACL),然後選取網路 ACL。

  3. 在詳細資訊窗格中,在 Subnet Associations (子網路關聯) 標籤上,選擇 Edit (編輯)。選取子網路的 Associate (關聯) 核取方塊以與網路 ACL 建立關聯,然後選擇 Save (儲存)

取消子網路與網路 ACL 的關聯

您可以取消自訂網路 ACL 與子網路的關聯。當子網路已取消與自訂網路 ACL 的關聯時,它會自動與預設網路 ACL 相關聯。

取消子網路與網路 ACL 的關聯
  1. https://console.aws.amazon.com/vpc/ 開啟 Amazon VPC 主控台。

  2. 在導覽窗格中,選擇 Network ACLs (網路 ACL),然後選取網路 ACL。

  3. 在詳細資訊窗格中,選擇 Subnet Associations (子網路關聯) 標籤。

  4. 選擇 Edit (編輯),然後取消選取子網路的 Associate (關聯) 核取方塊。選擇 Save (儲存)。

變更子網路的網路 ACL

您可以變更與子網路相關聯的網路 ACL。例如,當您建立子網路時,它一開始就會與預設網路 ACL 建立關聯。建議您改將子網路與您建立的自訂網路 ACL 建立關聯。

變更子網路的網路 ACL 之後,您不需要終止和重新啟動子網路中的執行個體。這些變更在很短時間後便會生效。

變更子網路的網路 ACL 關聯
  1. https://console.aws.amazon.com/vpc/ 開啟 Amazon VPC 主控台。

  2. 在導覽窗格中,選擇 Subnets (子網路),然後選取子網路。

  3. 選擇 Network ACL (網路 ACL) 標籤,然後選擇 Edit (編輯)

  4. Change to (變更為) 清單中,選取要與子網路建立關聯的網路 ACL,然後選擇 Save (儲存)

刪除網路 ACL

僅有當網路 ACL 未與任何子網路相關聯時,您才可以刪除該網路 ACL。您無法刪除預設網路 ACL。

刪除網路 ACL
  1. https://console.aws.amazon.com/vpc/ 開啟 Amazon VPC 主控台。

  2. 在導覽窗格中,選擇 Network ACLs (網路 ACL)

  3. 選取網路 ACL,然後選擇 Delete (刪除)

  4. 在確認對話方塊中,選擇 Yes, Delete (刪除)

API 和命令概觀

您可以使用命令列或 API 執行此頁面所述的任務。如需命令列介面與可用 API 清單的詳細資訊,請參閱使用 Amazon VPC

為您的 VPC 建立網路 ACL
說明一或多個網路 ACL
新增規則至網路 ACL
删除網路 ACL 中的規則
取代網路 ACL 中的現有規則
取代網路 ACL 關聯
刪除網路 ACL

使用 Firewall Manager 員管理網路 ACL

AWS Firewall Manager 簡化您跨多個帳戶和子網路的網路 ACL 管理和維護工作。您可以使用 Firewall Manager 員來監控組織中的帳戶和子網路,並自動套用您定義的網路 ACL 組態。當您想要保護整個組織,或經常新增要自動防止中央系統管理員帳戶防護的新子網路時,Firewall Manager 特別有用。

使用 Firewall Manager 網路 ACL 策略時,您可以使用單一系統管理員帳戶來設定、監視和管理您想要在整個組織中使用的網路 ACL 中定義的最低規則集。您可以指定組織中的哪些帳戶和子網路位於 Firewall Manager 員策略範圍內。Firewall Manager 會報告範圍內子網路之網路 ACL 的符合性狀態,而且您可以將 Firewall Manager 員設定為自動修復不符合標準的網路 ACL,使其符合規範。

若要進一步了解如何使用 Firewall Manager 員來管理網路 ACL,請參閱AWS Firewall Manager 開發人員指南中的下列資源:

範例:控制對子網路中執行個體的存取

在此範例中,子網路中的執行個體可以彼此通訊,並可從信任的遠端電腦存取。遠端電腦可能是區域網路中的電腦,或是位於不同子網路或 VPC 中的執行個體。您可以使用它來連線到執行個體,以執行管理工作。您的安全群組規則和網路 ACL 規則可允許從遠端電腦的 IP 地址 (172.31.1.2/32) 進行存取。其他所有來自網際網路或其他網路的流量都會遭拒。此案例可讓您以彈性的方式變更執行個體的安全群組或安全群組規則,並將網路 ACL 做為備份防禦 layer。

使用安全群組和 NACL

以下是與執行個體產生關聯的安全群組範例。安全群組有狀態。因此,您不需要允許回應傳入流量的規則。

傳入
通訊協定類型 通訊協定 連接埠範圍 來源 評論
所有流量 全部 全部 sg-1234567890abcdef0 與此安全群組相關聯的所有執行個體都可以彼此通訊。
SSH TCP 22 172.31.1.2/32 允許來自遠端電腦的傳入 SSH 存取。
傳出
通訊協定類型 通訊協定 連接埠範圍 目的地 評論
所有流量 全部 全部 sg-1234567890abcdef0 與此安全群組相關聯的所有執行個體都可以彼此通訊。

以下是與執行個體的子網路產生關聯的網路 ACL 範例。網路 ACL 規則會套用至子網路中的所有執行個體。網路 ACL 無狀態。因此,您需要允許回應傳入流量的規則。

傳入
規則 # 類型 通訊協定 連接埠範圍 來源 允許/拒絕 說明
100 SSH TCP 22 172.31.1.2/32 允許 允許來自遠端電腦的傳入流量。
* 所有流量 全部 全部 0.0.0.0/0 拒絕 拒絕所有其他傳入流量。
傳出
規則 # 類型 通訊協定 連接埠範圍 目的地 允許/拒絕 說明
100 自訂 TCP TCP 1024-65535 172.31.1.2/32 允許 允許對遠端電腦的傳出回應。
* 所有流量 全部 全部 0.0.0.0/0 拒絕 拒絕所有其他傳出流量。

如果您不小心將安全群組規則設得太寬鬆,此範例中的網路 ACL 會持續只允許來自指定 IP 地址的存取。例如,下列安全群組包含允許來自任何 IP 地址的傳入 SSH 存取的規則。不過,如果您將此安全群組與使用網路 ACL 的子網路中的執行個體建立關聯,則只有子網路和遠端電腦內的其他執行個體可以存取執行個體,因為網路 ACL 規則拒絕其他傳入子網路的流量。

傳入
Type 通訊協定 連接埠範圍 來源 評論
所有流量 全部 全部 sg-1234567890abcdef0 與此安全群組相關聯的所有執行個體都可以彼此通訊。
SSH TCP 22 0.0.0.0/0 允許來自任何 IP 地址的 SSH 存取。
傳出
Type 通訊協定 連接埠範圍 目的地 評論
所有流量 全部 全部 0.0.0.0/0 允許所有對外流量.

疑難排解可達性問題

Reachability Analyzer 是一種靜態配置分析工具。使用可 Reachability Analyzer 來分析和偵錯 VPC 中兩個資源之間的網路連接性。可 Reachability Analyzer 產生這些資源之間的虛擬路徑的 hop-by-hop 詳細信息,當它們是可訪問的,並識別阻塞組件,否則。例如,它可以識別遺漏或設定錯誤的網路 ACL 規則。

如需詳細資訊,請參閱 Reachability Analyzer Guide (《Reachability Analyzer 指南》)。