

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

# 不同使用案例的安全群組規則
<a name="security-group-rules-reference"></a>

您可以建立安全群組並新增可反映與該安全群組相關聯之執行個體角色的規則。例如，設定為 Web 伺服器的執行個體需要允許輸入 HTTP 和 HTTPS 存取的安全性群組規則。同樣，資料庫執行個體需要允許存取資料庫類型的規則，例如 MySQL 透過連接埠 3306 的存取。

以下為您可以針對特定類型存取，為安全群組新增之規則類型的範例。

**Topics**
+ [

## Web 伺服器規則
](#sg-rules-web-server)
+ [

## 資料庫伺服器規則
](#sg-rules-db-server)
+ [

## 從您電腦連線到執行個體的規則
](#sg-rules-local-access)
+ [

## 從執行個體使用相同安全群組連線到執行個體的規則
](#sg-rules-other-instances)
+ [

## Ping/ICMP 的規則
](#sg-rules-ping)
+ [

## DNS 伺服器規則
](#sg-rules-dns)
+ [

## Amazon EFS 規則
](#sg-rules-efs)
+ [

## Elastic Load Balancing 規則
](#sg-rules-elb)

如需說明，請參閱 [建立安全群組](creating-security-group.md) 與 [設定安全群組規則](changing-security-group.md#add-remove-security-group-rules)。

## Web 伺服器規則
<a name="sg-rules-web-server"></a>

以下對內規則會允許來自任何 IP 地址的 HTTP 和 HTTPS 存取。若您的 VPC 已啟用 IPv6，您可以新增規則，控制來自 IPv6 地址的對內 HTTP 和 HTTPS 流量。


| 通訊協定類型 | 通訊協定號碼 | 連接埠 | 來源 IP | 備註 | 
| --- | --- | --- | --- | --- | 
| TCP | 6 | 80 (HTTP) | 0.0.0.0/0 | 允許來自任何 IPv4 地址的對內 HTTP 存取 | 
| TCP | 6 | 443 (HTTPS) | 0.0.0.0/0 | 允許來自任何 IPv4 地址的對內 HTTPS 存取 | 
| TCP | 6 | 80 (HTTP) | ::/0 | 允許來自任何 IPv6 地址的傳入 HTTP 存取 | 
| TCP | 6 | 443 (HTTPS) | ::/0 | 允許來自任何 IPv6 地址的傳入 HTTPS 存取 | 

## 資料庫伺服器規則
<a name="sg-rules-db-server"></a>

以下對內規則是您可以為資料庫存取新增之規則的範例，取決於您在執行個體上執行的資料庫類型為何。如需 Amazon RDS 執行個體的詳細資訊，請參閱 [Amazon RDS 使用者指南](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/)。

針對來源 IP，請指定下列其中一項：
+ 您本機網路中的特定 IP 地址或 IP 地址範圍 (CIDR 區塊標記法)
+ 存取資料庫之執行個體群組的安全群組 ID


| 通訊協定類型 | 通訊協定號碼 | 連接埠 | 備註 | 
| --- | --- | --- | --- | 
| TCP | 6 | 1433 (MS SQL) | 在 Amazon RDS 執行個體上存取 Microsoft SQL Server 資料庫的預設連接埠 (範例) | 
| TCP | 6 | 3306 (MYSQL/Aurora) | 在 Amazon RDS 執行個體上存取 MySQL 或 Aurora 資料庫的預設連接埠 (範例) | 
| TCP | 6 | 5439 (Redshift) | 存取 Amazon Redshift 叢集資料庫的預設連接埠。 | 
| TCP | 6 | 5432 (PostgreSQL) | 在 Amazon RDS 執行個體上存取 PostgreSQL 資料庫的預設連接埠 (範例) | 
| TCP | 6 | 1521 (Oracle) | 在 Amazon RDS 執行個體上存取 Oracle 資料庫的預設連接埠 (範例) | 

您可以選擇性限制來自資料庫伺服器的輸出流量。例如，您可能想允許存取網際網路以取得軟體更新，但限制所有其他類型的流量。您必須先移除允許所有對外流量的預設對外規則。


| 通訊協定類型 | 通訊協定號碼 | 連接埠 | 目標 IP | 備註 | 
| --- | --- | --- | --- | --- | 
| TCP | 6 | 80 (HTTP) | 0.0.0.0/0 | 允許前往任何 IPv4 地址的對外 HTTP 存取 | 
| TCP | 6 | 443 (HTTPS) | 0.0.0.0/0 | 允許前往任何 IPv4 地址的對外 HTTPS 存取 | 
| TCP | 6 | 80 (HTTP) | ::/0 | (僅限啟用 IPv6 的 VPC) 允許前往任何 IPv6 地址的對外 HTTP 存取 | 
| TCP | 6 | 443 (HTTPS) | ::/0 | (僅限啟用 IPv6 的 VPC) 允許前往任何 IPv6 地址的對外 HTTPS 存取 | 

## 從您電腦連線到執行個體的規則
<a name="sg-rules-local-access"></a>

若要連線到您的執行個體，您的安全群組必須具有允許 SSH 存取 (適用於 Linux 執行個體) 或 RDP 存取 (適用於 Windows 執行個體) 的對內規則。


| 通訊協定類型 | 通訊協定號碼 | 連接埠 | 來源 IP | 
| --- | --- | --- | --- | 
| TCP | 6 | 22 (SSH) | 您電腦的公有 IPv4 地址，或是您本機網路中的 IP 地址範圍。若您的 VPC 已啟用 IPv6，且您的執行個體具有 IPv6 地址，您可以輸入 IPv6 地址或範圍。 | 
| TCP | 6 | 3389 (RDP) | 您電腦的公有 IPv4 地址，或是您本機網路中的 IP 地址範圍。若您的 VPC 已啟用 IPv6，且您的執行個體具有 IPv6 地址，您可以輸入 IPv6 地址或範圍。 | 

## 從執行個體使用相同安全群組連線到執行個體的規則
<a name="sg-rules-other-instances"></a>

若要允許與相同安全群組相關聯的執行個體彼此之間互相通訊，您必須為此明確新增規則。

**注意**  
如果您將路由設定為透過中間設備來轉遞不同子網中兩個執行個體之間的流量，則您必須確保兩個執行個體的安全群組均允許流量在執行個體之間流動。每個執行個體的安全群組都必須參考另一個執行個體的私有 IP 地址，或是包含其他執行個體之子網的 CIDR 範圍作為來源。如果您參考另一個執行個體的安全群組作為來源，這不會允許流量在執行個體之間流動。

下表說明可讓相關聯的執行個體互相通訊的安全群組傳入規則。規則允許所有類型的流量。


| 通訊協定類型 | 通訊協定號碼 | 連接埠 | 來源 IP | 
| --- | --- | --- | --- | 
| -1 (全部) | -1 (全部) | -1 (全部) | 安全群組的 ID，或是包含其他執行個體之子網的 CIDR 範圍 (請參閱備註)。 | 

## Ping/ICMP 的規則
<a name="sg-rules-ping"></a>

**ping** 命令是一種 ICMP 流量。若要 ping 您的執行個體，您必須新增下列任一對內 ICMP 規則。


| Type | 通訊協定 | 來源 | 
| --- | --- | --- | 
| 自訂 ICMP - IPv4 | 回聲請求 | 您電腦的公有 IPv4 地址、特定 IPv4 地址，或任何位置的 IPv4 或 IPv6 地址。 | 
| 所有 ICMP - IPv4 | IPv4 ICMP (1) | 您電腦的公有 IPv4 地址、特定 IPv4 地址，或任何位置的 IPv4 或 IPv6 地址。 | 

若要使用 **ping6** 命令 ping 您執行個體的 IPv6 地址，您必須新增下列對內 ICMPv6 規則。


| Type | 通訊協定 | 來源 | 
| --- | --- | --- | 
| 所有 ICMP - IPv6 | IPv6 ICMP (58) | 您電腦的 IPv6 地址、特定 IPv4 地址，或任何位置的 IPv4 或 IPv6 地址。 | 

## DNS 伺服器規則
<a name="sg-rules-dns"></a>

若您已將您的 EC2 執行個體設為 DNS 伺服器，您必須確保 TCP 和 UDP 流量能透過連接埠 53 觸達您的 DNS 伺服器。

針對來源 IP，請指定下列其中一項：
+ 網路中的特定 IP 地址或 IP 地址範圍 (CIDR 區塊標記法)
+ 您網路中需要存取 DNS 伺服器之執行個體集的安全群組 ID


| 通訊協定類型 | 通訊協定號碼 | 連接埠 | 
| --- | --- | --- | 
| TCP | 6 | 53 | 
| UDP | 17 | 53 | 

## Amazon EFS 規則
<a name="sg-rules-efs"></a>

若您正在搭配 Amazon EC2 執行個體使用 Amazon EFS 檔案系統，您與 Amazon EFS 掛載目標建立關聯的安全群組必須允許透過 NFS 通訊協定的流量。


| 通訊協定類型 | 通訊協定號碼 | 連接埠 | 來源 IP | 備註 | 
| --- | --- | --- | --- | --- | 
| TCP | 6 | 2049 (NFS) | 安全群組的 ID | 允許來自與此安全群組相關聯之資源 (包括掛載目標) 的對內 NFS 存取。 | 

若要在您的 Amazon EC2 執行個體上掛載 Amazon EFS 檔案系統，您必須連線到您的執行個體。因此，與您的執行個體相關聯的安全群組必須具備允許來自您本機電腦或本機網路對內 SSH 的規則。


| 通訊協定類型 | 通訊協定號碼 | 連接埠 | 來源 IP | 備註 | 
| --- | --- | --- | --- | --- | 
| TCP | 6 | 22 (SSH) | 您本機電腦的 IP 地址範圍，或是您網路的 IP 地址範圍 (CIDR 區塊標記法)。 | 允許來自您本機電腦的對內 SSH 存取。 | 

## Elastic Load Balancing 規則
<a name="sg-rules-elb"></a>

若您正在使用負載平衡器註冊 EC2 執行個體，與您負載平衡器相關聯的安全群組必須具備允許和您的執行個體通訊的規則。如需詳細資訊，請參閱 Elastic Load Balancing 說明文件。
+ [Application Load Balancer 的安全群組](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-update-security-groups.html)
+ [Network Load Balancer 的安全群組](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-security-groups.html)
+ [設定您的 Classic Load Balancer 的安全群組](https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-vpc-security-groups.html)