

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

# 使用安全群組控制 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)
