

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

# 使用安全群組控制存取
<a name="Overview.RDSSecurityGroups"></a>

VPC 安全群組會控制進出資料庫執行個體流量的存取權限。根據預設，您資料庫執行個體的網路存取是關閉的。您可以在允許從 IP 地址範圍、連接埠或安全群組存取的安全群組中指定規則。設定傳入規則後，相同規則就會套用到與該安全群組相關聯的所有資料庫執行個體。您最多可在安全群組中指定 20 條規則。

## VPC 安全群組概觀
<a name="Overview.RDSSecurityGroups.VPCSec"></a>

每個 VPC 安全群組都可能可以讓特定來源存取 VPC 中與該 VPC 安全群組相關聯的資料庫執行個體。來源可以是地址的來源 (例如，203.0.113.0/24) 或另一個 VPC 安全群組。藉由指定 VPC 安全群組做為來源，您允許從使用來源 VPC 安全群組的所有執行個體 (通常指的是應用程式伺服器) 傳入的流量。VPC 安全群組可以擁有同時掌管入站和出站流量的規則。但是，傳出流量規則通常不適用於資料庫執行個體。僅在資料庫執行個體充當用戶端時，傳出流量規則才適用。例如，傳出流量規則適用於具有傳出資料庫連結的 Oracle 資料庫執行個體。您必須使用 [Amazon EC2 API](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Welcome.html) 或 VPC 主控台上的 **Security Group** (安全群組) 選項，才能建立 VPC 安全群組。

為您的 VPC 安全群組建立允許存取 VPC 中執行個體的規則時，您必須針對規則允許存取的每個地址範圍指定一個連接埠。例如，如果您想要對 VPC 中的執行個體開啟安全殼 (SSH) 存取，則可以建立一個規則，允許存取所指定之地址範圍的 TCP 連接埠 22。

您可以設定多個 VPC 安全群組，允許存取 VPC 中不同執行個體的不同連接埠。例如，您可以建立 VPC 安全群組，允許存取 VPC 中 Web 伺服器的 TCP 連接埠 80。然後，您可以建立另一個 VPC 安全群組，允許存取 VPC 中 RDS for MySQL 資料庫執行個體的 TCP 連接埠 3306。

如需 VPC 安全群組的詳細資訊，請參閱《Amazon Virtual Private Cloud 使用者指南》**中的[安全群組](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html)。

**注意**  
如果您的資料庫執行個體位於 VPC 中，但無法公開存取，您也可以使用 an AWS Site-to-Site VPN 連線或 Direct Connect 連線從私有網路存取。如需詳細資訊，請參閱 [網際網路流量隱私權](inter-network-traffic-privacy.md)。

## 安全群組案例
<a name="Overview.RDSSecurityGroups.Scenarios"></a>

VPC 中資料庫執行個體的常見使用方式，是與在相同 VPC 的 Amazon EC2 執行個體中執行的應用程式伺服器共享資料，這是由 VPC 外的應用程式用戶端存取的。在此案例中，您可以使用 上的 RDS 和 VPC 頁面 AWS 管理主控台 或 RDS 和 EC2 API 操作來建立必要的執行個體和安全群組：

1. 建立 VPC 安全群組 (例如，`sg-0123ec2example`)，並定義使用用戶端應用程式之 IP 地址做為來源的傳入規則。此安全群組可讓您的用戶端應用程式連接至 VPC 中使用此安全群組的 EC2 執行個體。

1. 建立應用程式的 EC2 執行個體，並將 EC2 執行個體新增至您在前一個步驟中建立的 VPC 安全群組 (`sg-0123ec2example`)。

1. 建立第二個 VPC 安全群組 (例如，`sg-6789rdsexample`)，並建立新規則，方法為指定您在步驟 1 中建立的 VPC 安全群組 (`sg-0123ec2example`) 做為來源。

1. 建立新的資料庫執行個體，並將資料庫執行個體新增至您在前一個步驟中建立的 VPC 安全群組 (`sg-6789rdsexample`)。當建立資料庫執行個體時，請使用您為步驟 3 中所建立 VPC 安全群組 (`sg-6789rdsexample`) 規則指定的相同連接埠號碼。

此案例可以下列圖表顯示。

![\[VPC 中的資料庫執行個體和 EC2 執行個體\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/images/con-VPC-sec-grp.png)


如需此案例中設定 VPC 的詳細說明，請參閱 [教學課程：建立要與資料庫執行個體搭配使用的 VPC (僅限 IPv4)](CHAP_Tutorials.WebServerDB.CreateVPC.md)。如需使用 VPC 的詳細資訊，請參閱 [Amazon VPC 和 Amazon RDS](USER_VPC.md)。

## 建立 VPC 安全群組
<a name="Overview.RDSSecurityGroups.Create"></a>

您可以使用 VPC 主控台，建立資料庫執行個體的 VPC 安全群組。如需建立安全群組的相關資訊，請參閱《Amazon Virtual Private Cloud 使用者指南》**中的[建立安全群組以存取在您的 VPC 中您的資料庫執行個體](CHAP_SettingUp.md#CHAP_SettingUp.SecurityGroup)和[安全群組](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html)。

## 將安全群組與資料庫執行個體建立關聯
<a name="Overview.RDSSecurityGroups.Associate"></a>

您可以使用 RDS 主控台上的**修改**、Amazon RDS API `ModifyDBInstance` 或 `modify-db-instance` AWS CLI 命令，將安全群組與資料庫執行個體建立關聯。

下列 CLI 範例會建立特定 VPC 安全群組的關聯，並從資料庫執行個體中移除資料庫安全群組

```
aws rds modify-db-instance --db-instance-identifier dbName --vpc-security-group-ids sg-ID
```

 如需修改資料庫執行個體的相關資訊，請參閱 [修改 Amazon RDS 資料庫執行個體](Overview.DBInstance.Modifying.md)。如需您從資料庫快照還原資料庫執行個體時的安全群組考量，請參閱 [安全群組考量](USER_RestoreFromSnapshot.md#USER_RestoreFromSnapshot.Security)。

**注意**  
如果連接埠值設定為非預設值，RDS 主控台會為您的資料庫顯示不同的安全群組規則名稱。

對於 RDS for Oracle 資料庫執行個體，可以透過填入 Oracle Enterprise Manager Database Express (OEM)、Oracle Management Agent for Enterprise Manager Cloud Control (OEM Agent) 和 Oracle Secure Sockets Layer 選項的安全群組選項設定，來關聯其他安全群組。在此情況下，與資料庫執行個體相關聯的安全群組和選項設定都會套用至資料庫執行個體。如需這些選項的詳細資訊，請參閱 [Oracle Enterprise Manager](Oracle.Options.OEM.md)、[適用於 Enterprise Manager Cloud Control 的 Oracle Management Agent](Oracle.Options.OEMAgent.md) 和 [Oracle Secure Sockets Layer](Appendix.Oracle.Options.SSL.md)。