管理虛擬電腦的防火牆連接埠 - Amazon Lightsail 進行研究

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

管理虛擬電腦的防火牆連接埠

適用於研究的 Amazon Lightsail 防火牆可控制允許連接到虛擬電腦的流量。您可以新增虛擬電腦防火牆的規則,指定允許連接至虛擬電腦的通訊協定、連接埠和來源 IPv4 或 IPv6 地址。防火牆規則一律為許可制。您無法建立拒絕存取的規則。您可以新增虛擬電腦防火牆的規則,以允許流量到達虛擬電腦。每個虛擬電腦均具有兩個防火牆;一個用於 IPv4 地址,另一個用於 IPv6 地址。兩個防火牆彼此獨立,且含有一組預先設定的規則,用來篩選要進入執行個體的流量。

通訊協定

通訊協定是指在兩部電腦之間傳輸資料時所採用的格式。您可以在防火牆規則中指定以下通訊協定:

  • 傳輸控制通訊協定 (TCP) 主要用於建立和維護用戶端與虛擬電腦上運行的應用程式之間的連線。這是廣泛使用的通訊協定,而且是您通常可能會在防火牆規則中指定的通訊協定。

  • 使用者資料報通訊協定 (UDP) 主要用於在用戶端與虛擬電腦上運行的應用程式之間建立低延遲和容忍遺失的連線。非常適合用於將感知延遲視為至關重要的網路應用程式,例如遊戲、語音和影像通訊。

  • 網際網路控制訊息通訊協定 (ICMP) 主要用於診斷網路通訊問題,例如判斷資料是否及時觸達其預定的目的地。非常適合用於 Ping 公用程式,可用來測試本機電腦與虛擬電腦之間的連線速度。會回報資料到達虛擬電腦並返回本機電腦所需的時間。

  • 全部可用來允許所有通訊協定流量流入虛擬電腦。當您不確定要指定哪個通訊協定時,請指定此通訊協定。這包含所有網際網路通訊協定;不只是此處指定的通訊協定。如需詳細資訊,請參閱 Internet Assigned Numbers Authority 網站上的通訊協定號碼

連接埠

類似於電腦上的實體連接埠,可讓電腦與鍵盤和滑鼠等周邊裝置進行通訊,防火牆連接埠可做為虛擬電腦的網際網路通訊端點。當用戶端想要與虛擬電腦連線時,會開放一個連接埠以建立通訊。

您可在防火牆規則中指定的連接埠可能介於 0 至 65535。當您建立防火牆規則以允許用戶端建立與虛擬電腦的連線時,您要指定要使用的通訊協定。您也可以指定可建立連線的連接埠號編號,以及允許建立連線的 IP 地址。

根據預設,新建立的虛擬電腦會開啟以下連接埠。

  • TCP

    • 22 - 用於 Secure Shell (SSH)。

    • 80 - 用於超文件傳送協定 (HTTP)。

    • 443 – 用於超文本傳輸協定安全 (HTTPS)。

    • 8443 – 用於超文本傳輸協定安全 (HTTPS)。

為何要開啟和關閉連接埠

當您開啟連接埠時,會允許用戶端與您的虛擬電腦建立連線。當您關閉連接埠時,會封鎖與虛擬電腦的連線。例如,若要允許 SSH 用戶端能夠連線至虛擬電腦,您可以設定一個防火牆規則,僅允許來自需要建立連線之電腦的 IP 地址透過連接埠 22 進行 TCP。在此情況下,您不會想要允許任何 IP 地址建立與虛擬電腦的 SSH 連線。這樣做可能會導致安全風險。如果已在執行個體的防火牆上設定此規則,則您可以將其刪除,以封鎖 SSH 用戶端連線至虛擬電腦。

以下程序說明如何取得虛擬電腦上目前開啟的連接埠、如何開啟新的連接埠,以及如何關閉連接埠。

完成先決條件

開始之前,請先完成以下先決條件:

  • 在 Lightsail 中建立虛擬電腦以供研究使用。如需詳細資訊,請參閱 建立虛擬電腦

  • 下載並安裝 AWS Command Line Interface (AWS CLI)。如需詳細資訊,請參閱《AWS Command Line Interface 第 2 版使用者指南》中的安裝或更新最新版的 AWS CLI

  • 設定 AWS CLI 以存取您的 AWS 帳戶. 如需詳細資訊,請參閱《AWS Command Line Interface 第 2 版使用者指南》中的組態基礎概念

取得虛擬電腦的連接埠狀態

完成以下程序,取得虛擬電腦的連接埠狀態。此程序會使用此get-instance-port-states AWS CLI 命令來取得特定 Lightsail 用於研究專用虛擬電腦的防火牆連接埠狀態、允許透過連接埠連線到虛擬電腦的 IP 位址,以及通訊協定。如需詳細資訊,請參閱 AWS CLI 命令參考中的 get-instance-port-states

  1. 此步驟取決於本機電腦的作業系統。

    • 如果您的本機電腦使用 Windows 作業系統,請開啟「命令提示」視窗。

    • 如果您的本機電腦使用 Linux 或 UNIX 作業系統 (包括 macOS),請開啟「終端機」視窗。

  2. 輸入以下命令,取得防火牆連接埠狀態及其允許的 IP 地址與通訊協定。在命令中,將 REGION 換成在其中建立虛擬電腦的 AWS 區域代碼,例如 us-east-2。將 NAME 換成虛擬電腦的名稱。

    aws lightsail get-instance-port-states --region REGION --instance-name NAME

    範例

    aws lightsail get-instance-port-states --region us-east-2 --instance-name MyUbuntu

    回應會顯示開啟的連接埠和通訊協定,以及允許連線到虛擬電腦的 IP CIDR 範圍。

    虛擬電腦的連接埠狀態

    如需如何開啟連接埠的詳細資訊,請繼續下一節

開啟虛擬電腦的連接埠

完成以下程序,開啟虛擬電腦的連接埠。此程序會使用open-instance-public-ports AWS CLI 指令。開啟防火牆連接埠,允許從受信任的 IP 地址或受信任的 IP 地址範圍建立連線。例如,若要允許 IP 地址 192.0.2.44,請指定 192.0.2.44192.0.2.44/32。要允許 IP 地址 192.0.2.0192.0.2.255,請指定 192.0.2.0/24。如需詳細資訊,請參閱 AWS CLI 命令參考中的 open-instance-public-ports

  1. 此步驟取決於本機電腦的作業系統。

    • 如果您的本機電腦使用 Windows 作業系統,請開啟「命令提示」視窗。

    • 如果您的本機電腦使用 Linux 或 UNIX 作業系統 (包括 macOS),請開啟「終端機」視窗。

  2. 然後輸入以下命令以開啟連接埠。

    在命令中,替換以下項目:

    • REGION以建立虛擬電腦所在 AWS 地區的程式碼取代,例如us-east-2

    • NAME 換成虛擬電腦的名稱。

    • FROM-PORT 換成您想要開啟的連接埠範圍中的第一個連接埠。

    • PROTOCOL 換成 IP 通訊協定名稱。例如,TCP。

    • TO-PORT 換成您想要開啟的連接埠範圍中的最後一個連接埠。

    • IP 換成您想要允許連線至虛擬電腦的 IP 地址或 IP 地址範圍。

    aws lightsail open-instance-public-ports --region REGION --instance-name NAME --port-info fromPort=FROM-PORT, protocol=PROTOCOL, toPort=TO-PORT,cidrs=IP

    範例

    aws lightsail open-instance-public-ports --region us-east-2 --instance-name MyUbuntu --port-info fromPort=22, protocol=TCP, toPort=22,cidrs=192.0.2.0/24

    回應會顯示新增的連接埠、通訊協定,以及允許連線到虛擬電腦的 IP CIDR 範圍。

    虛擬電腦開啟的連接埠。

    如需如何關閉連接埠的詳細資訊,請繼續下一節

關閉虛擬電腦的連接埠

完成以下程序,關閉虛擬電腦的連接埠。此程序會使用close-instance-public-ports AWS CLI 指令。如需詳細資訊,請參閱 AWS CLI 命令參考中的 close-instance-public-ports

  1. 此步驟取決於本機電腦的作業系統。

    • 如果您的本機電腦使用 Windows 作業系統,請開啟「命令提示」視窗。

    • 如果您的本機電腦使用 Linux 或 UNIX 作業系統 (包括 macOS),請開啟「終端機」視窗。

  2. 輸入以下命令以關閉連接埠。

    在命令中,替換以下項目:

    • REGION以建立虛擬電腦所在 AWS 地區的程式碼取代,例如us-east-2

    • NAME 換成虛擬電腦的名稱。

    • FROM-PORT 換成您想要關閉的連接埠範圍中的第一個連接埠。

    • PROTOCOL 換成 IP 通訊協定名稱。例如,TCP。

    • TO-PORT 換成您想要關閉的連接埠範圍中的最後一個連接埠。

    • IP 換成您想要移除的 IP 地址或 IP 地址範圍。

    aws lightsail close-instance-public-ports --region REGION --instance-name NAME --port-info fromPort=FROM-PORT, protocol=PROTOCOL, toPort=TO-PORT,cidrs=IP

    範例

    aws lightsail close-instance-public-ports --region us-east-2 --instance-name MyUbuntu --port-info fromPort=22, protocol=TCP, toPort=22,cidrs=192.0.2.0/24

    回應會顯示已經關閉且不再允許連線至虛擬電腦]的連接埠、通訊協定以及 IP CIDR 範圍。

    虛擬電腦關閉的連接埠。

繼續後續步驟

成功管理虛擬電腦的防火牆連接埠後,您可以完成以下其他後續步驟: