

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

# 使用安全群組控制 AWS 資源的流量
<a name="vpc-security-groups"></a>

*安全群組*負責控制允許到達和離開其關聯資源的流量。例如，將安全群組與 EC2 執行個體相關聯後，就會控制執行個體的傳入和傳出流量。

當您建立 VPC 時，其具有一個預設的安全群組。您可以為 VPC 建立額外的安全群組，每個群組都有自己的傳入及傳出規則。您可以為每個傳入規則指定來源、連接埠範圍和通訊協定。您可以為每個傳出規則指定目的地、連接埠範圍和通訊協定。

下圖顯示具有子網路、網際網路閘道和安全群組的 VPC。子網路包含 EC2 執行個體。指派給執行個體的安全群組。安全群組會做為虛擬防火牆。僅有安全群組規則允許的流量才能到達執行個體。例如，如果安全群組包含允許 ICMP 流量從您的網路傳輸至執行個體的規則，您即可從電腦 ping 執行個體。如果安全群組不包含允許 SSH 流量的規則，則您無法使用 SSH 連線至執行個體。

![\[具有 2 個子網路、2 個安全群組的 VPC，以及與不同安全群組相關聯子網路中的伺服器\]](http://docs.aws.amazon.com/zh_tw/vpc/latest/userguide/images/security-group-overview.png)


**Topics**
+ [安全群組基礎知識](#security-group-basics)
+ [安全群組範例](#security-group-example-details)
+ [安全群組規則](security-group-rules.md)
+ [預設安全群組](default-security-group.md)
+ [建立安全群組](creating-security-groups.md)
+ [設定安全群組規則](working-with-security-group-rules.md)
+ [刪除安全群組](deleting-security-groups.md)
+ [將安全群組與多個 VPC 建立關聯](security-group-assoc.md)
+ [與 AWS Organizations 共用安全群組](security-group-sharing.md)

**定價**  
使用安全群組無需額外收費。

## 安全群組基礎知識
<a name="security-group-basics"></a>
+ 如果使用[安全群組 VPC 關聯功能](security-group-assoc.md)將安全群組與相同區域中的其他 VPC 建立關聯，可以將安全群組指派給在與該安全群組相同的 VPC 中建立的資源，或指派給其他 VPC 中的資源。還可以將多個安全群組指派單個資源。
+ 當您建立安全群組時，您必須提供名稱和描述。適用的規定如下：
  + 安全群組名稱在 VPC 中必須是唯一的。
  + 安全群組名稱不區分大小寫。
  + 名稱和描述的長度最多可達 255 個字元。
  + 名稱和描述僅能使用下列字元：a-z、A-Z、0-9、空格，以及 .\$1-:/()\$1,@[]\$1=&;\$1\$1\$1\$1\$1。
  + 當名稱包含結尾空格時，我們會裁剪名稱結尾處的空格。例如，如果您輸入「測試安全群組」做為名稱，我們會將其儲存為「測試安全群組」。
  + 安全群組名稱的開頭不能是 `sg-`。
+ 安全群組具狀態。例如，若您從執行個體傳送請求，則允許該請求的回應流量到達執行個體，不論傳入安全群組規則為何。都會允許對允許傳入流量的回應離開執行個體，不論傳出規則為何。
+ 安全群組不會篩選往返下列位置的流量：
  + Amazon 網域名稱服務 (DNS)
  + Amazon 動態主機設定通訊協定 (DHCP)
  + Amazon EC2 執行個體中繼資料
  + Amazon ECS 任務中繼資料端點
  + Windows 執行個體的授權啟動
  + Amazon Time Sync Service
  + 預設 VPC 路由器使用的保留 IP 地址
+ 您可以為每個 VPC 建立的安全群組數、每個安全群組可新增的規則數，以及您可以與網路介面建立關聯的安全群組數都具有配額。如需詳細資訊，請參閱[Amazon VPC 配額](amazon-vpc-limits.md)。

**最佳實務**
+ 僅授權特定 IAM 主體建立和修改安全群組。
+ 建立您需要的最小數量的安全群組，以降低發生錯誤的風險。使用每個安全群組來管理對具有類似功能和安全要求之資源的存取權。
+ 在您為連接埠 22 (SSH) 或 3389 (RDP) 新增傳入規則以便可以存取 EC2 執行個體時，僅授權特定 IP 地址範圍。如果您指定 0.0.0.0/0 (IPv4) 和 ::/ (IPv6)，這可讓任何人使用指定的通訊協定從任何 IP 地址存取您的執行個體。
+ 請勿開啟較大的連接埠範圍。確保透過每個連接埠進行的存取僅限於需要連接埠的來源或目的地。
+ 考慮使用與您的安全群組相似的規則來建立網路 ACL，以為您的 VPC 新增額外的安全層。如需有關安全群組與網路 ACL 間差異的詳細資訊，請參閱[比較安全群組和網路 ACL](infrastructure-security.md#VPC_Security_Comparison)。

## 安全群組範例
<a name="security-group-example-details"></a>

下圖顯示了具有兩個安全群組和兩個子網路的 VPC。子網路 A 中的執行個體具有相同的連線需求，因此與安全群組 1 相關聯。子網路 B 中的執行個體具有相同的連線需求，因此與安全群組 2 相關聯。安全群組規則允許流量如下：
+ 安全群組 1 中的第一個輸入規則允許從指定地址範圍 (例如，您自己網路中的範圍) 傳輸至子網路 A 中執行個體的 SSH 流量。
+ 安全群組 1 中的第二個輸入規則允許子網路 A 中的執行個體使用任何通訊協定和連接埠相互通訊。
+ 安全群組 2 中的第一個輸入規則允許子網路 B 中的執行個體使用任何通訊協定和連接埠相互通訊。
+ 安全群組 2 中的第二個輸入規則允許子網路 A 中的執行個體使用 SSH 與子網路 B 中的執行個體通訊。
+ 兩個安全群組均使用預設傳出規則，允許所有流量。

![\[VPC，包含兩個安全群組和兩個子網路，且子網路中具有伺服器。子網路 A 中的伺服器與安全群組 1 相關聯。子網路 B 中的伺服器與安全群組 2 相關聯。\]](http://docs.aws.amazon.com/zh_tw/vpc/latest/userguide/images/security-group-details.png)


# 安全群組規則
<a name="security-group-rules"></a>

安全群組的規則可控制允許到達與安全群組相關聯之資源的傳入流量。規則也會控制允許離開的對外流量。

您可以新增或移除安全群組的規則 (也稱為*授權*或*撤銷*傳入或傳出存取)。規則會套用至傳入流量 (輸入) 或傳出流量 (輸出)。您可以授予特定來源或目的地的存取權。

**Topics**
+ [安全群組規則基礎知識](#security-group-rule-characteristics)
+ [安全群組規則的元件](#security-group-rule-components)
+ [安全群組參考](#security-group-referencing)
+ [安全群組大小](#security-group-size)
+ [過時的安全群組規則](#vpc-stale-security-group-rules)

## 安全群組規則基礎知識
<a name="security-group-rule-characteristics"></a>

以下為安全群組規則的特性：
+ 您可以指定允許規則，但無法指定拒絕規則。
+ 當您首次建立安全群組時，它沒有傳入規則。因此，在您將傳入規則新增到安全群組之前，都不會允許傳入流量。
+ 當您首次建立安全群組時，該安全群組會具有允許來自該資源的所有傳出流量的傳出規則。您可以移除規則並新增只允許特定傳出流量的傳出規則。若您的安全群組沒有傳出規則，將不會允許傳出流量。
+ 當您將多個安全群組與資源建立關聯時，會將每個安全群組的規則彙總以構成一組規則，並使用這組規則來決定是否允許存取。
+ 當您新增、更新或移除規則時，您的變更會自動套用至與安全群組相關聯的所有資源。如需說明，請參閱[設定安全群組規則](working-with-security-group-rules.md)。
+ 有些規則變更的效果可取決於追蹤流量的方式。如需詳細資訊，請參閱*《Amazon EC2 使用者指南》*中的[連線追蹤](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-connection-tracking.html)。
+ 當您建立安全群組規則時， 會 AWS 為規則指派唯一的 ID。當您使用 API 或 CLI 修改或刪除規則時，可以使用規則的 ID。

**限制**  
安全群組無法封鎖有時稱為「VPC\$12 IP 位址」(請參閱*《Amazon Route 53 開發人員指南》*中的 [Amazon Route 53 Resolver](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/resolver.html)) 或 [AmazonProvidedDNS](DHCPOptionSet.md) 的 Route 53 Resolver 所接收或發出的 DNS 請求。若要透過 Route 53 Resolver 篩選 DNS 請求，請使用 [Route 53 Resolver DNS Firewall](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/resolver-dns-firewall.html)。

## 安全群組規則的元件
<a name="security-group-rule-components"></a>

以下是傳入和傳出安全群組規則的組成部分：
+ **通訊協定**：要允許的通訊協定。最常見的通訊協定為 6 (TCP)、17 (UDP) 和 1 (ICMP)。
+ **連接埠範圍**：適用於 TCP、UDP 或自訂通訊協定，要允許的連接埠範圍。您可以指定單一連接埠號碼 (例如，`22`)，或是連接埠號碼的範圍 (例如，`7000-8000`)。
+ **ICMP 類型及代碼**：適用於 ICMP，為 ICMP 的類型及代碼。例如，使用類型 8 代表「ICMP Echo 請求」，輸入 128 則代表「ICMPv6 Echo 請求」。如需詳細資訊，請參閱《Amazon EC2 使用者指南》**中的 [Ping/ICMP 的規則](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-rules-reference.html#sg-rules-ping)。
+ **來源或目的地**：允許流量的來源 (傳入規則) 或目的地 (傳出規則)。請指定下列其中一項：
  + 單一 IPv4 地址。您必須使用 `/32` 的字首長度。例如 `203.0.113.1/32`。
  + 單一 IPv6 地址。您必須使用 `/128` 的字首長度。例如 `2001:db8:1234:1a00::123/128`。
  + IPv4 地址範圍，以 CIDR 區塊標記法表示。例如 `203.0.113.0/24`。
  + IPv6 地址範圍，以 CIDR 區塊標記法表示。例如 `2001:db8:1234:1a00::/64`。
  + 字首清單的 ID。例如 `pl-1234abc1234abc123`。如需詳細資訊，請參閱[受管理的字首清單](managed-prefix-lists.md)。
  + 安全群組的 ID。例如 `sg-1234567890abcdef0`。如需詳細資訊，請參閱[安全群組參考](#security-group-referencing)。
+ **(Optional) Description ((選用) 描述)**：您可以為規則新增描述，這可協助您在稍後更容易識別它。描述的長度最高可達 255 個字元。允許的字元為 a-z、A-Z、0-9、空格鍵和 .\$1-:/()\$1,@[]\$1=;\$1\$1\$1\$1\$1。

如需範例，請參閱《Amazon EC2 使用者指南》**中的[不同使用案例的安全群組規則](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-rules-reference.html)。

## 安全群組參考
<a name="security-group-referencing"></a>

當您將安全群組指定為規則的來源或目的地時，規則會影響所有與安全群組相關聯的執行個體。執行個體可透過指定的通訊協定和連接埠，使用執行個體的私有 IP 地址，以指定的方向進行通訊。

例如，以下內容表示參考安全群組 sg-0abcdef1234567890 的安全群組傳入規則。此規則允許來自與 sg-0abcdef1234567890 關聯的執行個體的傳入 SSH 流量。


| 來源 | 通訊協定 | 連接埠範圍 | 
| --- | --- | --- | 
| sg-0abcdef1234567890 | TCP | 22 | 

在安全群組規則中參考安全群組時，請注意下列事項：
+ 如果下列任一情況為 true，您可以在另一個安全群組的傳入規則中參考安全群組：
  + 與同一 VPC 關聯的安全群組。
  + 與安全群組相關聯的 VPC 之間有互連連線。
  + 與安全群組相關聯的 VPC 之間有傳輸閘道。
+ 如果下列任一情況為 true，您可以在傳出規則中參考安全群組：
  + 與同一 VPC 關聯的安全群組。
  + 與安全群組相關聯的 VPC 之間有互連連線。
+ 所參考安全群組中的規則不會新增至參考該安全群組的安全群組。
+ 對於傳入規則，與安全群組關聯的 EC2 執行個體可以從與參考安全群組相關聯之 EC2 執行個體的網路介面中的私有 IP 位址接收傳入流量。
+ 對於傳出規則，與安全群組關聯的 EC2 執行個體可以將傳出流量傳送至與參考安全群組相關聯之 EC2 執行個體的網路介面中的私有 IP 位址。
+ 我們不會在下列動作中對參考的安全群組進行授權：`AuthorizeSecurityGroupIngress`、`AuthorizeSecurityGroupEgress`、`RevokeSecurityGroupIngress` 與 `RevokeSecurityGroupEgress`。我們只會檢查安全群組是否存在。此舉會導致以下情形：
  + 在 IAM 政策中為這些動作指定參考的安全群組沒有作用。
  + 當另一個帳戶擁有參考的安全群組時，擁有者帳戶不會收到這些動作的 CloudTrail 事件。

**限制**

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

**範例**

下圖顯示在兩個可用區域中具有子網路、一個網際網路閘道和一個 Application Load Balancer 的 VPC。每個可用區域都有一個用於 Web 伺服器的公用子網路，以及一個用於資料庫伺服器的私有子網路。負載平衡器、Web 伺服器和資料庫伺服器有個別的安全群組。建立下列安全群組規則以允許流量。
+ 將規則新增至負載平衡器的安全群組以允許來自網際網路的 HTTP 和 HTTPS 流量。來源是 0.0.0.0/0。
+ 將規則新增至 Web 伺服器的安全群組，以僅允許來自負載平衡器的 HTTP 和 HTTPS 流量。來源是負載平衡器的安全群組。
+ 將規則新增至資料庫伺服器的安全群組，以允許來自 Web 伺服器的資料庫請求。來源是 Web 伺服器的安全群組。

![\[具有 Web 和 db 伺服器、安全群組、網際網路閘道和負載平衡器的架構\]](http://docs.aws.amazon.com/zh_tw/vpc/latest/userguide/images/security-group-referencing.png)


## 安全群組大小
<a name="security-group-size"></a>

來源或目的地類型會決定每個規則如何計入每個安全群組可擁有的規則數目上限。
+ 參考 CIDR 區塊的規則會計為一個規則。
+ 參考另一個安全群組的規則會計為一個規則，無論參考之安全群組的大小為何。
+ 參考客戶管理之字首清單的規則會計為字首清單的大小上限。例如，如果字首清單的大小上限為 20，則參考此字首清單的規則會計為 20 個規則。
+ 參考 AWS受管字首清單的規則會計入字首清單的權重。例如，如果字首清單的權重為 10，則參考此字首清單的規則會計為 10 個規則。如需詳細資訊，請參閱[可用的 AWS受管字首清單](working-with-aws-managed-prefix-lists.md#available-aws-managed-prefix-lists)。

## 過時的安全群組規則
<a name="vpc-stale-security-group-rules"></a>

若 VPC 和另一個 VPC 之間有 VPC 對等互連連線或與其他帳戶共用一個 VPC，則 VPC 的安全群組規則會參考該對等 VPC 或共用 VPC 中的安全群組規則。這可讓與被參考安全群組相關聯的資源，以及與參考安全群組相關聯的執行個體彼此通訊。如需詳細資訊，請參閱《Amazon VPC 互連指南》**中的[更新您的安全群組，使其參考互連安全群組](https://docs.aws.amazon.com/vpc/latest/peering/vpc-peering-security-groups.html)。

如果您有一個參考互連 VPC 或共用 VPC 中安全群組的安全群組規則，並且共用 VPC 中的安全群組被删除或 VPC 對等互連遭到删除，則該安全群組規則將被標記為過時。如同任何其他的安全群組規則，您可以刪除過時的安全群組規則。

# VPC 的預設安全群組
<a name="default-security-group"></a>

您的預設 VPC 和您建立的任何 VPC 皆隨附預設的安全群組。預設安全群組的名稱為「default」。

建議您為特定資源或資源群組建立安全群組，而非使用預設安全群組。但是，如果您未在建立資源時關聯安全群組，則資源會關聯至預設安全群組。例如，如果您未在啟動 EC2 執行個體時指定安全群組，執行個體會與 VPC 的預設安全群組建立關聯。

## 預設安全群組基本概念
<a name="default-security-group-basics"></a>
+ 您可以變更預設安全群組的規則。
+ 您無法刪除預設安全群組。若您嘗試刪除預設安全群組，我們會傳回下列錯誤代碼：`Client.CannotDelete`。

## 預設規則
<a name="default-security-group-default-rules"></a>

下表說明預設安全群組的預設傳入規則。


| 來源 | 通訊協定 | 連接埠範圍 | Description | 
| --- | --- | --- | --- | 
| sg-1234567890abcdef0  | 全部 | 全部 | 允許來自指派給此安全群組的所有資源的傳入流量。來源為此安全群組的 ID。 | 

下表說明預設安全群組的預設傳出規則。


| 目標 | 通訊協定 | 連接埠範圍 | 描述 | 
| --- | --- | --- | --- | 
| 0.0.0.0/0 | 全部 | 全部 | 允許所有傳出 IPv4 流量。 | 
| ::/0 | 全部 | 全部 | 允許所有傳出 IPv6 流量。只有在 VPC 有相關聯的 IPv6 CIDR 區塊時，才會新增此規則。 | 

## 範例
<a name="default-security-group-example"></a>

下圖顯示具有一個預設安全群組、一個網際網路閘道和一個 NAT 閘道的 VPC。預設安全措施僅包含其預設規則，並且它會與在 VPC 中執行的兩個 EC2 執行個體建立關聯。在此案例中，每個執行個體都可以從所有連接埠和通訊協定上的其他執行個體接收傳入流量。預設規則不允許執行個體從網際網路閘道或 NAT 閘道接收流量。如果您的執行個體必須接收額外流量，建議您建立一個具有所需規則的安全群組，並將新的安全群組與執行個體建立關聯，而不是與預設安全群組建立關聯。

![\[具有 2 個子網路、預設安全群組、2 個 EC2 執行個體、網際網路閘道和 NAT 閘道的 VPC\]](http://docs.aws.amazon.com/zh_tw/vpc/latest/userguide/images/default-security-group.png)


# 為 VPC 建立安全群組
<a name="creating-security-groups"></a>

您的虛擬私有雲端 (VPC) 隨附預設安全群組。您可以建立額外的安全群組。安全群組只能在建立該群組的 VPC 的資源中使用。

根據預設，新的安全群組一開始只有允許流量離開資源的傳出規則。您必須新增規則啟用任何傳入流量，或是限制傳出流量。您可以在建立安全群組時新增規則，或稍後再新增。如需詳細資訊，請參閱[安全群組規則](security-group-rules.md)。

**所需的 許可**

開始之前，請務必備妥必要的許可。如需詳細資訊，請參閱下列內容：
+ [管理安全群組](vpc-policy-examples.md#vpc-security-groups-iam)
+ [管理安全群組規則](vpc-policy-examples.md#vpc-security-group-rules-iam)

**使用主控台建立安全群組**

1. 在 [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) 開啟 Amazon VPC 主控台。

1. 在導覽窗格中，選擇**安全群組**。

1. 選擇 **Create Security Group** (建立安全群組)。

1. 輸入安全群組的名稱和說明。您無法在建立安全群組之後變更安全群組的名稱和說明。

1. 對於 **VPC**，選擇您要建立與安全群組建立關聯的資源的 VPC。

1. (選用) 若要新增傳入規則，請選擇**傳入規則**。針對每個規則，選擇**新增規則**並指定通訊協定、連接埠和來源。如需詳細資訊，請參閱[設定安全群組規則](working-with-security-group-rules.md)。

1. (選用) 若要新增傳出規則，請選擇**傳出規則**。針對每個規則，選擇**新增規則**並指定通訊協定、連接埠和目的地。

1. (選用) 若要新增標籤，請選擇 **Add new tag** (新增標籤)，然後輸入標籤金鑰和值。

1. 選擇**建立安全群組**。

**使用 建立安全群組 AWS CLI**  
使用 [create-security-group](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-security-group.html) 命令。

此外，您可以複製現有安全群組，以建立新的安全群組。當您複製安全群組時，我們會自動新增與原始安全群組相同的傳入和傳出規則，並使用與原始安全群組相同的 VPC。您可以輸入新安全群組的名稱和說明。您可以選擇不同的 VPC，也可以視需要修改傳入和傳出規則。但是，您無法將安全群組從一個區域複製到另一個區域。

**根據現有的安全群組建立安全群組**

1. 在 [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) 開啟 Amazon VPC 主控台。

1. 在導覽窗格中，選擇**安全群組**。

1. 選取安全群組。

1. 選擇**動作**，**複製到新的安全群組**。

1. 輸入安全群組的名稱和說明。

1. (選用) 視需要選擇不同的 VPC。

1. (選用) 視需要新增、移除或編輯安全群組規則。

1. 選擇**建立安全群組**。

# 設定安全群組規則
<a name="working-with-security-group-rules"></a>

建立安全群組之後，您可以新增、更新和刪除其安全群組規則。當您新增、更新或刪除規則時，變更會自動套用至與安全群組相關聯的任何資源。

**所需的許可**  
開始之前，請務必備妥必要的許可。如需詳細資訊，請參閱[管理安全群組規則](vpc-policy-examples.md#vpc-security-group-rules-iam)。

**通訊協定與連接埠**
+ 在主控台中選取預先定義的類型後，系統會為您指定**通訊協定**與**連接埠範圍**。如需輸入連接埠範圍，必須選取以下自訂類型之一：**自訂 TCP** 或**自訂 UDP**。
+ 使用 AWS CLI，您可以使用 `--protocol`和 `--port`選項新增具有單一連接埠的單一規則。如需新增多項規則，或具有連接埠範圍的規則，請改用 `--ip-permissions` 選項。

**資料來源和目的地**
+ 透過主控台，可指定下列內容作為傳入規則的來源，或傳出規則的目的地：
  + **自訂** – IPv4 CIDR 區塊、IPv6 CIDR 區塊、安全群組或字首清單。
  + **Anywhere-IPv4** – 0.0.0.0/0 IPv4 CIDR 區塊。
  + **Anywhere-IPv6** – ::/0 IPv6 CIDR 區塊。
  + **我的 IP**：自動新增您本機電腦的公有 IPv4 地址。
+ 使用 AWS CLI，您可以使用 `--cidr`選項指定 IPv4 CIDR 區塊，或使用 `--source-group`選項指定安全群組。若要指定字首清單或 IPv6 CIDR 區塊，請使用 `--ip-permissions` 選項。

**警告**  
如果您選擇**任何位置-IPv4**，則會允許來自所有 IPv4 地址的流量。如果您選擇**任何位置-IPv6**，則會允許來自所有 IPv6 地址的流量。最佳實務是僅授權需要存取資源的特定 IP 位址範圍。

**使用主控台為安全群組配置規則**

1. 在 [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) 開啟 Amazon VPC 主控台。

1. 在導覽窗格中，選擇**安全群組**。

1. 選取安全群組。

1. 若要編輯傳入規則，請從**動作**或傳入規則索引標籤中選擇**編輯****傳入規則**。

   1. 若要新增規則，請選擇**新增規則**，並輸入規則的類型、通訊協定、連接埠和來源。

      針對 TCP 或 UDP，您必須輸入要允許的連接埠範圍。針對自訂 ICMP，則必須從 **Protocol (通訊協定)** 中選擇 ICMP 類型名稱，然後再從 **Port Range (連接埠範圍)** 中選擇代碼名稱 (若適用)。如果是任何其他類型，則系統會自動為您設定通訊協定和連接埠範圍。

   1. 若要更新規則，請視需要變更其通訊協定、描述和來源。不過，您無法變更來源類型。例如，如果來源是 IPv4 CIDR 區塊，則無法指定 IPv6 CIDR 區塊、字首清單或安全群組。

   1. 若要刪除規則，請選擇其**刪除**按鈕。

1. 若要編輯傳出規則，請從**動作**或傳出規則索引標籤中選擇**編輯傳****出規則**。

   1. 若要新增規則，請選擇**新增規則**，並輸入規則的類型、通訊協定、連接埠和目的地。您也可以選擇輸入描述。

      針對 TCP 或 UDP，您必須輸入要允許的連接埠範圍。針對自訂 ICMP，則必須從 **Protocol (通訊協定)** 中選擇 ICMP 類型名稱，然後再從 **Port Range (連接埠範圍)** 中選擇代碼名稱 (若適用)。如果是任何其他類型，則系統會自動為您設定通訊協定和連接埠範圍。

   1. 若要更新規則，請視需要變更其通訊協定、描述和來源。不過，您無法變更來源類型。例如，如果來源是 IPv4 CIDR 區塊，則無法指定 IPv6 CIDR 區塊、字首清單或安全群組。

   1. 若要刪除規則，請選擇其**刪除**按鈕。

1. 選擇**儲存規則**。

**使用 設定安全群組規則 AWS CLI**
+ **使用** [authorize-security-group-ingress](https://docs.aws.amazon.com/cli/latest/reference/ec2/authorize-security-group-ingress.html) 和 [authorize-security-group-egress](https://docs.aws.amazon.com/cli/latest/reference/ec2/authorize-security-group-egress.html) 命令。
+ **使用** [revoke-security-group-ingress](https://docs.aws.amazon.com/cli/latest/reference/ec2/revoke-security-group-ingress.html) 和 [revoke-security-group-egress](https://docs.aws.amazon.com/cli/latest/reference/ec2/revoke-security-group-egress.html) 命令。
+ **修改** – 使用 [modify-security-group-rules](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-security-group-rules.html)、[update-security-group-rule-descriptions-ingress](https://docs.aws.amazon.com/cli/latest/reference/ec2/update-security-group-rule-descriptions-ingress.html) 和 [update-security-group-rule-descriptions-egress](https://docs.aws.amazon.com/cli/latest/reference/ec2/update-security-group-rule-descriptions-egress.html) 命令。

# 刪除安全群組
<a name="deleting-security-groups"></a>

當您完成建立的安全群組後，您可以將其刪除。

**要求**
+ 安全群組無法與任何資源建立關聯。
+ 安全群組不能被其他安全群組中的規則參考。
+ 安全群組不能是 VPC 的預設安全群組。

**使用主控台刪除安全群組**

1. 在 [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) 開啟 Amazon VPC 主控台。

1. 在導覽窗格中，選擇**安全群組**。

1. 選取安全群組，然後選擇**動作**、**刪除安全群組**。

1. 如果您選擇多個安全群組，系統會提示您進行確認。如果無法刪除某些安全群組，我們會顯示每個安全群組的狀態，指出是否要刪除。若要確認刪除，請輸入**刪除**。

1. 選擇 **刪除**。

**使用 刪除安全群組 AWS CLI**  
使用 [delete-security-group](https://docs.aws.amazon.com/cli/latest/reference/ec2/delete-security-group.html) 命令。

# 將安全群組與多個 VPC 建立關聯
<a name="security-group-assoc"></a>

如果您有工作負載在共用網路安全需求的多個 VPC 中執行，您可以使用安全群組 VPC 關聯功能，將安全群組與相同區域中的 VPC 建立關聯。這可讓您管理和維護您帳戶中多個 VPC 的安全群組。

![\[與兩個 VPC 相關聯的安全群組圖表。\]](http://docs.aws.amazon.com/zh_tw/vpc/latest/userguide/images/sec-group-vpc-assoc.png)


上圖顯示帳戶 AWS A，其中包含兩個 VPCs。每個 VPC 都有在私有子網路中執行的工作負載。在此情況下，VPC A 和 B 子網路中的工作負載共用相同的網路流量需求，因此帳戶 A 可以使用安全群組 VPC 關聯功能，將 VPC A 中的安全群組與 VPC B 建立關聯。對相關安全群組所做的任何更新都會自動套用至 VPC B 子網路中的工作負載。

**安全群組 VPC 關聯功能的需求**
+ 您必須擁有 VPC 或與您共用其中一個 VPC 子網路，才能將安全群組與 VPC 建立關聯。
+ VPC 和安全群組必須位於相同的 AWS 區域。
+ 您無法將預設安全群組與其他 VPC 建立關聯，或將安全群組與預設 VPC 建立關聯。
+ 安全群組擁有者和 VPC 擁有者都可以檢視安全群組 VPC 關聯。

**支援此功能的服務**
+ Amazon API Gateway (僅限 REST API)
+ AWS Auto Scaling
+ CloudFormation
+ Amazon EC2
+ Amazon EFS
+ Amazon EKS
+ Amazon FSx
+ AWS PrivateLink
+ Amazon Route 53
+ Elastic Load Balancing
  + Application Load Balancer
  + Network Load Balancer

## 將安全群組與另一個 VPC 建立關聯
<a name="assoc-sg"></a>

本節說明如何使用 AWS 管理主控台 和 AWS CLI 將安全群組與 VPCs建立關聯。

------
#### [ AWS Management Console ]

**為安全群組與另一個 VPC 建立關聯**

1. 在 [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) 開啟 Amazon VPC 主控台。

1. 在左導覽窗格中，選擇**安全群組**。

1. 選擇安全群組，檢視其詳細資訊。

1. 選擇 **VPC 關聯**標籤。

1. 選擇 **Associate VPC (關聯 VPC)**。

1. 在 **VPC ID** 下，選擇要與安全群組建立關聯的 VPC。

1. 選擇 **Associate VPC (關聯 VPC)**。

------
#### [ Command line ]

**將安全群組與另一個 VPC 建立關聯**

1. 建立與 [associate-security-group-vpc](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ec2/associate-security-group-vpc.html) 的 VPC 關聯。

1. 檢查 VPC 與 [describe-security-group-vpc-associations](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ec2/describe-security-group-vpc-associations.html) 的關聯狀態，並等待狀態變為 `associated`。

------

VPC 現在已與安全群組關聯。

 將 VPC 與安全群組建立關聯後，例如，您可以[在 VPC 中啟動執行個體，並選擇此新的安全群組](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/LaunchingAndUsingInstances.html)，或[在現有的安全群組規則中參考此安全群組](security-group-rules.md#security-group-referencing)。

## 取消安全群組與另一個 VPC 的關聯
<a name="disassoc-sg"></a>

本節說明如何使用 AWS 管理主控台 和 AWS CLI 取消安全群組與 VPCs關聯。如果您的目標是刪除安全群組，您可能想要這麼做。如果安全群組已關聯，則無法刪除。只有在關聯的 VPC 中沒有網路介面使用該安全群組時，您才能取消關聯安全群組。

------
#### [ AWS Management Console ]

**取消安全群組與 VPC 的關聯**

1. 在 [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) 開啟 Amazon VPC 主控台。

1. 在左導覽窗格中，選擇**安全群組**。

1. 選擇安全群組，檢視其詳細資訊。

1. 選擇 **VPC 關聯**標籤。

1. 選擇**取消關聯 VPC**。

1. 在 **VPC ID** 下，選擇要與安全群組取消關聯的 VPC。

1. 選擇**取消關聯 VPC**。

1. 在 VPC 關聯標籤中檢視取消關聯的**狀態**，並等待狀態變為 `disassociated`。

------
#### [ Command line ]

**取消安全群組與 VPC 的關聯**

1. 取消 VPC 與 [disassociate-security-group-vpc](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ec2/disassociate-security-group-vpc.html) 的關聯。

1. 檢查 VPC 與 [describe-security-group-vpc-associations](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ec2/describe-security-group-vpc-associations.html) 取消關聯的狀態，並等待狀態變為 `disassociated`。

------

VPC 現在已與安全群組取消關聯。

# 與 AWS Organizations 共用安全群組
<a name="security-group-sharing"></a>

共用安全群組功能可讓您與相同 AWS 區域內的其他 AWS Organizations 帳戶共用安全群組，並讓安全群組可供這些帳戶使用。

下圖示範如何使用共用安全群組功能來簡化 AWS Organizations 中跨帳戶的安全群組管理：

![\[與共用 VPC 子網路中的其他帳戶共用的安全群組圖表。\]](http://docs.aws.amazon.com/zh_tw/vpc/latest/userguide/images/sec-group-sharing.png)


此圖表顯示三個屬於相同組織的帳戶。帳戶 A 與帳戶 B 和 C 共用 VPC 子網路。帳戶 A 使用共用安全群組功能與帳戶 B 和 C 共用安全群組。帳戶 B 和 C 接著會在共用子網路中啟動執行個體時使用該安全群組。這可讓帳戶 A 管理安全群組；安全群組的任何更新都會套用至帳戶 B 和 C 在共用 VPC 子網路中執行的資源。

**共用安全群組功能的需求**
+ 此功能僅適用於 AWS Organizations 中相同組織中的帳戶。[資源共用](https://docs.aws.amazon.com/ram/latest/userguide/getting-started-sharing.html)必須在 AWS Organizations 中啟用。
+ 共用安全群組的帳戶必須同時擁有 VPC 和安全群組。
+ 您無法共用預設安全群組。
+ 您無法共用預設 VPC 中的安全群組。
+ 參與者帳戶可以在共用 VPC 中建立安全群組，但無法共用這些安全群組。
+ IAM 主體需要一組最低許可，才能與之共用安全群組 AWS RAM。使用 `AmazonEC2FullAccess` 和 `AWSResourceAccessManagerFullAccess` 受管 IAM 政策，確保您的 IAM 主體擁有共用和使用共用安全群組所需的許可。如果您使用自訂 IAM 政策，則需要 `c2:PutResourcePolicy` 和 `ec2:DeleteResourcePolicy` 動作。這些是僅限許可的 IAM 動作。如果 IAM 委託人未授予這些許可，嘗試使用 AWS RAM共用安全群組時將發生錯誤。

**支援此功能的服務**
+ Amazon API Gateway
+ Amazon EC2
+ Amazon ECS
+ Amazon EFS
+ Amazon EKS
+ Amazon EMR
+ Amazon FSx
+ Amazon ElastiCache
+ AWS Elastic Beanstalk
+ AWS Glue
+ Amazon MQ
+ Amazon SageMaker AI
+ Elastic Load Balancing
  + Application Load Balancer
  + Network Load Balancer

**此功能如何影響現有的配額**

[安全群組配額](amazon-vpc-limits.md#vpc-limits-security-groups)適用。不過，對於「每個網路介面的安全群組」配額，如果參與者在彈性網路介面 (ENI) 上使用擁有和共用的群組，則適用擁有者和參與者配額的最小值。

示範配額如何受到此功能影響的範例：
+ 擁有者帳戶配額：每個介面 4 個安全群組
+ 參與者帳戶配額：每個介面 5 個安全群組。
+ 擁有者與參與者共用群組 SG-O1、SG-O2、SG-O3、SG-O4、SG-O5。參與者已在 VPC 中擁有自己的群組：SG-P1、SG-P2、SG-P3、SG-P4、SG-P5。
+ 如果參與者建立 ENI 並僅使用其擁有的群組，他們可以關聯所有 5 個安全群組 (SG-P1、SG-P2、SG-P3、SG-P4、SG-P5)，因為這是他們的配額。
+ 如果參與者建立 ENI 並使用其中的任何共用群組，則他們最多只能關聯 4 個群組。在這種情況下，此類 ENI 的配額是擁有者和參與者配額的最小值。可能的有效組態如下所示：
  + SG-O1、SG-P1、SG-P2、SG-P3
  + SG-O1、SG-O2、SG-O3、SG-O4

## 共用安全群組
<a name="share-sg-org"></a>

本節說明如何使用 AWS 管理主控台 和 AWS CLI 與 Organization 中的其他帳戶共用安全群組。

------
#### [ AWS Management Console ]

**共用安全群組**

1. 在 [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) 開啟 Amazon VPC 主控台。

1. 在左導覽窗格中，選擇**安全群組**。

1. 選擇安全群組，檢視其詳細資訊。

1. 選擇 **Sharing (共用)** 標籤 。

1. 選擇**共用安全群組**。

1. 選擇 **Create resource share (建立資源共用)**。因此， AWS RAM 主控台會開啟，您將在其中為安全群組建立資源共享。

1. 輸入共用資源的**名稱**。

1. 在**資源 – 選用**下，選擇**安全群組**。

1. 選擇安全群組。安全群組不能是預設安全群組，也不能與預設 VPC 相關聯。

1. 選擇**下一步**。

1. 檢閱允許主體執行的動作，然後選擇**下一步**。

1. 在**主體 – 選用**下，選擇**僅允許在組織內共用**。

1. 在**主體**下，選擇下列其中一個主體類型，然後輸入適當的數字：
   + **AWS 帳戶**：您 Organization 中帳戶的帳戶號碼。
   + **Organization**： AWS Organizations ID。
   + **組織單位 (OU)**：組織中的 OU 的 ID。
   + **IAM 角色**：IAM 角色的 ARN。建立角色的帳戶必須與建立此資源共享的帳戶是相同組織的成員。
   + **IAM 使用者**：IAM 使用者的 ARN。建立使用者的帳戶必須與建立此資源共享的帳戶是相同組織的成員。
   + **服務主體**：您無法與服務主體共用安全群組。

1. 選擇**新增**。

1. 選擇**下一步**。

1. 選擇 **Create resource share (建立資源共用)**。

1. 在**共用資源**下，等待以查看 `Associated` 的**狀態**。如果有安全群組關聯失敗，可能是因為上述其中一個限制。檢視安全群組的詳細資訊，以及詳細資訊頁面上的**共用**標籤，以查看與安全群組無法共用原因相關的任何訊息。

1. 返回 VPC 主控台安全群組清單。

1. 選擇您共用的安全群組。

1. 選擇 **Sharing (共用)** 標籤 。您的 AWS RAM 資源應該會在那裡顯示。如果沒有，資源共用建立可能失敗，您可能需要重新建立。

------
#### [ Command line ]

**共用安全群組**

1. 您必須先為要共用的安全群組建立資源共用 AWS RAM。如需如何使用 在 中建立資源共享的步驟 AWS RAM AWS CLI，請參閱*AWS RAM 《 使用者指南*》中的[在 中建立資源共享 AWS RAM](https://docs.aws.amazon.com/ram/latest/userguide/working-with-sharing-create.html) 

1. 若要檢視建立的資源共用關聯，請使用 [get-resource-share-associations](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ec2/get-resource-share-associations.html)。

------

安全群組現在已共用。您可以在相同 VPC 內的共用子網路中[啟動 EC2 執行個體](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/LaunchingAndUsingInstances.html)時選取安全群組。

## 停止共用安全群組
<a name="stop-share-sg-org"></a>

本節說明如何使用 AWS 管理主控台 和 AWS CLI 來停止與 Organization 中的其他帳戶共用安全群組。

------
#### [ AWS Management Console ]

**停止共用安全群組**

1. 在 [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) 開啟 Amazon VPC 主控台。

1. 在左導覽窗格中，選擇**安全群組**。

1. 選擇安全群組，檢視其詳細資訊。

1. 選擇 **Sharing (共用)** 標籤 。

1. 選擇安全群組資源共用，然後選擇**停止共用**。

1. 選擇**是，停止共用**。

------
#### [ Command line ]

**停止共用安全群組**

使用 [delete-resource-share](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ec2/delete-resource-share.html) 刪除資源共用。

------

安全群組不再共用。擁有者停止共用安全群組後，適用下列規則：
+ 現有參與者彈性網絡介面 (ENI) 會繼續取得對未共用安全群組所做的任何安全群組規則更新。取消共用只會防止參與者與未共用的群組建立新的關聯。
+ 參與者無法再將未共用的安全群組與其擁有的任何 ENI 建立關聯。
+ 參與者可以描述和刪除仍然與未共用安全群組相關聯的 ENI。
+ 如果參與者仍有與未共用安全群組相關聯的 ENI，則擁有者無法刪除未共用的安全群組。擁有者只能在參與者取消安全群組與其所有 EN 的關聯 (移除) 之後，才能刪除安全群組。
+ 參與者無法使用與未共用安全群組相關聯的 ENI 啟動新的 EC2 執行個體。