授權 Linux 執行個體的傳入流量 - Amazon Elastic Compute Cloud

授權 Linux 執行個體的傳入流量

安全群組可讓您控制傳到執行個體的流量,以及可到達執行個體的流量類型。例如,您可允許僅有家用網路上的電腦能夠使用 SSH 來存取執行個體。若您的執行個體為 web 伺服器,您可允許所有 IP 地址使用 HTTP 或 HTTPS 來存取執行個體,讓外部使用者能夠瀏覽您 web 伺服器上的內容。

預設和新建立的安全群組內含之預設規則,無法讓您從網際網路存取執行個體。如需詳細資訊,請參閱預設安全群組自訂安全群組。欲啟用執行個體的網路存取,您必須允許執行個體的傳入流量。欲開放連接埠供傳入流量使用,請新增規則至您啟動執行個體所建立關聯的安全群組。

若要連線到您的執行個體,您必須設定規則,以授權來自您電腦公有 IPv4 地址的 SSH 流量。欲允取來自其他 IP 地址範圍的 SSH 流量,請為需要授權的每個範圍新增規則。

若您已啟用支援 IPv6 的 VPC 並使用 IPv6 地址啟動執行個體,則您可使用其 IPv6 地址連接至執行個體,不必使用公有 IPv4 地址。您的本機電腦必須擁有 IPv6 地址,且必須設定以使用 IPv6。

如果您需要啟用 Windows 執行個體的網路存取,請參閱《Windows 執行個體的 Amazon EC2 使用者指南》中的授權 Windows 執行個體的傳入流量

開始之前

確認誰必須存取您的執行個體,例如,您信任的單一主機或特定網路 (如本機電腦的公有 IPv4 地址)。Amazon EC2 主控台中的安全群組編輯器,可以自動為您偵測本機電腦的公有 IPv4 地址。或者,您可以在網際網路瀏覽器中使用「what is my IP address (我的 IP 地址是什麼)」搜尋字詞,或是使用下列的服務:Check IP。如果您透過 ISP 或是從防火牆後方進行連線,不具備靜態 IP 地址,則需要找到用戶端電腦使用的 IP 地址範圍。

警告

如果您使用 0.0.0.0/0,則可讓所有 IPv4 地址使用 SSH 來存取您的執行個體。如果使用 ::/0,您允許所有 IPv6 地址存取您的執行個體。通常在測試環境中短暫進行此作業是沒有問題的,但用在生產環境則不安全。在生產環境中,您應只授權特定 IP 地址或特定範圍的地址存取您的執行個體。

決定是否支援使用 SSH 存取您的執行個體 EC2 Instance Connect。如果您不使用 EC2 Instance Connect,請考慮在您的 IAM 政策中解除安裝或拒絕以下動作:ec2-instance-connect:SendSSHPublicKey。如需詳細資訊,請參閱 解除安裝 EC2 Instance Connect設定 EC2 Instance Connect 的 IAM 許可

將傳入 SSH 流量規則新增至 Linux 執行個體

安全群組就像是防火牆,用於關聯的執行個體,可在執行個體層級控制傳入及傳出流量。您必須將規則新增至安全群組,才能使用 SSH 從 IP 地址連線到 Linux 執行個體。

New console

在安全群組中新增規則,透過 IPv4 傳入 SSH 流量 (主控台)

  1. https://console.aws.amazon.com/ec2/ 開啟 Amazon EC2 主控台。

  2. 在導覽窗格中,選擇 Instances (執行個體)。

  3. 選取您的執行個體,然後在畫面下半部選擇 安全性 索引標籤。安全群組 會列出與執行個體相關聯的安全群組。傳入規則 會顯示執行個體有效的傳入規則清單。

  4. 針對您要新增規則的安全群組,請選擇安全群組 ID 連結以開啟安全群組。

  5. Inbound Rules (傳入規則) 索引標籤上,選擇 Edit inbound rules (編輯傳入規則)

  6. 編輯傳入規則 頁面上,執行下列動作:

    1. 選擇 Add rule (新增規則)。

    2. 針對 Type (類型),選擇 SSH

    3. Source (來源) 中選擇 My IP (我的 IP),以使用本機電腦的公有 IPv4 地址來自動填寫欄位。

      或者,請在 Source (來源) 中選擇 Custom (自訂),並輸入您電腦的公有 IPv4 地址或 CIDR 標記法的網路。例如:若您的 IPv4 地址為 203.0.113.25,請輸入指定 203.0.113.25/32,藉此以 CIDR 標記法列出此單一 IPv4 地址。如果您的公司會分配某個範圍的地址,請輸入整個範圍 (例如:203.0.113.0/24)。

      如需尋找 IP 地址的資訊,請參閱開始之前

    4. 選擇 Save rules (儲存規則)

Old console

在安全群組中新增規則,透過 IPv4 傳入 SSH 流量 (主控台)

  1. 在 Amazon EC2 主控台的導覽窗格中,選擇 Instances (執行個體)。選取執行個體並檢視 Description (描述) 索引標籤,而 Security groups (安全群組) 則會列出與執行個體建立關聯的安全群組。選擇 view inbound rules (檢視傳入規則) 顯示執行個體上目前生效的規則清單。

  2. 在導覽窗格中,選擇 Security Groups (安全群組)。請選擇要與執行個體建立關聯的一個安全群組。

  3. 在詳細資訊窗格的 Inbound (傳入) 索引標籤上,請選擇 Edit (編輯)。在對話方塊中,選擇 Add Rule (新增規則),然後從 Type (類型) 清單中選擇 SSH

  4. Source (來源) 欄位中選擇 My IP (我的 IP),以使用本機電腦的公有 IPv4 地址來自動填寫欄位。或者,請選擇 Custom (自訂),並以 CIDR 表示法來指定您的電腦或網路的公有 IPv4 地址。例如,若您的 IPv4 地址為 203.0.113.25,請指定 203.0.113.25/32,藉此以 CIDR 表示法列出此單一 IPv4 地址。如果您的公司會分配某個範圍的地址,請指定整個範圍 (例如 203.0.113.0/24)。

    如需尋找 IP 地址的資訊,請參閱開始之前

  5. 選擇 Save (儲存)。

若您已使用 IPv6 地址啟動執行個體且希望使用其 IPv6 地址連接至執行個體,您必須新增規則來允許透過 SSH 的傳入 IPv6 流量。

New console

在安全群組中新增規則,透過 IPv6 傳入 SSH 流量 (主控台)

  1. https://console.aws.amazon.com/ec2/ 開啟 Amazon EC2 主控台。

  2. 在導覽窗格中,選擇 Instances (執行個體)。

  3. 選取您的執行個體,然後在畫面下半部選擇 安全性 索引標籤。安全群組 會列出與執行個體相關聯的安全群組。傳入規則 會顯示執行個體有效的傳入規則清單。

  4. 針對您要新增規則的安全群組,請選擇安全群組 ID 連結以開啟安全群組。

  5. Inbound Rules (傳入規則) 索引標籤上,選擇 Edit inbound rules (編輯傳入規則)

  6. 編輯傳入規則 頁面上,執行下列動作:

    1. 選擇 Add rule (新增規則)。

    2. 針對 Type (類型),選擇 SSH

    3. Source (來源) 中,選擇 Custom (自訂),然後以 CIDR 標記法輸入您電腦的 IPv6 地址。例如:若您的 IPv6 地址為 2001:db8:1234:1a00:9691:9503:25ad:1761,請指定 2001:db8:1234:1a00:9691:9503:25ad:1761/128,藉此以 CIDR 標記法列出此單一 IP 地址。如果您的公司會分配某個範圍的地址,請輸入整個範圍 (例如:2001:db8:1234:1a00::/64)。

    4. 選擇 Save rules (儲存規則)

Old console

在安全群組中新增規則,透過 IPv6 傳入 SSH 流量 (主控台)

  1. https://console.aws.amazon.com/ec2/ 開啟 Amazon EC2 主控台。

  2. 在導覽窗格中,選擇 Security Groups (安全群組)。選擇執行個體的安全群組。

  3. 選擇 Inbound (傳入)Edit (編輯)Add Rule (新增規則)

  4. 針對 Type (類型),選擇 SSH

  5. Source (來源) 欄位中,以 CIDR 表示法指定您電腦的 IPv6 地址。例如,若您的 IPv6 地址為 2001:db8:1234:1a00:9691:9503:25ad:1761,請指定 2001:db8:1234:1a00:9691:9503:25ad:1761/128,藉此以 CIDR 表示法列出此單一 IP 地址。如果您的公司會分配某個範圍的地址,請指定整個範圍 (例如 2001:db8:1234:1a00::/64)。

  6. 選擇 Save (儲存)。

注意

請確認下列命令是在本機系統上執行,而非在執行個體上執行。如需關於這些命令列介面的詳細資訊,請參閱 存取 Amazon EC2

使用命令列為安全群組新增規則

  1. 使用下列命令之一,尋找與執行個體建立關聯的安全群組:

    • describe-instance-attribute (AWS CLI)

      aws ec2 describe-instance-attribute --instance-id instance_id --attribute groupSet
    • Get-EC2InstanceAttribute (AWS Tools for Windows PowerShell)

      PS C:\> (Get-EC2InstanceAttribute -InstanceId instance_id -Attribute groupSet).Groups

    這兩個命令都會回傳安全群組 ID,下一步將使用此 ID。

  2. 使用下列命令之一來為安全群組新增規則:

    • authorize-security-group-ingress (AWS CLI)

      aws ec2 authorize-security-group-ingress --group-id security_group_id --protocol tcp --port 22 --cidr cidr_ip_range
    • Grant-EC2SecurityGroupIngress (AWS Tools for Windows PowerShell)

      Grant-EC2SecurityGroupIngress 命令需要 IpPermission 參數,其中會描述用於安全群組規則的通訊協定、連接埠範圍和 IP 地址範圍。下列命令會建立 IpPermission 參數:

      PS C:\> $ip1 = @{ IpProtocol="tcp"; FromPort="22"; ToPort="22"; IpRanges="cidr_ip_range" }
      PS C:\> Grant-EC2SecurityGroupIngress -GroupId security_group_id -IpPermission @($ip1)

將安全群組指派至執行個體

您可以在啟動執行個體時,為執行個體指派安全群組。當您新增或移除規則時,這些變更會自動套用到所有您已指派該安全群組的執行個體。

在您啟動執行個體之後,便無法變更其安全群組。如需詳細資訊,請參閱《Amazon VPC 使用者指南》中的變更執行個體的安全群組