

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

# 使用安全群組
<a name="workingsecurity-groups"></a>

**重要**  
 AWS OpsWorks Stacks 此服務已於 2024 年 5 月 26 日終止，並已針對新客戶和現有客戶停用。我們強烈建議客戶盡快將其工作負載遷移至其他解決方案。如果您對遷移有任何疑問，請透過 [AWS re：Post](https://repost.aws/) 或透過 [AWS Premium Support](https://aws.amazon.com/support) 聯絡 AWS 支援 團隊。

## 安全群組
<a name="bestpractice-secgroups"></a>

**重要**  
 AWS OpsWorks Stacks 此服務已於 2024 年 5 月 26 日終止，並已針對新客戶和現有客戶停用。我們強烈建議客戶盡快將其工作負載遷移至其他解決方案。如果您對遷移有任何疑問，請透過 [AWS re：Post](https://repost.aws/) 或透過 [AWS Premium Support](https://aws.amazon.com/support) 聯絡 AWS 支援 團隊。

每個 Amazon EC2 執行個體都有一或多個關聯的安全群組來管理執行個體的網路流量，就像防火牆一樣。安全群組有一或多個「規則」**，每一個都會指定允許流量的特定類別。指定下列項目的規則：
+ 允許流量的類型，例如 SSH 或 HTTP
+ 此流量的通訊協定，例如 TCP 或 UDP
+ 流量來源的 IP 地址範圍
+ 流量的允許連接埠範圍

安全群組有兩種規則類型：
+ 傳入規則管理傳入的網路流量。

  例如，應用程式伺服器執行個體通常有一個傳入規則允許來自任何 IP 地址的 HTTP 流量傳入連接埠 80，另一個傳入規則允許來自指定 IP 地址集的 SSH 流量傳入連接埠 22。
+ 傳出規則管理傳出的網路流量。

  常用實務是使用允許任何傳出流量的預設設定。

如需安全群組的詳細資訊，請參閱 [Amazon EC2 安全群組](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html)。

第一次在區域中建立堆疊時， OpsWorks Stacks 會使用一組適當的規則，為每個 layer 建立內建的安全群組。所有的群組都有允許所有傳出流量的預設傳出規則。一般而言，傳入規則允許下列項目：
+ 從適當的 Stacks 層傳入 TCP、UDP OpsWorks 和 ICMP 流量
+ 連接埠 22 上的傳入 TCP 流量 (SSH 登入)
**警告**  
 預設的安全群組組態會向任何網路位置 (0.0.0.0/0) 開放 SSH (連接埠 22)。這可讓所有 IP 地址使用 SSH 存取您的執行個體。對於生產環境，您必須使用只允許特定 IP 地址或地址範圍之 SSH 存取的組態。在它們建立後立即更新預設的安全群組，或改用自訂的安全群組。
+ 對於 Web 伺服器 layer，所有的傳入 TCP 以及 UDP 流量流向連接埠 80 (HTTP) 和 443 (HTTPS)

**注意**  
內建的 `AWS-OpsWorks-RDP-Server` 安全群組會指派給所有的 Windows 執行個體，以允許 RDP 存取。不過，根據預設，它沒有任何規則。如果您執行的是 Windows 堆疊，並想要使用 RDP 存取執行個體，您必須新增允許 RDP 存取的傳入規則。如需詳細資訊，請參閱[使用 RDP 登入](workinginstances-rdp.md)。

若要查看每個群組的詳細資訊，請前往 [Amazon EC2 主控台](https://console.aws.amazon.com/ec2/)，在導覽窗格中選取**安全群組**，然後選取適當的 layer 安全群組。例如，**AWS-OpsWorks-Default-Server** 是所有堆疊的預設內建安全群組，而 **AWS-OpsWorks-WebApp** 是 Chef 12 範例堆疊的預設內建安全群組。

**注意**  
如果您不小心刪除 OpsWorks Stacks 安全群組，建議重新建立的方式是讓 OpsWorks Stacks 為您執行任務。只要在相同的 AWS 區域和 VPC 中建立新的堆疊，如果有的話， Stacks OpsWorks 就會自動重新建立所有內建安全群組，包括您刪除的安全群組。您接著可以刪除您不再需要使用的堆疊，安全群組仍會留下。如果您想要手動重新建立安全群組，它必須是和原始安全群組完全一致 (包含群組名稱大小寫) 的複本。  
此外，如果發生下列任何情況， OpsWorks Stacks 將嘗試重新建立所有內建安全群組：  
您可以在 Stacks OpsWorks 主控台中對堆疊的設定頁面進行任何變更。
您啟動其中一個堆疊的執行個體。
您建立新的堆疊。

您可以使用以下任一種方法指定安全群組。您使用 **Use OpsWorks security groups (使用 OpsWorks 安全群組)** 設定在您建立堆疊時指定偏好。
+ **是** （預設設定） – OpsWorks Stacks 會自動將適當的內建安全群組與每個 layer 建立關聯。

  您可以新增自訂安全群組與您偏好的設定，微調 layer 的內建安全群組。不過，當 Amazon EC2 評估多個安全群組時，會使用限制最少的規則，因此您無法使用此方法來指定比內建群組更嚴格的規則。
+ **否** – OpsWorks Stacks 不會將內建安全群組與 layer 建立關聯。

  您必須建立適當的安全群組，並建立至少一個安全群組與您所建之每個 layer 的關聯。使用此方法指定比內建群組更嚴格的規則。請注意，只要您想要，您仍然可以手動建立內建安全群組與 layer 的關聯；只有需要自訂設定的 layer 才需要自訂的安全群組。

**重要**  
如果您使用內建的安全群組，您即無法透過手動修改群組設定來建立更嚴格的規則。每次建立堆疊時， OpsWorks Stacks 都會覆寫內建安全群組的組態，因此您所做的任何變更都會在您下次建立堆疊時遺失。如果 layer 需要比內建安全群組更嚴格的安全群組設定，請將 **Use OpsWorks security groups (使用 OpsWorks 安全群組)** 設為 **No (否)**，並使用您偏好的設定建立自訂安全群組，然後在建立時將其指派給 layer。