

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

# 設定 Amazon RDS 資料庫執行個體
<a name="CHAP_RDS_Configuring"></a>

本節說明如何設定您的 Amazon RDS 資料庫執行個體。建立一個資料庫執行個體之前，決定將執行資料庫執行個體的資料庫執行個體類別。此外，選擇 AWS 區域來決定資料庫執行個體的執行位置。接下來，建立資料庫執行個體。

您可以使用選項群組和資料庫參數群組來設定資料庫執行個體。
+ *選項群組*指定稱作選項的功能，可用於特定的 Amazon RDS 資料庫執行個體。
+ *資料庫參數群組*扮演引擎組態值的容器，以套用至一或多個資料庫執行個體。

選項和參數可用與否取決於資料庫引擎和資料庫引擎版本。您可以在建立資料庫執行個體時，指定選項群組和資料庫參數群組。您也可以修改資料庫執行個體來指定它們。

**Topics**
+ [建立 Amazon RDS 資料庫執行個體](USER_CreateDBInstance.md)
+ [使用 建立 Amazon RDS 資源 AWS CloudFormation](creating-resources-with-cloudformation.md)
+ [連接至 Amazon RDS 資料庫執行個體](CHAP_CommonTasks.Connect.md)
+ [使用選項群組](USER_WorkingWithOptionGroups.md)
+ [Amazon RDS 的參數群組](USER_WorkingWithParamGroups.md)
+ [使用 Amazon RDS 資料庫執行個體設定來建立 Amazon ElastiCache 快取](creating-elasticache-cluster-with-RDS-settings.md)
+ [使用 自動將 EC2 資料庫遷移至 Amazon RDS AWS Database Migration Service](USER_DMS_migration.md)
+ [教學課程：使用自訂參數和新選項群組建立 MySQL 資料庫執行個體](tutorial-creating-custom-OPG.md)

# 建立 Amazon RDS 資料庫執行個體
<a name="USER_CreateDBInstance"></a>

基本建置區塊 Amazon RDS 是您在其中建立資料庫的資料庫執行個體。建立資料庫執行個體時，您要選擇它的引擎專屬特性。您也可以選擇資料庫伺服器執行所在 AWS 執行個體的儲存容量、CPU、記憶體等。

**Topics**
+ [執行個體先決條件](#USER_CreateDBInstance.Prerequisites)
+ [建立資料庫執行個體](#USER_CreateDBInstance.Creating)
+ [資料庫執行個體的設定](USER_CreateDBInstance.Settings.md)

## 執行個體先決條件
<a name="USER_CreateDBInstance.Prerequisites"></a>

**重要**  
在您可以建立 Amazon RDS 資料庫執行個體之前，請先完成 [設定您的 Amazon RDS 環境](CHAP_SettingUp.md) 中的任務。

下列是建立 RDS 資料庫執行個體的先決條件。

**Topics**
+ [設定資料庫執行個體的網路](#USER_CreateDBInstance.Prerequisites.VPC)
+ [其他先決條件](#USER_CreateDBInstance.Prerequisites.Additional)

### 設定資料庫執行個體的網路
<a name="USER_CreateDBInstance.Prerequisites.VPC"></a>

您只能在以 Amazon VPC 服務為基礎的虛擬私有雲端 (VPC) 中建立 Amazon RDS 資料庫執行個體。此外，它必須位於至少 AWS 區域 有兩個可用區域的 中。您為資料庫執行個體選擇的資料庫子網路群組必須包含至少兩個可用區域。此組態可確保您在建立資料庫執行個體時設定多可用區域部署，或在未來輕鬆移至其中一個可用區域。

若要在同一 VPC 中設定新資料庫執行個體與 Amazon EC2 執行個體之間的連線，則可在建立資料庫執行個體時這麼做。若要在同一 VPC 中從 EC2 執行個體以外的資源連線到資料庫執行個體，請手動設定網路連線。

**Topics**
+ [設定與 EC2 執行個體的自動網路連線](#USER_CreateDBInstance.Prerequisites.VPC.Automatic)
+ [手動設定網路](#USER_CreateDBInstance.Prerequisites.VPC.Manual)

#### 設定與 EC2 執行個體的自動網路連線
<a name="USER_CreateDBInstance.Prerequisites.VPC.Automatic"></a>

建立 RDS 資料庫執行個體時，您可以使用 AWS 管理主控台 來設定 EC2 執行個體與新資料庫執行個體之間的連線。當您這樣做時，RDS 會自動設定您的 VPC 和網路設定。資料庫執行個體建立在與 EC2 執行個體相同的 VPC 中，以便 EC2 執行個體可以存取資料庫執行個體。

以下是將 EC2 執行個體與資料庫執行個體連線的要求：
+ 建立資料庫執行個體 AWS 區域 之前，EC2 執行個體必須存在於 中。

  如果 中不存在 EC2 執行個體 AWS 區域，主控台會提供建立 EC2 執行個體的連結。
+ 建立資料庫執行個體的使用者必須擁有執行下列操作的許可：
  + `ec2:AssociateRouteTable` 
  + `ec2:AuthorizeSecurityGroupEgress` 
  + `ec2:AuthorizeSecurityGroupIngress` 
  + `ec2:CreateRouteTable` 
  + `ec2:CreateSubnet` 
  + `ec2:CreateSecurityGroup` 
  + `ec2:DescribeInstances` 
  + `ec2:DescribeNetworkInterfaces` 
  + `ec2:DescribeRouteTables` 
  + `ec2:DescribeSecurityGroups` 
  + `ec2:DescribeSubnets` 
  + `ec2:ModifyNetworkInterfaceAttribute` 
  + `ec2:RevokeSecurityGroupEgress` 

使用此選項可建立私有資料庫執行個體。資料庫執行個體使用只包含私有子網路的資料庫子網路群組來限制對 VPC 內資源的存取。

若要將 EC2 執行個體連線到資料庫執行個體，請選擇 **Create database** (建立資料庫) 頁面上 **Connectivity** (連線能力) 區段的 **Connect to an EC2 compute resource** (連線至 EC2 運算資源)。

![\[連線至 EC2 執行個體\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/images/ec2-set-up-connection-create.png)


當您選擇 **Connect to an EC2 compute resource** (連線至 EC2 運算資源) 時，RDS 會自動設定下列選項。除非您透過選擇 **Don't connect to an EC2 compute resource** (不要連線至 EC2 運算資源)，選擇不設定與 EC2 執行個體的連線，否則無法變更設定。


****  

| 主控台選項 | 自動設定 | 
| --- | --- | 
|  **Network type (網路類型)**  |  RDS 將網路類型設定為 **IPv4**。目前，當您在 EC2 執行個體和資料庫執行個體之間設定連線時，不支援雙堆疊模式。  | 
|  **Virtual Private Cloud (VPC)**  |  RDS 會將 VPC 設定為與 EC2 執行個體關聯的 VPC。  | 
|  **DB subnet group** (資料庫子網路群組)  | RDS 需要在相同可用區域中具有私有子網路的資料庫子網路群組作為 EC2 執行個體。如果存在符合此要求的資料庫子網路群組，則 RDS 會使用現有的資料庫子網路群組。依預設，此選項會設為 Automatic setup (自動設定)。當您選擇 **Automatic setup** (自動設定)，且沒有符合此需求的資料庫子網路群組時，則會發生下列動作。RDS 在三個可用區域中使用三個可用的私有子網路，其中一個可用區域與 EC2 執行個體相同。如果可用區域中無法使用私有子網路，RDS 會在可用區域中建立私有子網路。RDS 接著建立資料庫子網路群組。當私有子網路可用時，RDS 會使用與該子網路相關聯的路由表，並將其建立的任何子網路新增至此路由表。當沒有可用的私有子網路時，RDS 會建立沒有網際網路閘道存取權的路由表，並將其建立的子網路新增至路由表。RDS 也可讓您使用現有的資料庫子網路群組。如果想要使用您選擇的現有資料庫子網路群組，請選取 **Choose existing** (選擇現有的)。  | 
|  **公用存取**  |  RDS 選擇 **No** (否)，使資料庫執行個體無法公開存取。 為了安全起見，最佳實務是保持資料庫為私有，並確保無法從網際網路存取該資料庫。  | 
|  **VPC security group (firewall)** (VPC 安全群組 (防火牆))  |  RDS 會建立與資料庫執行個體關聯的新安全群組。安全群組命名為 `rds-ec2-n`，其中 `n` 為數字。此安全群組包含以 EC2 VPC 安全群組 (防火牆) 做為來源的傳入規則。與資料庫執行個體關聯的安全群組可讓 EC2 執行個體存取資料庫執行個體。 RDS 也會建立與 EC2 執行個體關聯的新安全群組。安全群組命名為 `ec2-rds-n`，其中 `n` 為數字。此安全群組包含傳出規則，並將資料庫執行個體的 VPC 安全群組做為來源。此安全群組允許 EC2 執行個體將流量傳送到資料庫執行個體。 您可以選擇 **Create New** (建立新的)，並輸入新安全群組的名稱，以新增其他的新安全群組。 您可以選擇 **Choose existing** (選擇現有)，然後選取要新增的安全群組，以新增現有的安全群組。  | 
|  **可用區域**  |  當您在 **Availability & durability** (可用性和耐用性) (單一 AZ 部署) 選擇 **Single DB instance** (單一執行個體) 時，RDS 會選擇 EC2 執行個體的可用區域。 當您在 **Availability & durability** (可用性和耐用性) 中選擇**執行** (多可用區域資料庫執行個體部署) 時，RDS 會為該部署中的一個資料庫執行個體選擇 EC2 執行個體的可用區域。RDS 會隨機為其他資料庫執行個體選擇不同的可用區域。主要資料庫執行個體或待命複本會在與 EC2 執行個體相同的可用區域中建立。當您選擇 **Multi-AZ DB instance** (多可用區域資料庫執行個體) 時，如果資料庫執行個體和 EC2 執行個體位於不同的可用區域，可能會產生跨可用區域成本。  | 

如需這些設定的詳細資訊，請參閱 [資料庫執行個體的設定](USER_CreateDBInstance.Settings.md)。

如果您在建立資料庫執行個體後變更這些設定，這些變更可能會影響 EC2 執行個體與資料庫執行個體之間的連線。

#### 手動設定網路
<a name="USER_CreateDBInstance.Prerequisites.VPC.Manual"></a>

若要在同一 VPC 中從 EC2 執行個體以外的資源連線到資料庫執行個體，請手動設定網路連線。如果您使用 AWS 管理主控台 來建立資料庫執行個體，您可以讓 Amazon RDS 自動為您建立 VPC。或者，您可以為資料庫執行個體使用現有的 VPC 或建立新的 VPC。使用任何方法，您的 VPC 都會在至少兩個可用區域的每一個中要求至少有一個子網路，可與 RDS 資料庫執行個體搭配使用。

Amazon RDS 預設會自動為您建立資料庫執行個體的可用區域。若要選擇特定的可用區域，您必須將 **Availability & durability** (可用性和耐用性) 設定變更為**單一資料庫執行個體**。這樣做會暴露一個可讓您從 VPC 的可用區域中選擇的 **Availability Zone** (可用區域) 設定。然而，如果您選擇多可用區域部署，RDS 會自動選擇主要或寫入器資料庫執行個體的可用區域，且**可用區域**設定不會出現。

在某些情況下，您可能沒有預設 VPC 或尚未建立 VPC。在這些情況下，您可讓 Amazon RDS 在使用主控台建立資料庫執行個體時自動為您建立 VPC。若否，請執行下列操作：
+ 在 AWS 區域 您要部署資料庫執行個體的 中，在至少兩個可用區域中各建立一個子網路的 VPC。如需詳細資訊，請參閱[在 VPC 中使用資料庫執行個體](USER_VPC.WorkingWithRDSInstanceinaVPC.md#Overview.RDSVPC.Create)及[教學課程：建立要與資料庫執行個體搭配使用的 VPC (僅限 IPv4)](CHAP_Tutorials.WebServerDB.CreateVPC.md)。
+ 指定可授權連線到資料庫執行個體的 VPC 安全群組。如需詳細資訊，請參閱[建立安全群組以存取在您的 VPC 中您的資料庫執行個體](CHAP_SettingUp.md#CHAP_SettingUp.SecurityGroup)及[使用安全群組控制存取](Overview.RDSSecurityGroups.md)。
+ 指定 RDS DB 子網路群組，該子網路群組會在資料庫執行個體使用的 VPC 中至少定義兩個子網路。如需詳細資訊，請參閱[使用資料庫子網路群組](USER_VPC.WorkingWithRDSInstanceinaVPC.md#USER_VPC.Subnets)。

如果您想要連線至與資料庫執行個體不在相同 VPC 中的資源，請參閱 [在 VPC 中存取資料庫執行個體的案例](USER_VPC.Scenarios.md) 中的適當案例。

### 其他先決條件
<a name="USER_CreateDBInstance.Prerequisites.Additional"></a>

建立資料庫執行個體之前，請考慮下列其他先決條件：
+ 如果您要 AWS 使用 AWS Identity and Access Management (IAM) 登入資料連線至 ， AWS 您的帳戶必須具有特定 IAM 政策。這些會授與執行 Amazon RDS 操作所需的許可。如需詳細資訊，請參閱[Amazon RDS 的 Identity and access management](UsingWithRDS.IAM.md)。

  若要使用 IAM 存取 RDS 主控台， AWS 管理主控台 請使用 IAM 使用者憑證登入 。接著前往 Amazon RDS 主控台：[https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)。
+ 若要為您的資料庫執行個體量身打造組態參數，請使用必要的參數設定來指定資料庫參數群組。如需建立或修改資料庫參數群組的資訊，請參閱 [Amazon RDS 的參數群組](USER_WorkingWithParamGroups.md)。
**重要**  
如果您使用 Amazon RDS for Db2 的 BYOL 模式，在建立資料庫執行個體之前，您必須先建立包含 IBM Site ID 和 IBM Customer ID 的自訂參數群組。如需詳細資訊，請參閱[使用 Db2 的自帶授權 (BYOL)](db2-licensing.md#db2-licensing-options-byol)。
+ 決定要為資料庫執行個體指定的 TCP/IP 連接埠號碼。某些公司的防火牆會封鎖 RDS 資料庫執行個體預設連接埠的連線。如果您公司的防火牆會封鎖預設連接埠，請為資料庫執行個體選擇另一個連接埠。Amazon RDS 資料庫引擎的預設連接埠為：    
<a name="dbengineports"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/USER_CreateDBInstance.html)

  以下是為 RDS for SQL Server 保留的連接埠，因此您無法在建立資料庫執行個體時使用這些連接埠：`1234, 1434, 3260, 3343, 3389, 47001,` 和 `49152-49156`。

## 建立資料庫執行個體
<a name="USER_CreateDBInstance.Creating"></a>

您可以使用 AWS 管理主控台、 AWS CLI或 RDS API 建立 Amazon RDS 資料庫執行個體。

**注意**  
對於 RDS for Db2，建議您先設定授權模式所需的項目，再建立 RDS for Db2 資料庫執行個體。如需詳細資訊，請參閱[Amazon RDS for Db2 授權選項](db2-licensing.md)。

### 主控台
<a name="USER_CreateDBInstance.CON"></a>

您可以使用已啟用或不已啟用**輕鬆**建立 AWS 管理主控台 的 來建立資料庫執行個體。在 **Easy create** (輕鬆建立) 啟用的情形下，您僅指定資料庫引擎類型、資料庫執行個體大小與資料庫執行個體識別符。**Easy create (輕鬆建立)** 會將預設設定用於其他設定選項。在 **Easy create** (輕鬆建立) 未啟用的情形下，您會在建立資料庫時指定更多設定選項，包含可用性、安全性、備份和維護的選項。

**注意**  
於下列程序中，**Standard Create** (標準建立) 已加以啟用 ，而 **Easy Create** (輕鬆建立) 尚未啟用。此程序使用 Microsoft SQL Server 作為範例。  
如需使用 **Easy Create** (輕鬆建立) 引導您逐步建立並連線至每個引擎的範例資料庫執行個體範例，請參閱 [Amazon RDS 入門](CHAP_GettingStarted.md)。

**建立資料庫執行個體**

1. 登入 AWS 管理主控台 ，並在 [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)：// 開啟 Amazon RDS 主控台。

1. 在 Amazon RDS 主控台的右上角，選擇要建立資料庫執行個體的 AWS 區域。

1. 在導覽窗格中，選擇 **Databases** (資料庫)。

1. 選擇**建立資料庫**，然後選擇 **標準建立**。

1. 針對**引擎類型**，選擇 IBM Db2、MariaDB、Microsoft SQL Server、MySQL、Oracle 或 PostgreSQL。

   **Microsoft SQL Server** 顯示於此。  
![\[引擎選取\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/images/create-instance-sqlserver.png)

1. 針對**資料庫管理類型**，若您使用 Oracle 或 SQL Server，請選擇 **Amazon RDS** 或 **Amazon RDS Custom**。

   **Amazon RDS** 顯示於此。如需 RDS Custom 的詳細資訊，請參閱 [Amazon RDS Custom](rds-custom.md)。

1. 對於**版本**，如果您使用的是 Db2、Oracle 或 SQL Server，請選擇要使用的資料庫引擎版本。

   MySQL 只有一個選項的版本，MariaDB 和 PostgreSQL 則沒有。

1. 在 **Version (版本)** 中，選擇引擎版本。

1. 在 **Templates (範本)** 中，選擇符合您使用案例的範本。如果您選擇 **Production (生產)**，在後續步驟中會預先選取下列項目：
   + **多可用區域**容錯移轉選項
   + **Provisioned IOPS SSD (io1)** (佈建 IOPS SSD (io1)) 儲存體選項
   + **啟用刪除保護**選項

   建議針對任何生產環境使用這些功能。
**注意**  
範本選項會依版本而有所不同。

1. 在 **Settings (設定)** 區段，開啟 **Credential Settings (登入資料設定)**。然後執行下列動作：

   1. (選用) 變更 **Master username (主要使用者名稱)** 值。

   1. 選擇下列其中一個憑證管理選項：
      + **在 中受管 AWS Secrets Manager**

        在**選取加密金鑰中**，選擇 Secrets Manager 建立的 KMS 金鑰或您建立的金鑰。
**注意**  
我們建議將 AWS Secrets Manager 做為管理憑證的最安全技術。需支付額外費用。如需詳細資訊，請參閱[使用 Amazon RDS 和 進行密碼管理 AWS Secrets Manager](rds-secrets-manager.md)。
      + **自我管理**

        若要指定密碼，請清除**自動產生密碼**核取方塊 (如果已選取)。在**主要密碼**和**確認密碼**中輸入相同的密碼。

1. (選擇性) 為此資料庫執行個體設定與運算資源的連線。

   您可以在建立資料庫執行個體期間設定 Amazon EC2 執行個體與新資料庫執行個體之間的連線。如需詳細資訊，請參閱[設定與 EC2 執行個體的自動網路連線](#USER_CreateDBInstance.Prerequisites.VPC.Automatic)。

1. 在 **VPC 安全群組 (防火牆)** 下的**連線能力**區段中，如果您選取**建立新的**，則系統會建立 VPC 安全群組並提供傳入規則，允許本機電腦的 IP 地址存取資料庫。

1. 在其餘區段，指定資料庫執行個體的設定。如需每項設定的相關資訊，請參閱 [資料庫執行個體的設定](USER_CreateDBInstance.Settings.md)。

1. 選擇 **Create database** (建立資料庫)。

   如果您選擇使用自動產生的密碼，**View credential details (檢視登入資料詳細資訊)** 按鈕會出現在 **Databases (資料庫)** 頁面。

   若要檢視資料庫執行個體的主要使用者名稱和密碼，請選擇 **View credential details (檢視登入資料詳細資訊)**。

   若要以主要使用者的身分連線至資料庫執行個體，請使用出現的使用者名稱和密碼。
**重要**  
您無法再次檢視主要使用者密碼。如果您沒有記錄下來，您可能需要進行變更。如果您需要在資料庫執行個體可供使用後變更主要使用者密碼，則可將資料庫執行個體修改為這麼做。如需修改 資料庫執行個體的詳細資訊，請參閱[修改 Amazon RDS 資料庫執行個體](Overview.DBInstance.Modifying.md)。

1. 在 **Databases** (資料庫) 中，選擇新資料庫執行個體的名稱。

   在 RDS 主控台上，新資料庫執行個體的詳細資訊即會出現。在資料庫執行個體建立完成且可供使用之前，資料庫執行個體會處於 **Creating (建立中)** 狀態。狀態變更為 **Available (可用)** 時，您便能連線至資料庫執行個體。視資料庫執行個體類別和分配的儲存空間而定，新的執行個體可能需要幾分鐘才能使用。  
![\[我的資料庫執行個體詳細資訊\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/images/SQLSvr-Launch05.png)

### AWS CLI
<a name="USER_CreateDBInstance.CLI"></a>



**注意**  
如果您想要透過 使用 Db2 授權 AWS Marketplace，您必須先使用 訂閱 AWS Marketplace 並註冊 IBM AWS 管理主控台。如需詳細資訊，請參閱[訂閱 Db2 Marketplace 清單並使用 IBM 註冊](db2-licensing.md#db2-marketplace-subscribing-registering)。

若要使用 建立資料庫執行個體 AWS CLI，請使用下列參數呼叫 [create-db-instance](https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-instance.html) 命令：
+ `--db-instance-identifier`
+ `--db-instance-class`
+ `--vpc-security-group-ids`
+ `--db-subnet-group`
+ `--engine`
+ `--master-username`
+ `--master-user-password` 或 `--manage-master-user-password`
+ `--allocated-storage`
+ `--backup-retention-period`

如需每項設定的相關資訊，請參閱 [資料庫執行個體的設定](USER_CreateDBInstance.Settings.md)。

此範例會使用 Microsoft SQL Server。

**Example**  
針對 Linux、macOS 或 Unix：  

```
 1. aws rds create-db-instance \
 2.     --engine sqlserver-se \
 3.     --db-instance-identifier mymsftsqlserver \
 4.     --allocated-storage 250 \
 5.     --db-instance-class db.t3.large \
 6.     --vpc-security-group-ids mysecuritygroup \
 7.     --db-subnet-group mydbsubnetgroup \
 8.     --master-username masterawsuser \
 9.     --manage-master-user-password \
10.     --backup-retention-period 3
```
在 Windows 中：  

```
 1. aws rds create-db-instance ^
 2.     --engine sqlserver-se ^
 3.     --db-instance-identifier mydbinstance ^
 4.     --allocated-storage 250 ^
 5.     --db-instance-class db.t3.large ^
 6.     --vpc-security-group-ids mysecuritygroup ^
 7.     --db-subnet-group mydbsubnetgroup ^
 8.     --master-username masterawsuser ^ 
 9.     --manage-master-user-password ^
10.     --backup-retention-period 3
```
此命令會產生類似下列的輸出。  

```
1. DBINSTANCE  mydbinstance  db.t3.large  sqlserver-se  250  sa  creating  3  ****  n  10.50.2789
2. SECGROUP  default  active
3. PARAMGRP  default.sqlserver-se-14  in-sync
```

### RDS API
<a name="USER_CreateDBInstance.API"></a>

**注意**  
如果您想要透過 使用 Db2 授權 AWS Marketplace，您必須先使用 訂閱 AWS Marketplace 並註冊 IBM AWS 管理主控台。如需詳細資訊，請參閱[訂閱 Db2 Marketplace 清單並使用 IBM 註冊](db2-licensing.md#db2-marketplace-subscribing-registering)。

若要使用 Amazon RDS API 來建立資料庫執行個體，請呼叫 [CreateDBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html) 操作。

如需每項設定的相關資訊，請參閱 [資料庫執行個體的設定](USER_CreateDBInstance.Settings.md)。

# 資料庫執行個體的設定
<a name="USER_CreateDBInstance.Settings"></a>

在下表中，您可以找到在建立資料庫執行個體時選擇之設定的詳細資訊。此表格也會顯示支援每個設定的資料庫引擎。

您可以使用主控台、[ create-db-instance](https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-instance.html) CLI 命令，或 [CreateDBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html) RDS API 操作，建立新的資料庫執行個體。


****  

| 主控台設定 | 設定說明 | CLI 選項和 RDS API 參數 | 支援的資料庫引擎 | 
| --- | --- | --- | --- | 
|  **配置儲存**  |  要配置給資料庫執行個體的儲存量 (以 GiB 為單位)。在部分情況下，配置給資料庫執行個體的儲存空間容量若高於資料庫的大小，可改善輸入/輸出效能。 如需更多詳細資訊，請參閱 [Amazon RDS 資料庫執行個體儲存體](CHAP_Storage.md)。  |  **CLI 選項：** `--allocated-storage` **API 參數：**  `AllocatedStorage`  |  全部  | 
| 架構設定 |  如果您選擇 **Oracle 多租戶架構**，則 RDS for Oracle 會建立容器資料庫 (CDB)。如果未選擇此選項，RDS for Oracle 會建立一個非 CDB。非 CDB 使用傳統的 Oracle 資料庫架構。CDB 可以包含插入式資料庫 (PDB)，而非 CDB 則不能。 Oracle Database 21c 僅使用 CDB 架構。Oracle Database 19c 可以使用 CDB 或非 CDB 架構。低於 Oracle Database 19c 的版本僅使用非 CDB 架構。 如需詳細資訊，請參閱[RDS for Oracle CDB 概觀](Oracle.Concepts.CDBs.md)。  |  **CLI 選項：** `--engine oracle-ee-cdb` (Oracle 多租戶) `--engine oracle-se2-cdb` (Oracle 多租戶) `--engine oracle-ee` (傳統型) `--engine oracle-se2` (傳統型) **API 參數：** `Engine`  |  Oracle  | 
| 架構組態 |  只有當您針對**架構設定**選擇 **Oracle 多租戶架構**時，這些設定才有效。請選擇下列其中一個額外設定： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/USER_CreateDBInstance.Settings.html) 無論您選擇哪種組態，CDB 都會包含單一初始 PDB。在多租戶組態中，您可以稍後使用 RDS API 建立更多的 PDB。 如需詳細資訊，請參閱[RDS for Oracle CDB 概觀](Oracle.Concepts.CDBs.md)。  |  **CLI 選項：** `--multi-tenant` (多租戶組態) `--no-multi-tenant` (單一租戶組態) **API 參數：** `MultiTenant`  |  Oracle  | 
| Auto minor version upgrade (自動次要版本升級) |  選擇**啟用自動次要版本升級**，讓資料庫執行個體自動接收可用的偏好次要資料庫引擎版本升級。這是預設行為。Amazon RDS 會在維護時段執行自動次要版本升級。若未選擇**啟用自動次要版本升級**，有新的次要版本可供使用時，您的資料庫執行個體將不會自動升級。 如需詳細資訊，請參閱[自動升級次要引擎版本](USER_UpgradeDBInstance.Upgrading.md#USER_UpgradeDBInstance.Upgrading.AutoMinorVersionUpgrades)。  |  **CLI 選項：** `--auto-minor-version-upgrade` `--no-auto-minor-version-upgrade` **API 參數：** `AutoMinorVersionUpgrade`  | 全部 | 
|  Availability zone (可用區域)  |  資料庫執行個體的可用區域。除非您想要指定可用區域，否則使用預設值 **No Preference (無偏好設定)**。 如需更多詳細資訊，請參閱 [區域、可用區域和 Local Zones](Concepts.RegionsAndAvailabilityZones.md)。  |  **CLI 選項：** `--availability-zone` **API 參數：** `AvailabilityZone`  | 全部 | 
|   **AWS KMS key**   |  只有在 **Encryption (加密)** 設為 **Enable encryption (啟用加密)** 時才能使用。選擇要用於加密此資料庫執行個體的 AWS KMS key 。如需詳細資訊，請參閱[加密 Amazon RDS 資源](Overview.Encryption.md)。  |  **CLI 選項：** `--kms-key-id` **API 參數：** `KmsKeyId`  | 全部 | 
| AWS License Manager 組態 |  輸入 AWS License Manager 授權組態的名稱。名稱不可超過 100 個字元，且只能包含 a-z、A-Z 和 0-9。 如需詳細資訊，請參閱[與 整合 AWS License Manager](db2-licensing.md#db2-lms-integration)。  |  **CLI 選項：** 如需詳細資訊，請參閱[AWS License Manager CLI](db2-licensing.md#db2-lms-integration.cli)。 **API 參數：** 如需詳細資訊，請參閱[AWS License Manager API](db2-licensing.md#db2-lms-integration.api)。  | Db2 | 
| 備份複寫 |  選擇 **Enable replication in another AWS Region ** (在另一個 AWS 區域中啟用複寫)，藉此在其他區域建立備份以進行災難復原。 然後選擇其他備份的 **Destination Region (目的地區域)**。  |  無法在建立資料庫執行個體時使用。如需使用 AWS CLI 或 RDS API 啟用跨區域備份的資訊，請參閱 [啟用 Amazon RDS 的跨區域自動備份](AutomatedBackups.Replicating.Enable.md)。  |  Db2 Oracle PostgreSQL SQL Server  | 
| Backup retention period (備份保留期間)  |  您想要資料庫執行個體之自動備份保留的天數。針對任何重要的資料庫執行個體，請將此值設為 **1** 或更大。 如需更多詳細資訊，請參閱 [備份簡介](USER_WorkingWithAutomatedBackups.md)。  |  **CLI 選項：** `--backup-retention-period` **API 參數：** `BackupRetentionPeriod`  | 全部 | 
| 備份目標 |  選擇**AWS 雲端**在父 AWS 區域中存放自動備份和手動快照。選擇 **Outposts (on-premises) (Outposts (內部部署))**，將它們本機存放在您的 Outpost 上。 此選項設定只會套用至 RDS on Outposts。如需詳細資訊，請參閱[建立 AWS Outposts 上的 Amazon RDS 的資料庫執行個體](rds-on-outposts.creating.md)。  |  **CLI 選項：** `--backup-target` **API 參數：** `BackupTarget`  | MySQL、PostgreSQL、SQL Server | 
| 備份時段 |  Amazon RDS 自動備份資料庫執行個體的時段。除非要在特定時段備份資料庫，否則請使用預設值 **No Preference (無偏好設定)**。 如需詳細資訊，請參閱 [備份簡介](USER_WorkingWithAutomatedBackups.md)。  |  **CLI 選項：** `--preferred-backup-window` **API 參數：** `PreferredBackupWindow`  | 全部 | 
|  **憑證授權單位**  |  資料庫執行個體所使用之伺服器憑證的憑證授權單位 (CA)。 如需詳細資訊，請參閱[使用 SSL/TLS 加密與資料庫執行個體或叢集的連線](UsingWithRDS.SSL.md)。  |  **CLI 選項：** `--ca-certificate-identifier` **RDS API 參數：** `CACertificateIdentifier`  |  全部  | 
| 字元集 |  資料庫執行個體的字元集。資料庫字元集的預設值 **AL32UTF8** 適用於 Unicode 5.0 UTF-8 通用字元集。建立資料庫執行個體之後，您無法變更資料庫字元集。 在單一租用戶組態中，非預設的資料庫字元集只會影響 PDB，而不會影響 CDB。如需更多詳細資訊，請參閱 [CDB 架構的單一租戶組態](Oracle.Concepts.CDBs.md#Oracle.Concepts.single-tenant)。 資料庫字元集與國家字元集不同，後者稱為 NCHAR 字元集。與資料庫字元集不同，NCHAR 字元集會指定 NCHAR 資料類型 (NCHAR、NVARCHAR2 和 NCLOB) 欄的編碼，而不會影響資料庫中繼資料。 如需更多詳細資訊，請參閱 [RDS for Oracle 字元集](Appendix.OracleCharacterSets.md)。  |  **CLI 選項：** `--character-set-name` **API 參數：** `CharacterSetName`  | Oracle | 
| 定序 |  資料庫執行個體適用的伺服器層級定序。 如需更多詳細資訊，請參閱 [Microsoft SQL Server 的伺服器層級定序](Appendix.SQLServer.CommonDBATasks.Collation.md#Appendix.SQLServer.CommonDBATasks.Collation.Server)。  |  **CLI 選項：** `--character-set-name` **API 參數：** `CharacterSetName`  | SQL Server | 
| Copy tags to snapshots (將標籤複製到快照)  |  此選項可在您建立快照時將任何資料庫執行個體標籤複製到某個資料庫快照。 如需更多詳細資訊，請參閱 [標記 Amazon RDS 資源](USER_Tagging.md)。  |  **CLI 選項：** `--copy-tags-to-snapshot` `--no-copy-tags-to-snapshot` **RDS API 參數：** `CopyTagsToSnapshot`  | 全部 | 
|  Database authentication (資料庫身分驗證)  |  您想要使用的資料庫身分驗證選項。 選擇 **Password authentication (密碼身分驗證)**，僅使用資料庫密碼驗證資料庫使用者。 選擇 **Password and IAM DB authentication** (密碼和 IAM 資料庫身分驗證)，透過使用者和角色搭配資料庫密碼和使用者憑證來驗證資料庫使用者。如需詳細資訊，請參閱[適用於 MariaDB、MySQL 和 PostgreSQL 的 IAM 資料庫身分驗證](UsingWithRDS.IAMDBAuth.md)。此選項僅支持 MySQL 及 PostgreSQL。 選擇**密碼和 Kerberos 身分驗證**，透過 AWS Managed Microsoft AD 建立的 ，使用資料庫密碼和 Kerberos 身分驗證來驗證資料庫使用者 Directory Service。接下來，選擇目錄或選擇 **Create a new Directory (建立新目錄)**。 如需詳細資訊，請參閱下列其中一個項目： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/USER_CreateDBInstance.Settings.html)  |  ***IAM：*** **CLI 選項：** `--enable-iam-database-authentication` `--no-enable-iam-database-authentication` **RDS API 參數：** `EnableIAMDatabaseAuthentication` ***Kerberos：*** **CLI 選項：** `--domain` `--domain-iam-role-name` **RDS API 參數：** `Domain` `DomainIAMRoleName`  |  依身分驗證類型而有所不同  | 
| 資料庫管理類型 |  如果您不需要自訂您的環境，則選擇 **Amazon RDS**。 如果您想要自訂資料庫、作業系統和基礎設施，則選擇 **Amazon RDS Custom**。如需詳細資訊，請參閱[Amazon RDS Custom](rds-custom.md)。  |  對於 CLI 和 API，您可以指定資料庫引擎類型。  |  Oracle SQL Server  | 
|  Database port (資料庫連線埠)  |  您想要透過其存取資料庫執行個體的連接埠。會顯示預設連接埠。  某些公司的防火牆會封鎖與預設 MariaDB、MySQL 及 PostgreSQL 連接埠的連線。如果您的公司防火牆會封鎖預設連接埠，請為您的資料庫執行個體輸入另一個連接埠。   |  **CLI 選項：** `--port` **RDS API 參數：** `Port`  | 全部 | 
|  DB engine version (資料庫引擎版本)  |  您要使用的資料庫引擎版本。  |  **CLI 選項：** `--engine-version` **RDS API 參數：** `EngineVersion`  | 全部 | 
|  DB instance class (資料庫執行個體類別)  |  資料庫執行個體的組態。例如，**db.t3.small** 資料庫執行個體類別具有 2 GiB 記憶體、2 個 vCPU、1 個虛擬核心、一個可變 ECU，以及一個中等輸入/輸出容量。 可能的話，選擇足夠大的資料庫執行個體類別，讓一般查詢工作集可以保留在記憶體中。當工作集保留在記憶體中時，系統可以避免寫入至磁碟，因而可改善效能。如需詳細資訊，請參閱[ 資料庫執行個體類別](Concepts.DBInstanceClass.md)。 在 RDS for Oracle 中，您可以選取 **Include additional memory configurations (包含額外的記憶體組態)**。這些組態經過最佳化，可達到高記憶體與 vCPU 的比例。例如：**db.r5.6xlarge.tpc2.mem4x** 是一個 db.r5.8x 執行個體，具有每核心 2 個執行緒 (tpc2) 和標準 db.r5.6xlarge 資料庫執行個體的 4 倍記憶體。如需詳細資訊，請參閱[RDS for Oracle 資料庫執行個體類別](Oracle.Concepts.InstanceClasses.md)。  |  **CLI 選項：** `--db-instance-class` **RDS API 參數：** `DBInstanceClass`  | 全部 | 
|  DB instance identifier (資料庫執行個體識別符)： |  資料庫執行個體的名稱。以您命名現場部署伺服器的相同方式，命名您的資料庫執行個體。您的資料庫執行個體識別符最多可包含 63 個英數字元，而且對於您選擇的 AWS 區域中的帳戶來說必須是唯一的。  |  **CLI 選項：** `--db-instance-identifier` **RDS API 參數：** `DBInstanceIdentifier`  | 全部 | 
|  DB parameter group (資料庫參數群組)  |  資料庫執行個體的參數群組。您可以選擇預設參數群組，或可以建立自訂參數群組。 如果您使用 RDS for Db2 的 BYOL 模式，在建立資料庫執行個體之前，您必須先建立包含 IBM Site ID 和 IBM Customer ID 的自訂參數群組。如需詳細資訊，請參閱[使用 Db2 的自帶授權 (BYOL)](db2-licensing.md#db2-licensing-options-byol)。 如需詳細資訊，請參閱[Amazon RDS 的參數群組](USER_WorkingWithParamGroups.md)。  |  **CLI 選項：** `--db-parameter-group-name` **RDS API 參數：** `DBParameterGroupName`  | 全部 | 
|  DB subnet group (資料庫子網路群組)  | 您要用於資料庫叢集的資料庫子網路群組。選取 Choose existing (選擇現有的) 來使用現有的資料庫子網路群組。然後，從 Existing DB subnet groups (現有資料庫子網路群組) 下拉式清單中選擇所需的子網路群組。選擇 **Automatic setup** (自動設定) 以讓 RDS 選取相容的資料庫子網路群組。如果不存在，RDS 會為您的叢集建立新的子網路群組。如需詳細資訊，請參閱[使用資料庫子網路群組](USER_VPC.WorkingWithRDSInstanceinaVPC.md#USER_VPC.Subnets)。 |  **CLI 選項：** `--db-subnet-group-name` **RDS API 參數：** `DBSubnetGroupName`  | 全部 | 
| 專用日誌磁碟區 |  使用專用日誌磁碟區 (DLV)，將資料庫交易日誌儲存在儲存體磁碟區上，此儲存體磁碟區與包含資料庫資料表的磁碟區不同。 如需詳細資訊，請參閱[使用專用日誌磁碟區 (DLV)](USER_PIOPS.dlv.md)。  |  **CLI 選項：** `--dedicated-log-volume` **RDS API 參數：** `DedicatedLogVolume`  | 全部 | 
| 刪除保護 |  **啟用刪除保護**可避免您的資料庫執行個體遭意外刪除。如果您使用 建立生產資料庫執行個體 AWS 管理主控台，預設會啟用刪除保護。 如需詳細資訊，請參閱[刪除資料庫執行個體](USER_DeleteInstance.md)。  |  **CLI 選項：** `--deletion-protection` `--no-deletion-protection` **RDS API 參數：** `DeletionProtection`  | 全部 | 
|  加密  |  **Enable Encryption (啟用加密)**，用來針對此資料庫執行個體啟用靜態加密。 如需更多詳細資訊，請參閱 [加密 Amazon RDS 資源](Overview.Encryption.md)。  |  **CLI 選項：** `--storage-encrypted` `--no-storage-encrypted` **RDS API 參數：** `StorageEncrypted`  | 全部 | 
|  Enhanced Monitoring (增強型監控)  |  **Enable enhanced monitoring (啟用增強型監控)**，以針對資料庫執行個體執行所在的作業系統即時收集指標。 如需更多詳細資訊，請參閱 [使用增強型監控來監控作業系統指標](USER_Monitoring.OS.md)。  |  **CLI 選項：** `--monitoring-interval` `--monitoring-role-arn` **RDS API 參數：** `MonitoringInterval` `MonitoringRoleArn`  | 全部 | 
|  Engine type (引擎類型)  |  選擇要用於此資料庫執行個體的資料庫引擎。  |  **CLI 選項：** `--engine` **RDS API 參數：** `Engine`  | 全部 | 
|  初始資料庫名稱  |  資料庫執行個體上資料庫的名稱。如果您沒有提供名稱，Amazon RDS 將不會在資料庫執行個體上建立資料庫 (除了 Oracle 和 PostgreSQL 以外)。該名稱不能是由資料庫引擎保留的單詞，而且會視資料庫引擎而有其他約束。 Db2： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/USER_CreateDBInstance.Settings.html) MariaDB 及 MySQL： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/USER_CreateDBInstance.Settings.html) Oracle： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/USER_CreateDBInstance.Settings.html) PostgreSQL： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/USER_CreateDBInstance.Settings.html)  |  **CLI 選項：** `--db-name` **RDS API 參數：** `DBName`  | 除 SQL Server 以外的所有項目 | 
|  授權 |  授權模式的有效值： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/USER_CreateDBInstance.Settings.html)  |  **CLI 選項：** `--license-model` **RDS API 參數：** `LicenseModel`  |  全部  | 
|  **Log exports (日誌匯出)**  |  要發佈到 Amazon CloudWatch Logs 的資料庫日誌檔類型。 如需詳細資訊，請參閱 [將資料庫日誌發佈至 Amazon CloudWatch Logs](USER_LogAccess.Procedural.UploadtoCloudWatch.md)。  |  **CLI 選項：** `--enable-cloudwatch-logs-exports` **RDS API 參數：** `EnableCloudwatchLogsExports`  |  全部  | 
|  Maintenance window (維護時段)  |  將擱置中修改套用至資料庫執行個體的 30 分鐘時段。如果不在意時段，請選擇 **No Preference (無偏好設定)**。 如需詳細資訊，請參閱 [Amazon RDS 維護時段](USER_UpgradeDBInstance.Maintenance.md#Concepts.DBMaintenance)。  |  **CLI 選項：** `--preferred-maintenance-window` **RDS API 參數：** `PreferredMaintenanceWindow`  | 全部 | 
|  在 中管理主登入資料 AWS Secrets Manager  |  選取 **Manage master credentials in AWS Secrets Manager** (管理 AWS Secrets Manager中的主要憑證) 以秘密管理 Secrets Manager 中的主要使用者密碼。 選擇性地選擇要用來保護機密的 KMS 金鑰。從您帳戶中的 KMS 金鑰進行選擇，或輸入來自不同帳戶的金鑰。 如需詳細資訊，請參閱[使用 Amazon RDS 和 進行密碼管理 AWS Secrets Manager](rds-secrets-manager.md)。  |  **CLI 選項：** `--manage-master-user-password \| --no-manage-master-user-password` `--master-user-secret-kms-key-id` **RDS API 參數：** `ManageMasterUserPassword` `MasterUserSecretKmsKeyId`  | 全部 | 
|  Master password (主要密碼)  |  主要使用者帳戶的密碼。根據資料庫引擎，密碼會有下列數量的可列印 ASCII 字元 (不含 `/`、`"`、空格和 `@`)： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/USER_CreateDBInstance.Settings.html)  |  **CLI 選項：** `--master-user-password` **RDS API 參數：** `MasterUserPassword`  | 全部 | 
|  主要使用者名稱  |  用作具有所有資料庫權限之主要使用者名稱來登入資料庫執行個體的名稱。請注意以下命名限制： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/USER_CreateDBInstance.Settings.html) 您無法在建立資料庫執行個體之後變更主要使用者名稱。 對於 Db2，建議您使用與自我管理 Db2 執行個體名稱相同的主要使用者名稱。 如需授予主要使用者權限的詳細資訊，請參閱 [主要使用者帳戶權限](UsingWithRDS.MasterAccounts.md)。  |  **CLI 選項：** `--master-username` **RDS API 參數：** `MasterUsername`  | 全部 | 
| Microsoft SQL Server Windows Authentication (Microsoft SQL Server Windows 驗證) |  **Enable Microsoft SQL Server Windows authentication (啟用 Microsoft SQL Server Windows 驗證)**，然後 **Browse Directory (瀏覽目錄)** 以選擇您要允許授權網域使用者使用 Windows 驗證以驗證此 SQL Server 執行個體的目錄。  |  **CLI 選項：** `--domain` `--domain-iam-role-name` **RDS API 參數：** `Domain`  `DomainIAMRoleName`  |  SQL Server  | 
|  Multi-AZ deployment (異地同步備份部署)  |  **Create a standby instance ** (建立待命執行個體)，在另一個可用區域中建立資料庫執行個體的被動次要複本，以提供容錯移轉支援。我們建議針對生產工作負載使用 Multi-AZ 以維持高可用性。 針對開發和測試，您可以選擇 **Do not create a standby instance (不要建立待命執行個體)**。 如需更多詳細資訊，請參閱 [設定及管理 Amazon RDS 的多可用區域部署](Concepts.MultiAZ.md)。  |  **CLI 選項：** `--multi-az` `--no-multi-az` **RDS API 參數：** `MultiAZ`  | 全部 | 
| 國家字元集 (NCHAR) |  資料庫執行個體的國家字元集，通常稱為 NCHAR 字元集。您可以將國家字元集設定為 AL16UTF16 (預設) 或 UTF-8。建立資料庫執行個體之後，您無法變更國家字元集。 國家字元集與資料庫字元集不同。與資料庫字元集不同，國家字元集只會指定 NCHAR 資料類型 (NCHAR、NVARCHAR2 和 NCLOB) 欄的編碼，而不會影響資料庫中繼資料。 如需更多詳細資訊，請參閱 [RDS for Oracle 字元集](Appendix.OracleCharacterSets.md)。  |  **CLI 選項：** `--nchar-character-set-name` **API 參數：** `NcharCharacterSetName`  | Oracle | 
|  Network type (網路類型)  |  資料庫執行個體支援的 IP 定址通訊協定。 **IPv4** (預設值)，指定資源只能透過網際網路通訊協定第 4 版 (IPv4) 定址通訊協定與資料庫執行個體進行通訊。 **Dual-stack mode (雙堆疊模式)**指定資源可透過 IPv4、網際網路通訊協定第 6 版 (IPv6) 或兩者與資料庫執行個體進行通訊。如果您有任何資源必須透過 IPv6 定址通訊協定與您的資料庫執行個體進行通訊，請使用雙堆疊模式。此外，請確保將 IPv6 CIDR 區塊與您指定的資料庫子網路群組中的所有子網路相關聯。 如需詳細資訊，請參閱[Amazon RDS IP 定址](USER_VPC.WorkingWithRDSInstanceinaVPC.md#USER_VPC.IP_addressing)。  |  **CLI 選項：** `--network-type` **RDS API 參數：** `NetworkType`  |  全部  | 
|  Option group (選項群組)  |  資料庫執行個體的選項群組。您可以選擇預設選項群組，或可以建立自訂選項群組。 如需更多詳細資訊，請參閱 [使用選項群組](USER_WorkingWithOptionGroups.md)。  |  **CLI 選項：** `--option-group-name` **RDS API 參數：** `OptionGroupName`  |  全部  | 
| Performance Insights (績效詳情) |  **Enable Performance Insights (啟用績效詳情)** 會監控您的資料庫執行個體負載，讓您可分析資料庫效能並對其進行故障排除。 選擇保留期間，以判斷要保留多少 Performance Insights 資料歷史記錄。保留設定為**預設值 (7 天)**。若要更長時間保留績效資料，請指定 1 - 24 個月。如需保留期間的詳細資訊，請參閱 [Performance Insights 的定價和資料保留](USER_PerfInsights.Overview.cost.md)。 選擇一個 KMS 金鑰，用來保護用於加密此資料庫磁碟區的金鑰。從您帳戶中的 KMS 金鑰進行選擇，或輸入來自不同帳戶的金鑰。 如需詳細資訊，請參閱[在 Amazon RDS 上使用績效詳情監控資料庫負載](USER_PerfInsights.md)。  |  **CLI 選項：** `--enable-performance-insights` `--no-enable-performance-insights` `--performance-insights-retention-period` `--performance-insights-kms-key-id` **RDS API 參數：** `EnablePerformanceInsights` `PerformanceInsightsRetentionPeriod` `PerformanceInsightsKMSKeyId`  | Db2 以外的所有項目 | 
|  **佈建 IOPS**  |  資料庫執行個體的新佈建 IOPS (每秒輸入/輸出作業數) 值。只有在您針對 **Storage type** (儲存體類型) 選擇下列其中一項時，才能使用此設定： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/USER_CreateDBInstance.Settings.html) 如需詳細資訊，請參閱[Amazon RDS 資料庫執行個體儲存體](CHAP_Storage.md)。  |  **CLI 選項：** `--iops` **RDS API 參數：** `Iops`  |  全部  | 
|  公用存取  |  **Yes (是)**，用來給予資料庫執行個體一個公有 IP 地址，這表示可在 VPC 外加以存取。資料庫執行個體也必須位於 VPC 的公有子網路中，才能公開存取。 **No (否)** 會讓資料庫執行個體只能從 VPC 內存取。 如需詳細資訊，請參閱[在 VPC 中的網際網路中隱藏資料庫執行個體](USER_VPC.WorkingWithRDSInstanceinaVPC.md#USER_VPC.Hiding)。 若要從其 VPC 外部連線到資料庫執行個體，資料庫執行個體必須可公開存取。亦須使用資料庫執行個體安全群組的傳入規則授予存取權。此外，必須滿足其他要求。如需詳細資訊，請參閱[無法連線至 Amazon RDS 資料庫執行個體](CHAP_Troubleshooting.md#CHAP_Troubleshooting.Connecting)。 如果您的資料庫執行個體無法公開存取，請使用 AWS Site-to-Site VPN 連線或從私有網路存取的 Direct Connect 連線。如需詳細資訊，請參閱[網際網路流量隱私權](inter-network-traffic-privacy.md)。  |  **CLI 選項：** `--publicly-accessible` `--no-publicly-accessible` **RDS API 參數：** `PubliclyAccessible`  | 全部 | 
| RDS 延長支援 |  選取**啟用 RDS 延長支援**，以允許支援的主要引擎版本在超過 RDS 標準支援結束日期後繼續執行。 當您建立資料庫執行個體時，Amazon RDS 會預設為 RDS 延長支援。若要防止在 RDS 標準支援日期結束後建立新的資料庫執行個體，並避免 RDS 延長支援的費用，請停用此設定。在 RDS 延長支援定價開始日期之前，您現有的資料庫執行個體不會產生費用。 如需詳細資訊，請參閱[使用 Amazon RDS 的 Amazon RDS 延伸支援](extended-support.md)。 |  **CLI 選項：** `--engine-lifecycle-support` **RDS API 參數：** `EngineLifecycleSupport`  |  MySQL PostgreSQL  | 
|  **RDS Proxy**  |  選擇 **Create an RDS Proxy** (建立 RDS Proxy)，針對您的資料庫執行個體建立一個代理。Amazon RDS 會自動為代理建立 IAM 角色和 Secrets Manager 機密。 如需詳細資訊，請參閱[Amazon RDS Proxy ](rds-proxy.md)。  |  無法在建立資料庫執行個體時使用。  |  MariaDB MySQL PostgreSQL  | 
|  儲存體自動調整規模  |  **Enable storage autoscaling (啟用儲存體自動調整規模)** 可讓 Amazon RDS 在需要避免資料庫執行個體耗盡儲存空間時，自動增加儲存體。 使用 **Maximum storage threshold (儲存體閾值上限)** 可設定 Amazon RDS 的上限，以自動增加資料庫執行個體的儲存體。預設為 1,000 GiB。 如需詳細資訊，請參閱 [使用 Amazon RDS 儲存體自動擴展自動管理容量](USER_PIOPS.Autoscaling.md)。  |  **CLI 選項：** `--max-allocated-storage` **RDS API 參數：** `MaxAllocatedStorage`  | 全部 | 
|  **Storage throughput** (訊息輸送量)  |  資料庫執行個體的儲存體輸送量值。只有在您針對 **Storage type** (儲存體類型) 選擇 **General purpose SSD (gp3)** (一般用途 SSD (gp3)) 時，才能使用此設定。 如需詳細資訊，請參閱[gp3 儲存體 (建議)](CHAP_Storage.md#gp3-storage)。  |  **CLI 選項：** `--storage-throughput` **RDS API 參數：** `StorageThroughput`  | 全部 | 
|  儲存體類型  |  資料庫執行個體的儲存類型。 如果您選擇 **General Purpose SSD (gp3)** (一般用途 SSD (gp3))，您可以在 **Advanced settings** (進階設定) 下佈建額外的佈建 IOPS 和儲存體輸送量。 如果選擇**佈建 IOPS SSD (io1)** 或**佈建 IOPS SSD (io2)**，請輸入**佈建 IOPS** 值。 如需詳細資訊，請參閱[Amazon RDS 儲存類型](CHAP_Storage.md#Concepts.Storage)。  |  **CLI 選項：** `--storage-type` **RDS API 參數：** `StorageType`  | 全部 | 
| 其他儲存磁碟區  |  您最多可以將三個額外的儲存磁碟區新增至 RDS for Oracle 或 RDS for SQL Server 資料庫執行個體。您可以設定每個額外的磁碟區以使用 gp3 或 io2 儲存類型。您也可以指定不同的配置儲存、IOPS 和輸送量設定，以最佳化工作負載需求。 請務必將磁碟區名稱指定為 `rdsdbdata2`、 `rdsdbdata3`或 `rdsdbdata4`。 跨主要磁碟區和其他磁碟區的合併儲存體不得超過 256 TiB。  |  **CLI 選項：** `--additional-storage-volumes` **RDS API 參數：** `AdditionalStorageVolumes`  | Oracle 和 SQL Server | 
| Subnet group (子網路群組)  |  要與此資料庫執行個體建立關聯的資料庫子網路群組。 如需詳細資訊，請參閱[使用資料庫子網路群組](USER_VPC.WorkingWithRDSInstanceinaVPC.md#USER_VPC.Subnets)。  |  **CLI 選項：** `--db-subnet-group-name` **RDS API 參數：** `DBSubnetGroupName`  | 全部 | 
| 租戶資料庫名稱 |  Oracle 架構之多租戶組態中初始 PDB 的名稱。只有當您針對**架構組態**選擇**多租戶組態**時，才能使用此設定。 租用戶資料庫名稱必須與 CDB 的名稱 (名為 `RDSCDB`) 不同。您無法變更 CDB 名稱。  |  **CLI 選項：** `--db-name` **RDS API 參數：** `DBName`  |  Oracle  | 
| 租戶資料庫主要使用者名稱 |  用作具有所有資料庫權限之主要使用者名稱來登入租戶資料庫 (PDB) 的名稱。只有當您針對**架構組態**選擇**多租戶組態**時，才能使用此設定。 請注意以下命名限制： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/USER_CreateDBInstance.Settings.html) 您無法執行下列： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/USER_CreateDBInstance.Settings.html)  |  **CLI 選項：** `--master-username` **RDS API 參數：** `MasterUsername`  |  Oracle  | 
| 租戶資料庫主要密碼 |  租戶資料庫 (PDB) 之主要使用者帳戶的密碼。只有當您針對**架構組態**選擇**多租戶組態**時，才能使用此設定。 密碼必須包含 8 至 30 個可列印的 ASCII 字元 (`/`、`"`、空格和 `@` 除外)。  |  **CLI 選項：** `--master-password` **RDS API 參數：** `MasterPassword`  |  Oracle  | 
| 租戶資料庫字元集 |  初始租戶資料庫的字元集。只有當您針對**架構組態**選擇**多租戶組態**時，才能使用此設定。僅支援 RDS for Oracle CDB 資料庫執行個體。 租戶資料庫字元集的預設值 **AL32UTF8** 適用於 Unicode 5.0 UTF-8 通用字元集。您可以選擇不同於 CDB 字元集的租戶資料庫字元集。 如需詳細資訊，請參閱[RDS for Oracle 字元集](Appendix.OracleCharacterSets.md)。  |  **CLI 選項：** `--character-set-name` **RDS API 參數：** `CharacterSetName`  |  Oracle  | 
| 租戶資料庫國家字元集 |  租戶資料庫的國家字元集，通常稱為 `NCHAR` 字元集。只有當您針對**架構組態**選擇**多租戶組態**時，才能使用此設定。僅支援 RDS for Oracle CDB 資料庫執行個體。 您可以將國家字元集設定為 **AL16UTF16** (預設值) 或 **UTF-8**。在建立租戶資料庫之後，您無法變更國家字元集。 租戶資料庫國家字元集與租戶資料庫字元集不同。國家字元集只會針對使用 `NCHAR` 資料類型 (`NCHAR`、`NVARCHAR2` 和 `NCLOB`) 的資料行指定編碼，而且不會影響資料庫中繼資料。 如需詳細資訊，請參閱[RDS for Oracle 字元集](Appendix.OracleCharacterSets.md)。  |  **CLI 選項：** `--nchar-character-set-name` **API 參數：** `NcharCharacterSetName`  |  Oracle  | 
|  時區  |  資料庫執行個體的時區。如果您不選擇時區，資料庫執行個體會使用預設時區。在建立資料庫執行個體之後，就無法變更時區。 如需詳細資訊，請參閱[Amazon RDS for Db2 資料庫執行個體的本機時區](db2-time-zone.md)及[Microsoft SQL Server 資料庫執行個體的本機時區](SQLServer.Concepts.General.TimeZone.md)。  |  **CLI 選項：** `--timezone` **RDS API 參數：** `Timezone`  |  Db2 SQL Server RDS Custom for SQL Server  | 
|  Virtual Private Cloud (VPC)  |  要與此資料庫執行個體相關聯的 VPC (以 Amazon VPC 服務為基礎)。 如需詳細資訊，請參閱[Amazon VPC 和 Amazon RDS](USER_VPC.md)。  |  對於 CLI 及 API，您指定 VPC 安全性群組 ID。  | 全部 | 
|  VPC security group (firewall) (VPC 安全群組 (防火牆))  |  要與資料庫執行個體建立關聯的安全群組。 如需詳細資訊，請參閱[VPC 安全群組概觀](Overview.RDSSecurityGroups.md#Overview.RDSSecurityGroups.VPCSec)。  |  **CLI 選項：** `--vpc-security-group-ids` **RDS API 參數：** `VpcSecurityGroupIds`  | 全部 | 

# 使用 建立 Amazon RDS 資源 AWS CloudFormation
<a name="creating-resources-with-cloudformation"></a>

Amazon RDS 已與 整合 AWS CloudFormation，這項服務可協助您模型化和設定 AWS 資源，以減少建立和管理資源和基礎設施的時間。您可以建立範本，描述您想要的所有 AWS 資源 （例如資料庫執行個體和資料庫參數群組）、 以及為您 CloudFormation 佈建和設定這些資源。

使用 時 CloudFormation，您可以重複使用範本來一致且重複地設定 RDS Aurora資源。描述您的資源一次，然後在多個 AWS 帳戶和區域中逐一佈建相同的資源。

## RDS Aurora和 CloudFormation 範本
<a name="working-with-templates"></a>

[CloudFormation 範本](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-guide.html)是 JSON 或 YAML 格式的文字檔案。這些範本說明您要在 CloudFormation 堆疊中佈建的資源。如果您不熟悉 JSON 或 YAML，您可以使用 CloudFormation 設計工具來協助您開始使用 CloudFormation 範本。如需詳細資訊，請參閱《AWS CloudFormation 使用者指南》** 中的[什麼是 CloudFormation 設計器？](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/working-with-templates-cfn-designer.html)。

RDS Aurora支援在 中建立資源 CloudFormation。如需更多詳細資訊 (包括這些資源的 JSON 和 YAML 範本範例)，請參閱 *AWS CloudFormation 使用者指南*中的 [RDS 資源類型參考](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_RDS.html)。

## 進一步了解 CloudFormation
<a name="learn-more-cloudformation"></a>

若要進一步了解 CloudFormation，請參閱下列資源：
+ [AWS CloudFormation](https://aws.amazon.com/cloudformation/)
+ [AWS CloudFormation 使用者指南](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html)
+ [CloudFormation API 參考](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/Welcome.html)
+ [AWS CloudFormation 命令列界面使用者指南](https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/what-is-cloudformation-cli.html)

# 連接至 Amazon RDS 資料庫執行個體
<a name="CHAP_CommonTasks.Connect"></a>

 您必須先建立資料庫執行個體，才能連線到資料庫執行個體。如需相關資訊，請參閱[建立 Amazon RDS 資料庫執行個體](USER_CreateDBInstance.md)。在 Amazon RDS 佈建您的資料庫執行個體之後，請使用任何標準用戶端應用程式或資料庫引擎公用程式來連線至資料庫執行個體。在連線字串中，指定來自資料庫執行個體端點的 DNS 位址做為主機參數。此外，也會指定來自資料庫執行個體端點的連接埠號碼做為連接埠參數。

如需尋找 Amazon RDS 資料庫執行個體連線資訊或在 VPC 中存取資料庫執行個體案例的詳細資訊，請參閱下列主題。
+ [尋找 Amazon RDS 資料庫執行個體的連線資訊](CHAP_CommonTasks.Connect.EndpointAndPort.md)
+ [在 VPC 中存取資料庫執行個體的案例](CHAP_CommonTasks.Connect.ScenariosForAccess.md)

# 尋找 Amazon RDS 資料庫執行個體的連線資訊
<a name="CHAP_CommonTasks.Connect.EndpointAndPort"></a>

資料庫執行個體的連線資訊包括其端點、連接埠，以及有效的資料庫使用者，例如主要使用者。例如，對於 MySQL 資料庫執行個體，假設端點值為 `mydb.123456789012.us-east-1.rds.amazonaws.com`。在此情況下，連接埠值為 `3306`，資料庫使用者為 `admin`。藉由此資訊，您可以在連線字串中指定下列值：
+ 對於主機或主機名稱或 DNS 名稱，請指定 `mydb.123456789012.us-east-1.rds.amazonaws.com`。
+ 對於連接埠，指定 `3306`。
+ 對於使用者，請指定 `admin`。

每個資料庫執行個體的端點都是唯一的，連接埠和使用者的值可能會有所不同。下列清單顯示每個資料庫引擎最常見的連接埠：
+ Db2 – 50000
+ MariaDB – 3306
+ Microsoft SQL Server – 1433
+ MySQL – 3306
+ Oracle – 1521
+ PostgreSQL – 5432

若要連線到資料庫執行個體，請針對資料庫引擎使用任何用戶端。例如，您可以使用 mysql 公用程式來連線至 MariaDB 或 MySQL 資料庫執行個體。您可以使用 Microsoft SQL Server Management Studio 連線至 SQL Server 資料庫執行個體。您可能會使用 Oracle SQL Developer 連線至 Oracle 資料庫執行個體。同樣地，您可能會使用 psql 命令列公用程式，連線至 PostgreSQL 資料庫執行個體。

若要尋找資料庫執行個體的連線資訊，請使用 AWS 管理主控台。您也可以使用 AWS Command Line Interface (AWS CLI) [describe-db-instances](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-instances.html) 命令或 RDS API [DescribeDBInstances](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBInstances.html) 操作。

## 主控台
<a name="CHAP_CommonTasks.Connect.EndpointAndPort.Console"></a>

**在 AWS 管理主控台 中尋找資料庫執行個體的連線資訊**

1. 登入 AWS 管理主控台，開啟位於 [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/) 的 Amazon RDS 主控台。

1. 在導覽窗格中，選擇 **Databases** (資料庫) 以顯示資料庫執行個體的清單。

1. 選擇資料庫執行個體的名稱以顯示其詳細資訊。

1. 在 **Connectivity & security (連線能力和安全性)** 索引標籤上，複製該端點。另外，請記下連接埠號碼。您需要同時有端點和連接埠號碼，才能連接至資料庫執行個體。  
![\[資料庫執行個體的端點和連接埠\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/images/endpoint-port.png)

1. 如果您需要尋找主要使用者名稱，請選擇 **Configuration** (組態) 索引標籤並檢視 **Master username** (主要使用者名稱) 值。

## AWS CLI
<a name="CHAP_CommonTasks.Connect.EndpointAndPort.CLI"></a>

若要使用 AWS CLI 尋找資料庫執行個體的連線資訊，請呼叫 [describe-db-instances](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-instances.html) 命令。在呼叫中，查詢資料庫執行個體 ID、端點、連接埠和主要使用者名稱。

對於 Linux、macOS 或 Unix：

```
aws rds describe-db-instances \
  --query "*[].[DBInstanceIdentifier,Endpoint.Address,Endpoint.Port,MasterUsername]"
```

在 Windows 中：

```
aws rds describe-db-instances ^
  --query "*[].[DBInstanceIdentifier,Endpoint.Address,Endpoint.Port,MasterUsername]"
```

輸出內容應如下所示：

```
[
    [
        "mydb",
        "mydb.123456789012.us-east-1.rds.amazonaws.com",
        3306,
        "admin"
    ],
    [
        "myoracledb",
        "myoracledb.123456789012.us-east-1.rds.amazonaws.com",
        1521,
        "dbadmin"
    ],
    [
        "mypostgresqldb",
        "mypostgresqldb.123456789012.us-east-1.rds.amazonaws.com",
        5432,
        "postgresadmin"
    ]
]
```

## RDS API
<a name="CHAP_CommonTasks.Connect.EndpointAndPort.API"></a>

若要使用 Amazon RDS API 尋找資料庫執行個體的連線資訊，請呼叫 [DescribeDBInstances](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBInstances.html) 操作。在輸出中，尋找端點地址、端點連接埠和主要使用者名稱的值。

# 在 VPC 中存取資料庫執行個體的案例
<a name="CHAP_CommonTasks.Connect.ScenariosForAccess"></a>

使用 Amazon Virtual Private Cloud (Amazon VPC)，您可以在 Virtual Private Cloud (VPC) 中啟動 AWS 資源，如 Amazon RDS 資料庫執行個體。使用 Amazon VPC 時，您可以掌控您的虛擬聯網環境。您可以選擇自己的 IP 地址範圍、建立子網路，以及設定路由和存取控制清單。

VPC 安全群組可控制對 VPC 內資料庫執行個體的存取。每個 VPC 安全群組都可讓特定來源存取 VPC 中與該 VPC 安全群組相關聯的資料庫執行個體。來源可以是地址的來源 (例如，203.0.113.0/24) 或另一個 VPC 安全群組。藉由指定 VPC 安全群組做為來源，您允許從使用來源 VPC 安全群組的所有執行個體 (通常指的是應用程式伺服器) 傳入的流量。

嘗試連線至資料庫執行個體之前，請為您的使用案例設定 VPC。以下為在 VPC 中存取資料庫執行個體的常見案例：
+ **由同一 VPC 中的 Amazon EC2 執行個體存取的 VPC 資料庫執行個體** – VPC 中資料庫執行個體的常見用途是與在同一個 VPC 中的 EC2 執行個體中執行的應用程式伺服器共享資料。EC2 執行個體可能會使用與資料庫執行個體互動的應用程式來執行 Web 伺服器。
+ **由不同 VPC 中的 EC2 執行個體存取之 VPC 中的資料庫執行個體** – 在某些情況下，資料庫執行個體與您用來存取它的 EC2 執行個體各自位於不同的 VPC 中。若是如此，您可以使用 VPC 對等互連來存取資料庫執行個體。
+ **用戶端應用程式透過網際網路存取之 VPC 中的資料庫執行個體** – 若要透過網際網路從用戶端應用程式存取 VPC 中的資料庫執行個體，請設定具有單一公有子網路的 VPC。您也可以設定網際網路閘道，啟用透過網際網路的通訊。

  若要從其 VPC 外部連線到資料庫執行個體，資料庫執行個體必須可公開存取。此外，必須使用資料庫執行個體安全群組的入站規則授予存取權，且必須符合其他需求。如需更多詳細資訊，請參閱 [無法連線至 Amazon RDS 資料庫執行個體](CHAP_Troubleshooting.md#CHAP_Troubleshooting.Connecting)。
+ **私有網路存取之 VPC 中的資料庫執行個體** – 如果您的資料庫執行個體無法公開存取，您可以使用下列其中一個選項，從私有網路存取該執行個體。
  + AWS Site-to-Site VPN 連線。
  + Direct Connect 連線
  + AWS Client VPN 連線

如需更多詳細資訊，請參閱 [在 VPC 中存取資料庫執行個體的案例](USER_VPC.Scenarios.md)。

## 使用 AWS 驅動程式連線至資料庫執行個體
<a name="RDS.Connecting.Drivers"></a>

驅動程式 AWS 套件旨在支援更快的切換和容錯移轉時間，以及使用 AWS Secrets Manager AWS Identity and Access Management (IAM) 和聯合身分進行身分驗證。 AWS 驅動程式依賴監控資料庫執行個體狀態，並注意執行個體拓撲，以判斷新的主要執行個體。相較於開放原始碼驅動程式的數十秒，此方法可將切換和容錯移轉時間縮短為短短幾秒。

下表列出每個驅動程式支援的功能。隨著推出新的服務功能，驅動程式 AWS 套件的目標是為這些服務功能提供內建支援。


| 功能 | [AWS JDBC 驅動程式](https://github.com/awslabs/aws-advanced-jdbc-wrapper) | [AWS Python 驅動程式](https://github.com/awslabs/aws-advanced-python-wrapper) | [AWS 適用於 MySQL 的 ODBC 驅動程式](https://github.com/aws/aws-mysql-odbc) | 
| --- | --- | --- | --- | 
| 容錯移轉支援 | [是](https://github.com/awslabs/aws-advanced-jdbc-wrapper/blob/main/docs/using-the-jdbc-driver/using-plugins/UsingTheFailoverPlugin.md) | [是](https://github.com/awslabs/aws-advanced-python-wrapper/blob/main/docs/using-the-python-driver/using-plugins/UsingTheFailoverPlugin.md) | [是](https://github.com/aws/aws-mysql-odbc/blob/main/docs/using-the-aws-driver/UsingTheAwsDriver.md#failover-process) | 
| 增強型容錯移轉監控 | [是](https://github.com/awslabs/aws-advanced-jdbc-wrapper/blob/main/docs/using-the-jdbc-driver/using-plugins/UsingTheHostMonitoringPlugin.md) | [是](https://github.com/awslabs/aws-advanced-python-wrapper/blob/main/docs/using-the-python-driver/using-plugins/UsingTheHostMonitoringPlugin.md) | [是](https://github.com/aws/aws-mysql-odbc/blob/main/docs/using-the-aws-driver/HostMonitoring.md#enhanced-failure-monitoring) | 
| 讀取/寫入分割 | [是](https://github.com/awslabs/aws-advanced-jdbc-wrapper/blob/main/docs/using-the-jdbc-driver/using-plugins/UsingTheReadWriteSplittingPlugin.md) | [是](https://github.com/awslabs/aws-advanced-python-wrapper/blob/main/docs/using-the-python-driver/using-plugins/UsingTheReadWriteSplittingPlugin.md) | 否 | 
| 驅動程式中繼資料連線 | [是](https://github.com/awslabs/aws-advanced-jdbc-wrapper/blob/main/docs/using-the-jdbc-driver/using-plugins/UsingTheDriverMetadataConnectionPlugin.md) | N/A | N/A | 
| 遙測 | [是](https://github.com/awslabs/aws-advanced-jdbc-wrapper/blob/main/docs/using-the-jdbc-driver/Telemetry.md) | [是](https://github.com/aws/aws-advanced-python-wrapper/blob/main/docs/using-the-python-driver/Telemetry.md) | 否 | 
| Secrets Manager | [是](https://github.com/awslabs/aws-advanced-jdbc-wrapper/blob/main/docs/using-the-jdbc-driver/using-plugins/UsingTheAwsSecretsManagerPlugin.md) | [是](https://github.com/awslabs/aws-advanced-python-wrapper/blob/main/docs/using-the-python-driver/using-plugins/UsingTheAwsSecretsManagerPlugin.md) | [是](https://github.com/aws/aws-mysql-odbc/blob/main/docs/using-the-aws-driver/UsingTheAwsDriver.md#secrets-manager-authentication) | 
| IAM 身分驗證 | [是](https://github.com/awslabs/aws-advanced-jdbc-wrapper/blob/main/docs/using-the-jdbc-driver/using-plugins/UsingTheIamAuthenticationPlugin.md) | [是](https://github.com/awslabs/aws-advanced-python-wrapper/blob/main/docs/using-the-python-driver/using-plugins/UsingTheIamAuthenticationPlugin.md) | [是](https://github.com/aws/aws-mysql-odbc/blob/main/docs/using-the-aws-driver/UsingTheAwsDriver.md#iam-authentication) | 
| 聯合身分 (AD FS) | [是](https://github.com/awslabs/aws-advanced-jdbc-wrapper/blob/main/docs/using-the-jdbc-driver/using-plugins/UsingTheFederatedAuthPlugin.md) | [是](https://github.com/awslabs/aws-advanced-python-wrapper/blob/main/docs/using-the-python-driver/using-plugins/UsingTheFederatedAuthenticationPlugin.md) | 否 | 
| 聯合身分 (Okta) | [是](https://github.com/awslabs/aws-advanced-jdbc-wrapper/blob/main/docs/using-the-jdbc-driver/using-plugins/UsingTheFederatedAuthPlugin.md) | 否 | 否 | 
| 多可用區域資料庫叢集 | [是](https://github.com/awslabs/aws-advanced-jdbc-wrapper/blob/main/docs/using-the-jdbc-driver/SupportForRDSMultiAzDBCluster.md) | [是](https://github.com/aws/aws-advanced-python-wrapper/blob/main/docs/using-the-python-driver/SupportForRDSMultiAzDBCluster.md) | 否 | 

如需 AWS 驅動程式的詳細資訊，請參閱 [RDS for MariaDB](MariaDB.Connecting.Drivers.md#MariaDB.Connecting.JDBCDriver)、[RDS for MySQL](MySQL.Connecting.Drivers.md#MySQL.Connecting.JDBCDriver) 或 [RDS for PostgreSQL](PostgreSQL.Connecting.JDBCDriver.md) 資料庫執行個體的對應語言驅動程式。

**注意**  
RDS for MariaDB 支援的唯一功能是使用 AWS Secrets Manager、 AWS Identity and Access Management (IAM) 和聯合身分進行身分驗證。

## 連線至執行特定資料庫引擎的資料庫執行個體
<a name="CHAP_CommonTasks.Connect.DBEngine"></a>

若要了解如何連線至執行特定資料庫引擎之資料庫執行個體的詳細資訊，請遵循資料庫引擎的指示：
+ [RDS for Db2](USER_ConnectToDb2DBInstance.md)
+ [RDS for MariaDB](USER_ConnectToMariaDBInstance.md)
+ [RDS for SQL Server](USER_ConnectToMicrosoftSQLServerInstance.md)
+ [RDS for MySQL](USER_ConnectToInstance.md)
+ [RDS for Oracle](USER_ConnectToOracleInstance.md)
+ [RDS for PostgreSQL](USER_ConnectToPostgreSQLInstance.md)

## 使用 RDS Proxy 管理連線
<a name="CHAP_CommonTasks.Connect.RDSProxy"></a>

您也可以使用 Amazon RDS Proxy 來管理 RDS for MariaDB、RDS for Microsoft SQL Server、RDS for MySQL 和 RDS for PostgreSQL 資料庫執行個體的連線。RDS Proxy 允許應用程式將資料庫連線置於集區和共用，以改善可擴展性。如需詳細資訊，請參閱[Amazon RDS Proxy ](rds-proxy.md)。

## 資料庫身分驗證選項
<a name="CHAP_CommonTasks.Connect.DatabaseAuthentication"></a>

Amazon RDS 支援以下方式來對資料庫使用者進行身分驗證：
+ **密碼身分驗證** – 您的資料庫執行個體會執行使用者帳戶的所有管理。您可以使用 SQL 陳述式建立使用者並指定密碼。您可以使用的 SQL 陳述式取決於您的資料庫引擎。
+ **AWS Identity and Access Management (IAM) 資料庫身分驗證** – 連線至資料庫執行個體時，您不需要使用密碼。而是改用身分驗證字符。
+ **Kerberos 身分驗證** – 您使用 Kerberos 和 Microsoft Active Directory 之資料庫使用者的外部身分驗證。Kerberos 是網路身分驗證通訊協定，使用票證和對稱式金鑰加密技術，免除透過網路傳輸密碼的需要。Kerberos 已內建至 Active Directory，旨在驗證網路資源 (例如資料庫) 的使用者身分。

IAM 資料庫身分驗證和 Kerberos 身分驗證僅適用於特定的資料庫引擎和版本。

如需更多詳細資訊，請參閱 [使用 Amazon RDS 進行資料庫身分驗證](database-authentication.md)。

## 加密的連線
<a name="CHAP_CommonTasks.Connect.EncryptedConnections"></a>

您可以從應用程式使用 Secure Socket Layer (SSL) 或 Transport Layer Security (TLS) 來加密與資料庫執行個體的連線。每個資料庫引擎都有自己實作 SSL/TLS 的程序。如需詳細資訊，請參閱[使用 SSL/TLS 加密與資料庫執行個體或叢集的連線](UsingWithRDS.SSL.md)。

# 使用選項群組
<a name="USER_WorkingWithOptionGroups"></a>

某些資料庫引擎提供了簡化資料與資料庫管理的其他功能，並提供額外的資料庫安全性。​ Amazon RDS 使用選項群組來啟用並設定這些功能。*選項群組*可指定稱作選項的功能，可用於特定的 Amazon RDS​ 資料庫執行個體。選項擁有的設定，可以指定該選項如何運作。當您將資料庫執行個體關聯到一個選項群組後，便會啟用該資料庫執行個體的指定選項和選項設定。

 Amazon RDS 支援下列資料庫引擎的選項：


****  

| 資料庫引擎 | 相關文件 | 
| --- | --- | 
|  `Db2`  |  [RDS for Db2 資料庫執行個體的選項](Db2.Options.md)  | 
|  `MariaDB`  |  [MariaDB 資料庫引擎的選項](Appendix.MariaDB.Options.md)  | 
|  `Microsoft SQL Server`  |  [Microsoft SQL Server 資料庫引擎的選項](Appendix.SQLServer.Options.md)  | 
|  `MySQL`  |  [MySQL 資料庫執行個體的選項](Appendix.MySQL.Options.md)  | 
|  `Oracle`  |  [將選項新增至 Oracle 資料庫執行個體](Appendix.Oracle.Options.md)  | 
|  `PostgreSQL`  |  PostgreSQL 不使用選項和選項群組。PostgreSQL 使用擴展和模塊來提供附加功能。如需更多詳細資訊，請參閱 [支援的 PostgreSQL 擴充功能版本](PostgreSQL.Concepts.General.FeatureSupport.Extensions.md)。  | 

## 選項群組概觀
<a name="Overview.OptionGroups"></a>

Amazon RDS​ 為每個新資料庫執行個體提供了空的預設選項群組。您不能修改或刪除此預設選項群組，但任何您新建的選項群組都會沿用預設選項群組的設定。要套用選項至資料庫執行個體，您必須執行下列項目：

1. 建立新的選項群組，或是複製或修改現有選項群組。

1. 在選項群組中新增一或多個選項。

1. 將選項群組與資料庫執行個體建立關聯。

   若要建立選項群組與資料庫執行個體的關聯，請修改資料庫執行個體。如需更多詳細資訊，請參閱 [修改 Amazon RDS 資料庫執行個體](Overview.DBInstance.Modifying.md)。

資料庫執行個體和資料庫快照都可以與選項群組關聯。在部分情況下，您可由資料庫快照還原，或是執行資料庫執行個體的時間點還原。在這類情況下，與資料庫快照或資料庫執行個體關聯的選項群組，依據預設會與還原的資料庫執行個體產生關聯。您可以將不同的選項群組關聯至還原的資料庫執行個體。但是，新的選項群組必須包含任何在原始選項群組中所納入的持久性或永久性選項。持久性與永久性選項如下所述。

選項需要額外記憶體才能在資料庫執行個體上執行，因此您可能需要啟動更大的執行個體以使用選項，視您目前的資料庫執行個體使用狀態而定。例如，「Oracle Enterprise Manager 資料庫控制」使用大約 300 MB 的 RAM。如果您對小型資料庫執行個體啟用此選項，則可能會因為記憶體不足錯誤而遭遇效能問題。

### 持久性與永久性選項
<a name="Overview.OptionGroups.Permanent"></a>

在將持久性與永久性兩種類型選項新增至選項群組時，需要特殊考量。

資料庫執行個體與選項群組建立關聯時，無法由選項群組移除持久性選項。例如 Microsoft SQL Server 透明資料加密 (TDE) 的 TDE 選項就是持久性選項。在從選項群組中刪除持久性選項之前，必須先取消所有資料庫執行個體與選項群組的關聯。在部分情況下，您可由資料庫快照還原或執行時間點還原。在這類情況下，如果與該資料庫快照關聯的選項群組包含持久性選項，則只能將還原的資料庫執行個體與該選項群組建立關聯。

永久性選項 (例如 Oracle 進階安全性 TDE 的 TDE 選項) 絕不能從選項群組中移除。您可變更使用永久性選項資料庫執行個體的選項群組。不過與資料庫執行個體建立關聯的選項群組，必須包含相同的永久性選項。在部分情況下，您可由資料庫快照還原或執行時間點還原。在這類情況下，如果與該資料庫快照關聯的選項群組包含永久性選項，則只能將還原的資料庫執行個體與包含永久性選項的該選項群組建立關聯。

對於 Oracle 資料庫執行個體，您可以複製具有 `Timezone` 或 `OLS` 選項 (或兩者) 的共用資料庫快照。作法是在您複製資料庫快照時，指定包含這些選項的目標選項群組。只有對執行 Oracle 12.2 版或更高版本的 Oracle 資料庫執行個體，OLS 才是永久和持續的選項。如需這些選項的詳細資訊，請參閱 [Oracle 時區](Appendix.Oracle.Options.Timezone.md)和 [Oracle Label Security](Oracle.Options.OLS.md)。

### VPC 考量
<a name="Overview.OptionGroups.Platform"></a>

與資料庫執行個體相關聯的選項群組會與資料庫執行個體的 VPC 連結。這表示若您嘗試將該執行個體還原至不同的 VPC，將無法使用指派給資料庫執行個體的選項群組。如果您將資料庫執行個體還原至不同的 VPC，可以進行以下其中一項作業：
+ 將預設選項群組指派至資料庫執行個體。
+ 指派與該 VPC 連結的選項群組。
+ 建立新的選項群組，並將其指派至資料庫執行個體。

若使用持久性或永性選項 (例如 Oracle TDE)，您必須建立新的選項群組。此選項群組必須在將資料庫執行個體還原至不同的 VPC 時包含持久性或永久性選項。

選項設定控制了選項的行為。例如，Oracle 進階安全性選項 `NATIVE_NETWORK_ENCRYPTION`​ 並擁有您可以用來為進出資料庫執行個體網路流量指定加密演算法的設定。某些選項設定已為搭配 Amazon RDS​ 的使用進行最佳化且不能變更。

### 互斥選項
<a name="Overview.OptionGroups.Exclusive"></a>

某些選項是互斥的。您只能一次使用一個選項。以下選項是互斥的：
+ [Oracle Enterprise Manager Database Express](Appendix.Oracle.Options.OEM_DBControl.md)、 與 [適用於 Enterprise Manager Cloud Control 的 Oracle Management Agent](Oracle.Options.OEMAgent.md) 
+ [Oracle 原生網路加密](Appendix.Oracle.Options.NetworkEncryption.md)、 與 [Oracle Secure Sockets Layer](Appendix.Oracle.Options.SSL.md) 

## 建立選項群組
<a name="USER_WorkingWithOptionGroups.Create"></a>

您可以建立新的選項群組，從預設選項群組衍生其設定。然後將一或多個選項新增至新的選項群組。或者，如果您已經有一個現有選項群組，您可以將包含其所有選項的選項群組複製到新的選項群組。如需詳細資訊，請參閱 [刪除選項群組](#USER_WorkingWithOptionGroups.Copy)。

當您建立新的選項群組後，它不會有選項。如需了解如何新增選項群組的選項，請參閱 [將選項新增至選項群組](#USER_WorkingWithOptionGroups.AddOption)。新增所需選項後，您可以將選項群組與資料庫執行個體建立關聯。如此一來，這些選項便可在資料庫執行個體上使用。如需將選項群組與資料庫執行個體建立關聯的相關資訊，請參閱 [使用選項群組](#USER_WorkingWithOptionGroups)​ 中引擎的文件。

### 主控台
<a name="USER_WorkingWithOptionGroups.Create.Console"></a>

 建立選項群組的其中一種方法是使用 AWS 管理主控台。

**使用主控台建立新的選項群組**

1. 登入 AWS 管理主控台，開啟位於 [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/) 的 Amazon RDS 主控台。

1. 在導覽窗格中，選擇 **Option groups** (選項群組)。

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

1. 在 **Create option group (建立選項群組)** 視窗中，執行下列動作：

   1. 在 **Name** (名稱) 中，輸入您 AWS 帳戶中的唯一選項群組名稱。名稱僅可包含字母、數字與連字號。

   1. 在 **Description (說明)** 欄位中，輸入選項群組的簡要說明。用於顯示用途的說明。

   1. 針對 **Engine (引擎)**，選擇您想要使用的資料庫引擎。

   1. 在 **Major engine version (主要引擎版本)** 中，選擇您要使用的主要資料庫引擎版本。

1. 請選擇 **Create (建立)** 以繼續進行。若要取消操作，請改為選擇 **Cancel (取消)**。

### AWS CLI
<a name="USER_WorkingWithOptionGroups.Create.CLI"></a>

若要建立選項群組，請使用 AWS CLI [https://docs.aws.amazon.com/cli/latest/reference/rds/create-option-group.html](https://docs.aws.amazon.com/cli/latest/reference/rds/create-option-group.html) 命令並搭配下列必要參數。
+ `--option-group-name`
+ `--engine-name`
+ `--major-engine-version`
+ `--option-group-description`

**Example**  
以下範例會建立名為 `testoptiongroup` 的選項群組，該群組與 Oracle Enterprise Edition 資料庫引擎關聯。該說明包含在引號中。  
針對 Linux、macOS 或 Unix：  

```
       
aws rds create-option-group \
    --option-group-name testoptiongroup \
    --engine-name oracle-ee \
    --major-engine-version 19 \
    --option-group-description "Test option group for Oracle Database 19c EE"
```
針對 Windows：  

```
aws rds create-option-group ^
    --option-group-name testoptiongroup ^
    --engine-name oracle-ee ^-
    --major-engine-version 19 ^
    --option-group-description "Test option group for Oracle Database 19c EE"
```

### RDS API
<a name="USER_WorkingWithOptionGroups.Create.API"></a>

如要建立選項群組，請呼叫 Amazon RDS​ API [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateOptionGroup.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateOptionGroup.html)​ 操作。包含以下參數：
+ `OptionGroupName`
+ `EngineName`
+ `MajorEngineVersion`
+ `OptionGroupDescription`

## 刪除選項群組
<a name="USER_WorkingWithOptionGroups.Copy"></a>

您可以使用 AWS CLI 或 Amazon RDS API 複製選項群組。複製選項群組可以很方便。例如，當您已建立現有的選項群組，並希望將其中大部份的自訂參數及值併入新的選項群組時。您還可以複製在生產中使用的選項群組，然後修改複本以測試其他選項設定。

**注意**  
目前，您無法將選項群組複製到其他 AWS 區域。

### AWS CLI
<a name="USER_WorkingWithOptionGroups.Copy.CLI"></a>

若要複製選項群組，請使用 AWS CLI [copy-option-group](https://docs.aws.amazon.com/cli/latest/reference/rds/copy-option-group.html) 命令。包含下列必要選項：
+ `--source-option-group-identifier`
+ `--target-option-group-identifier`
+ `--target-option-group-description`

**Example**  
以下範例會建立名為 `new-option-group` 的選項群組，該群組為選項群組 `my-option-group` 的本機複本。  
針對 Linux、macOS 或 Unix：  

```
aws rds copy-option-group \
    --source-option-group-identifier my-option-group \
    --target-option-group-identifier new-option-group \
    --target-option-group-description "My new option group"
```
針對 Windows：  

```
aws rds copy-option-group ^
    --source-option-group-identifier my-option-group ^
    --target-option-group-identifier new-option-group ^
    --target-option-group-description "My new option group"
```

### RDS API
<a name="USER_WorkingWithOptionGroups.Copy.API"></a>

如要複製選項群組，請呼叫 Amazon RDS​ API [​CopyOptionGroup](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CopyOptionGroup.html) 操作。包含下列必要參數。
+ `SourceOptionGroupIdentifier`
+ `TargetOptionGroupIdentifier`
+ `TargetOptionGroupDescription`

## 將選項新增至選項群組
<a name="USER_WorkingWithOptionGroups.AddOption"></a>

您可以將選項新增至現有選項群組。新增所需選項後，您可以將選項群組與資料庫執行個體關聯，以便使用資料庫執行個體上的選項。如需關聯選項群組與資料庫執行個體的資訊，請參閱在 [使用選項群組](#USER_WorkingWithOptionGroups)​ 中列出的特定資料庫引擎文件。

在兩種情況下必須立即套用選項群組變更：
+ 當您要新增一個新增或更新連接埠值的選項時 (例如 `OEM` 選項)。​ 
+ 使用包含連接埠值的選項新增或刪除選項群組時。

在這類情況下，請在主控台選擇 **Apply Immediately (立即套用)** 選項。或是您可以在使用 AWS CLI 時納入 `--apply-immediately` 選項，或在使用 Amazon RDS API 時將 `ApplyImmediately` 參數設定為 `true`。不包含連接埠值的選項可以立即套用，或在資料庫執行個體的下一次維護時段套用。

**注意**  
如果您指定安全群組，以作為選項群組中的選項值，請修改選項群組來管理安全群組。您無法藉由修改資料庫執行個體來變更或移除此安全群組。此外，安全群組不會顯示 AWS 管理主控台 或 AWS CLI 命令 `describe-db-instances` 之輸出的資料庫執行個體詳細資料中。

### 主控台
<a name="USER_WorkingWithOptionGroups.AddOption.Console"></a>

您可以使用 AWS 管理主控台 將選項新增至選項群組。

**使用主控台將選項新增至選項群組**

1. 登入 AWS 管理主控台，開啟位於 [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/) 的 Amazon RDS 主控台。

1. 在導覽窗格中，選擇 **Option groups** (選項群組)。

1. 選擇您要修改的選項群組，然後選擇 **Add option (新增選項)**。  
![\[主控台選項群組\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/images/optiongroup-addoption1.png)

1. 在 **Add option (新增選項)** 視窗中，執行下列作業：

   1. 選擇您要新增的選項。根據您選擇的選項，您可能需要提供其他值。例如，當您選擇 `OEM` 選項時，您必須也輸入連接埠值並指定一個安全群組。

   1. 若要在所有關聯的資料庫執行個體新增選項時隨即啟用選項，請在 **Apply Immediately (立即套用)**​ 選擇 **​Yes (是)**。如果您選擇了 **No (不)** (預設)，選項將會在下一個維護時段為每個關聯的資料庫執行個體啟用。  
![\[主控台選項群組\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/images/optiongroup-addoption2.png)

1. 當您滿意設定後，選擇 **Add option (新增選項)**。

### AWS CLI
<a name="USER_WorkingWithOptionGroups.AddOptions.CLI"></a>

如要新增選項至選項群組，請搭配您想新增的選項執行 AWS CLI [add-option-to-option-group](https://docs.aws.amazon.com/cli/latest/reference/rds/add-option-to-option-group.html) 命令。若要在所有關聯的資料庫執行個體立即啟用新選項，請將 `--apply-immediately` 參數納入。依預設，選項將會在下一個維護時段為每個關聯的資料庫執行個體啟用。包含下列必要參數：
+ `--option-group-name`

**Example**  
下列範例會將 `Timezone` 選項與 `America/Los_Angeles` 設定新增至名為 `testoptiongroup` 的選項群組，並立即加以啟用。  
針對 Linux、macOS 或 Unix：  

```
aws rds add-option-to-option-group \
    --option-group-name testoptiongroup \
    --options "OptionName=Timezone,OptionSettings=[{Name=TIME_ZONE,Value=America/Los_Angeles}]" \
    --apply-immediately
```
針對 Windows：  

```
aws rds add-option-to-option-group ^
    --option-group-name testoptiongroup ^
    --options "OptionName=Timezone,OptionSettings=[{Name=TIME_ZONE,Value=America/Los_Angeles}]" ^
    --apply-immediately
```
命令結果類似以下所示：  

```
...{
       "OptionName": "Timezone",
       "OptionDescription": "Change time zone",
       "Persistent": true,
       "Permanent": false,
       "OptionSettings": [
           {
               "Name": "TIME_ZONE",
               "Value": "America/Los_Angeles",
               "DefaultValue": "UTC",
               "Description": "Specifies the timezone the user wants to change the system time to",
               "ApplyType": "DYNAMIC",
               "DataType": "STRING",
               "AllowedValues": "Africa/Cairo,...",
               "IsModifiable": true,
               "IsCollection": false
           }
       ],
       "DBSecurityGroupMemberships": [],
       "VpcSecurityGroupMemberships": []
   }...
```

**Example**  
以下範例將 Oracle OEM 選項新增至選項群組。其中也指定自訂連接埠及一對 Amazon EC2 VPC 安全群組，用於該連接埠。  
針對 Linux、macOS 或 Unix：  

```
aws rds add-option-to-option-group \
    --option-group-name testoptiongroup \
    --options OptionName=OEM,Port=5500,VpcSecurityGroupMemberships="sg-test1,sg-test2" \
    --apply-immediately
```
針對 Windows：  

```
aws rds add-option-to-option-group ^
    --option-group-name testoptiongroup ^
    --options OptionName=OEM,Port=5500,VpcSecurityGroupMemberships="sg-test1,sg-test2" ^
    --apply-immediately
```
命令結果類似以下所示：  

```
OPTIONGROUP  False  oracle-ee  19 arn:aws:rds:us-east-1:1234567890:og:testoptiongroup   Test Option Group  testoptiongroup vpc-test 
OPTIONS Oracle 12c EM Express   OEM     False   False   5500
VPCSECURITYGROUPMEMBERSHIPS     active  sg-test1
VPCSECURITYGROUPMEMBERSHIPS     active  sg-test2
```

**Example**  
下列範例會將 Oracle 選項 `NATIVE_NETWORK_ENCRYPTION` 新增至選項群組，並指定選項設定。若未指定選項設定，則將使用預設值。  
針對 Linux、macOS 或 Unix：  

```
aws rds add-option-to-option-group \
    --option-group-name testoptiongroup \
    --options '[{"OptionSettings":[{"Name":"SQLNET.ENCRYPTION_SERVER","Value":"REQUIRED"},{"Name":"SQLNET.ENCRYPTION_TYPES_SERVER","Value":"AES256,AES192,DES"}],"OptionName":"NATIVE_NETWORK_ENCRYPTION"}]' \
    --apply-immediately
```
針對 Windows：  

```
aws rds add-option-to-option-group ^
    --option-group-name testoptiongroup ^
    --options "OptionSettings"=[{"Name"="SQLNET.ENCRYPTION_SERVER","Value"="REQUIRED"},{"Name"="SQLNET.ENCRYPTION_TYPES_SERVER","Value"="AES256\,AES192\,DES"}],"OptionName"="NATIVE_NETWORK_ENCRYPTION" ^
    --apply-immediately
```
命令結果類似以下所示：  

```
...{
    "OptionName": "NATIVE_NETWORK_ENCRYPTION",
    "OptionDescription": "Native Network Encryption",
    "Persistent": false,
    "Permanent": false,
    "OptionSettings": [
        {
            "Name": "SQLNET.ENCRYPTION_TYPES_SERVER",
             "Value": "AES256,AES192,DES",
            "DefaultValue": "RC4_256,AES256,AES192,3DES168,RC4_128,AES128,3DES112,RC4_56,DES,RC4_40,DES40",
            "Description": "Specifies list of encryption algorithms in order of intended use",
            "ApplyType": "STATIC",
            "DataType": "STRING",
            "AllowedValues": "RC4_256,AES256,AES192,3DES168,RC4_128,AES128,3DES112,RC4_56,DES,RC4_40,DES40",
            "IsModifiable": true,
            "IsCollection": true
        },
        {
            "Name": "SQLNET.ENCRYPTION_SERVER",
            "Value": "REQUIRED",
            "DefaultValue": "REQUESTED",
            "Description": "Specifies the desired encryption behavior",
            "ApplyType": "STATIC",
            "DataType": "STRING",
            "AllowedValues": "ACCEPTED,REJECTED,REQUESTED,REQUIRED",
            "IsModifiable": true,
            "IsCollection": false
        },...
```

### RDS API
<a name="USER_WorkingWithOptionGroups.AddOptions.API"></a>

如要使用 Amazon RDS API 將選項新增至選項群組，請搭配您想新增的選項呼叫 [ModifyOptionGroup](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyOptionGroup.html) 操作。​ 若要在所有關聯的資料庫執行個體立即啟用新選項，請將 `ApplyImmediately` 參數納入並將其設為 `true`。依預設，選項將會在下一個維護時段為每個關聯的資料庫執行個體啟用。包含下列必要參數：
+ `OptionGroupName`

## 列出選項群組的選項和選項設定
<a name="USER_WorkingWithOptionGroups.ListOption"></a>

 您可列出選項群組所有的選項和選項設定。

### 主控台
<a name="USER_WorkingWithOptionGroups.ListOption.Console"></a>

您可用 AWS 管理主控台 列出選項群組所有的選項和選項設定。

**列出選項群組的選項和選項設定**

1. 登入 AWS 管理主控台，開啟位於 [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/) 的 Amazon RDS 主控台。

1. 在導覽窗格中，選擇 **Option groups** (選項群組)。

1. 選擇選項群組名稱以顯示其詳細資訊。將列出選項群組中的選項和選項設定。

### AWS CLI
<a name="USER_WorkingWithOptionGroups.ListOption.CLI"></a>

若要列出某一選項群組的選項和選項設定，請使用 AWS CLI [https://docs.aws.amazon.com/cli/latest/reference/rds/describe-option-groups.html](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-option-groups.html) 命令。指定您想要檢視其選項和設定的選項群組名稱。如果未指定選項群組名稱，將說明所有的選項群組。

**Example**  
下列範例列出所有選項群組的選項和選項設定。  

```
aws rds describe-option-groups
```

**Example**  
下列範例列出名稱為 `testoptiongroup` 的選項群組的選項和選項設定。  

```
aws rds describe-option-groups --option-group-name testoptiongroup
```

### RDS API
<a name="USER_WorkingWithOptionGroups.ListOption.API"></a>

若要列出某一選項群組的選項和選項設定，請使用 Amazon RDS API [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeOptionGroups.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeOptionGroups.html) 操作。指定您想要檢視其選項和設定的選項群組名稱。如果未指定選項群組名稱，將說明所有的選項群組。

## 修改選項設定
<a name="USER_WorkingWithOptionGroups.ModifyOption"></a>

新增有可修改之選項設定的選項後，您可隨時修改其設定。如果您變更選項群組中的選項或選項設定，這些變更將套用到與該選項群組關聯的所有資料庫執行個體。如需各種選項可用設定的詳細資訊，請參閱 [使用選項群組](#USER_WorkingWithOptionGroups)​ 中引擎的文件。

在兩種情況下必須立即套用選項群組變更：
+ 當您要新增一個新增或更新連接埠值的選項時 (例如 `OEM` 選項)。​ 
+ 使用包含連接埠值的選項新增或刪除選項群組時。

在這類情況下，請在主控台選擇 **Apply Immediately (立即套用)** 選項。或是您可以在使用 `--apply-immediately` 時納入 AWS CLI 選項，或在使用 RDS API 時將 `ApplyImmediately` 參數設定為 `true`。不包含連接埠值的選項可以立即套用，或在資料庫執行個體的下一次維護時段套用。

**注意**  
如果您指定安全群組，以作為選項群組中的選項值，您可以修改選項群組來管理安全群組。您無法藉由修改資料庫執行個體來變更或移除此安全群組。此外，安全群組不會顯示 AWS 管理主控台 或 AWS CLI 命令 `describe-db-instances` 之輸出的資料庫執行個體詳細資料中。

### 主控台
<a name="USER_WorkingWithOptionGroups.ModifyOption.Console"></a>

您可以使用 AWS 管理主控台 修改選項設定。

**使用主控台修改選項設定**

1. 登入 AWS 管理主控台，開啟位於 [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/) 的 Amazon RDS 主控台。

1. 在導覽窗格中，選擇 **Option groups** (選項群組)。

1. 選擇您要修改選項的選項群組，然後選擇 **Modify option (修改選項)**。

1. 在 **Modify option (修改選項)** 視窗的 **Installed Options (已安裝選項)** 中，選擇想要修改其設定的選項。依照您想要的進行變更。

1. 若要在新增選項時隨即啟用選項，請在 **Apply Immediately (立即套用)**​ 選擇 **​Yes (是)**。如果您選擇了 **No (不)** (預設)，選項將會在下一個維護時段為每個關聯的資料庫執行個體啟用。

1. 當您滿意設定後，選擇 **Modify Option (修改選項)**。

### AWS CLI
<a name="USER_WorkingWithOptionGroups.ModifyOption.CLI"></a>

若要修改選項設定，請搭配您想修改的選項群組和選項使用 AWS CLI [https://docs.aws.amazon.com/cli/latest/reference/rds/add-option-to-option-group.html](https://docs.aws.amazon.com/cli/latest/reference/rds/add-option-to-option-group.html) 命令。依預設，選項將會在下一個維護時段為每個關聯的資料庫執行個體啟用。若要將變更立即套用到所有關聯的資料庫執行個體，請將 `--apply-immediately` 參數納入。若要修改選項設定，請用 `--settings` 引數。

**Example**  
以下範例會修改 Oracle Enterprise Manager 資料庫控制 (OEM) 在名為 `testoptiongroup` 的選項群組中使用的連接埠並立即套用變更。  
針對 Linux、macOS 或 Unix：  

```
aws rds add-option-to-option-group \
    --option-group-name testoptiongroup \
    --options OptionName=OEM,Port=5432,DBSecurityGroupMemberships=default \
    --apply-immediately
```
針對 Windows：  

```
aws rds add-option-to-option-group ^
    --option-group-name testoptiongroup ^
    --options OptionName=OEM,Port=5432,DBSecurityGroupMemberships=default ^
    --apply-immediately
```
命令結果類似以下所示：  

```
OPTIONGROUP   False  oracle-ee  19  arn:aws:rds:us-east-1:1234567890:og:testoptiongroup   Test Option Group    testoptiongroup
OPTIONS Oracle 12c EM Express   OEM     False   False   5432
DBSECURITYGROUPMEMBERSHIPS   default  authorized
```

**Example**  
下列範例將會修改 Oracle 選項 `NATIVE_NETWORK_ENCRYPTION`，並變更選項設定。  
針對 Linux、macOS 或 Unix：  

```
aws rds add-option-to-option-group \
    --option-group-name testoptiongroup \
    --options '[{"OptionSettings":[{"Name":"SQLNET.ENCRYPTION_SERVER","Value":"REQUIRED"},{"Name":"SQLNET.ENCRYPTION_TYPES_SERVER","Value":"AES256,AES192,DES,RC4_256"}],"OptionName":"NATIVE_NETWORK_ENCRYPTION"}]' \
    --apply-immediately
```
針對 Windows：  

```
aws rds add-option-to-option-group ^
    --option-group-name testoptiongroup ^
    --options "OptionSettings"=[{"Name"="SQLNET.ENCRYPTION_SERVER","Value"="REQUIRED"},{"Name"="SQLNET.ENCRYPTION_TYPES_SERVER","Value"="AES256\,AES192\,DES\,RC4_256"}],"OptionName"="NATIVE_NETWORK_ENCRYPTION" ^
    --apply-immediately
```
命令結果類似以下所示：  

```
OPTIONGROUP   False  oracle-ee  19  arn:aws:rds:us-east-1:1234567890:og:testoptiongroup   Test Option Group    testoptiongroup                
OPTIONS Oracle Advanced Security - Native Network Encryption    NATIVE_NETWORK_ENCRYPTION       False   False
OPTIONSETTINGS  RC4_256,AES256,AES192,3DES168,RC4_128,AES128,3DES112,RC4_56,DES,RC4_40,DES40 STATIC  STRING  
   RC4_256,AES256,AES192,3DES168,RC4_128,AES128,3DES112,RC4_56,DES,RC4_40,DES40    Specifies list of encryption algorithms in order of intended use        
   True     True    SQLNET.ENCRYPTION_TYPES_SERVER  AES256,AES192,DES,RC4_256
OPTIONSETTINGS  ACCEPTED,REJECTED,REQUESTED,REQUIRED    STATIC  STRING  REQUESTED   Specifies the desired encryption behavior  False   True  SQLNET.ENCRYPTION_SERVER    REQUIRED
OPTIONSETTINGS  SHA1,MD5   STATIC  STRING  SHA1,MD5    Specifies list of checksumming algorithms in order of intended use      True    True    SQLNET.CRYPTO_CHECKSUM_TYPES_SERVER  SHA1,MD5
OPTIONSETTINGS  ACCEPTED,REJECTED,REQUESTED,REQUIRED  STATIC  STRING  REQUESTED     Specifies the desired data integrity behavior   False   True    SQLNET.CRYPTO_CHECKSUM_SERVER  REQUESTED
```

### RDS API
<a name="USER_WorkingWithOptionGroups.ModifyOption.API"></a>

若要修改選項設定，請搭配您想修改的選項群組和選項使用 Amazon RDS [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyOptionGroup.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyOptionGroup.html) API。依預設，選項將會在下一個維護時段為每個關聯的資料庫執行個體啟用。若要將變更立即套用到所有關聯的資料庫執行個體，請將 `ApplyImmediately` 參數納入並將其設為 `true`。

## 從選項群組移除選項
<a name="USER_WorkingWithOptionGroups.RemoveOption"></a>

有些選項可從選項群組中移除，但有些不行。像是持續選項便無法從選項群組中移除，除非與該選項群組關聯的所有資料庫執行個體取消關聯。永久選項則絕不可能從選項群組中移除。如需可移除選項的詳細資訊，請參閱在 [使用選項群組](#USER_WorkingWithOptionGroups)​ 中列出的特定引擎文件。

如果移除選項群組中的所有選項，Amazon RDS 也不會刪除選項群組。與空白選項群組相關聯的資料庫執行個體會繼續與其關聯；只不過沒有任何作用中的選項。或者，若要從資料庫執行個體移除所有選項，您可將資料庫執行個體與預設 (空白) 選項群組關聯。

### 主控台
<a name="USER_WorkingWithOptionGroups.RemoveOption.Console"></a>

您可以使用 AWS 管理主控台 從選項群組移除選項。

**使用主控台從選項群組移除選項**

1. 登入 AWS 管理主控台，開啟位於 [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/) 的 Amazon RDS 主控台。

1. 在導覽窗格中，選擇 **Option groups** (選項群組)。

1. 選擇您要移除選項的選項群組，然後選擇 **Delete option (刪除選項)**。

1. 在 **Delete option (刪除選項)** 視窗中，執行下列作業：
   +  選擇您要刪除的選項的核取方塊。
   + 若要在刪除後立即生效，請在 **Apply immediately (立即套用)** 中選擇 **Yes (是)**。如果您選擇了 **No (不)** (預設)，選項將會在下一個維護時段為每個關聯的資料庫執行個體刪除。  
![\[刪除選項群組\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/images/optiongroup-removeoption2.png)

1. 當您滿意設定後，請選擇 **Yes, Delete (是，刪除)**。

### AWS CLI
<a name="USER_WorkingWithOptionGroups.RemoveOption.CLI"></a>

若要從選項群組移除選項，請搭配您想刪除的選項使用 AWS CLI [https://docs.aws.amazon.com/cli/latest/reference/rds/remove-option-from-option-group.html](https://docs.aws.amazon.com/cli/latest/reference/rds/remove-option-from-option-group.html) 命令。依預設，選項將會在下一個維護時段從每個關聯的資料庫執行個體中移除。若要立即套用變更，請納入 `--apply-immediately` 參數。

**Example**  
以下範例會將 Oracle Enterprise Manager 資料庫控制 (OEM) 選項從名為 `testoptiongroup` 的選項群組中移除並立即套用變更。  
針對 Linux、macOS 或 Unix：  

```
  
aws rds remove-option-from-option-group \
    --option-group-name testoptiongroup \
    --options OEM \
    --apply-immediately
```
針對 Windows：  

```
aws rds remove-option-from-option-group ^
    --option-group-name testoptiongroup ^
    --options OEM ^
    --apply-immediately
```
命令結果類似以下所示：  

```
OPTIONGROUP    testoptiongroup oracle-ee   19    Test option group
```

### RDS API
<a name="USER_WorkingWithOptionGroups.RemoveOption.API"></a>

若要從選項群組移除選項，請使用 Amazon RDS API [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyOptionGroup.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyOptionGroup.html) 動作。依預設，選項將會在下一個維護時段從每個關聯的資料庫執行個體中移除。若要立即套用變更，請納入 `ApplyImmediately` 參數並將其設為 `true`。

包含以下參數：
+ `OptionGroupName`
+ `OptionsToRemove.OptionName`

## 刪除選項群組
<a name="USER_WorkingWithOptionGroups.Delete"></a>

只有在選項群組符合下列條件時，您才能將其刪除：
+ 與任何 Amazon RDS 資源都沒有關聯。選項群組可與資料庫執行個體、手動資料庫快照，或是自動資料庫快照建立關聯。
+ 它不是預設選項群組。

若要識別資料庫執行個體和資料庫快照所使用的選項群組，您可以使用下列 CLI 命令：

```
aws rds describe-db-instances \
    --query 'DBInstances[*].[DBInstanceIdentifier,OptionGroupMemberships[].OptionGroupName]'

aws rds describe-db-snapshots | jq -r '.DBSnapshots[] | "\(.DBInstanceIdentifier),\(.OptionGroupName)"' | sort | uniq
```

若您嘗試刪除與 RDS 資源建立相關聯的選項群組，就會傳回如下的錯誤。

```
An error occurred (InvalidOptionGroupStateFault) when calling the DeleteOptionGroup operation: The option group 'optionGroupName' cannot be deleted because it is in use.            
```

**找出與選項群組具有關聯的 Amazon RDS 資源**

1. 登入 AWS 管理主控台，開啟位於 [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/) 的 Amazon RDS 主控台。

1. 在導覽窗格中，選擇 **Option groups** (選項群組)。

1. 選擇選項群組名稱以顯示其詳細資訊。

1. 查看 **Associated Instances and Snapshots (關聯執行個體及快照)** 區段，找出具有關聯的 Amazon RDS 資源。

若資料庫執行個體與選項群組具有關聯，請修改資料庫執行個體使用不同的選項群組。如需詳細資訊，請參閱 [修改 Amazon RDS 資料庫執行個體](Overview.DBInstance.Modifying.md)。

如果手動資料庫快照與選項群組有關聯，請修改資料庫快照，使用不同的選項群組。您可以使用 AWS CLI [https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-snapshot.html](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-snapshot.html) 命令來這麼做。

**注意**  
您無法修改自動資料庫快照的選項群組。

### 主控台
<a name="USER_WorkingWithOptionGroups.Delete.Console"></a>

 刪除選項群組的方法之一是使用 AWS 管理主控台。

**使用主控台刪除選項群組**

1. 登入 AWS 管理主控台，開啟位於 [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/) 的 Amazon RDS 主控台。

1. 在導覽窗格中，選擇 **Option groups** (選項群組)。

1. 選擇選項群組。

1. 選擇 **Delete group (刪除群組)**。

1. 請在確認頁面選擇 **Delete (刪除)** 以完成刪除選項群組，或選擇 **Cancel (取消)** 以取消刪除。

### AWS CLI
<a name="USER_WorkingWithOptionGroups.Delete.CLI"></a>

若要刪除選項群組，請使用 AWS CLI [https://docs.aws.amazon.com/cli/latest/reference/rds/delete-option-group.html](https://docs.aws.amazon.com/cli/latest/reference/rds/delete-option-group.html) 命令並搭配下列必要參數。
+ `--option-group-name`

**Example**  
下列範例會刪除名為 `testoptiongroup` 的選項群組。  
針對 Linux、macOS 或 Unix：  

```
       
aws rds delete-option-group \
    --option-group-name testoptiongroup
```
針對 Windows：  

```
aws rds delete-option-group ^
    --option-group-name testoptiongroup
```

### RDS API
<a name="USER_WorkingWithOptionGroups.Delete.API"></a>

如要刪除選項群組，請呼叫 Amazon RDS​ API [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DeleteOptionGroup.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DeleteOptionGroup.html)​ 操作。請納入下列參數：
+ `OptionGroupName`

# Amazon RDS 的參數群組
<a name="USER_WorkingWithParamGroups"></a>

*資料庫參數*指定資料庫的配置方式。例如，資料庫參數可以指定要配置給資料庫的資源量 (例如記憶體)。

您可利用參數群組建立資料庫執行個體和多可用區域資料庫叢集的關聯性，以此管理資料庫組態。Amazon RDS 使用預設設定來定義參數群組。您也可以使用自訂設定，定義自己的參數群組。

**注意**  
某些資料庫引擎提供附加功能，您可將其作為選項群組中的選項新增至您的資料庫。如需選項群組的詳細資訊，請參閱 [使用選項群組](USER_WorkingWithOptionGroups.md)。

**Topics**
+ [參數群組概觀](parameter-groups-overview.md)
+ [Amazon RDS 資料庫執行個體的資料庫參數群組](USER_WorkingWithDBInstanceParamGroups.md)
+ [使用多可用區域資料庫叢集的資料庫叢集參數群組](USER_WorkingWithDBClusterParamGroups.md)
+ [比較資料庫參數群組](USER_WorkingWithParamGroups.Comparing.md)
+ [指定資料庫參數](USER_ParamValuesRef.md)

# 參數群組概觀
<a name="parameter-groups-overview"></a>

*資料庫參數群組*扮演引擎組態值的容器，以套用至一或多個資料庫執行個體。

*資料庫叢集參數群組*僅適用於多可用區域資料庫叢集。在多可用區域資料庫叢集中，資料庫叢集參數群組中的設定會套用至叢集中的所有資料庫執行個體。資料庫引擎和資料庫引擎版本的預設資料庫參數群組會用於資料庫叢集中的每個資料庫執行個體。

**Topics**
+ [預設和自訂參數群組](#parameter-groups-overview.custom)
+ [靜態和動態資料庫執行個體參數](#parameter-groups-overview.db-instance)
+ [靜態和動態資料庫叢集參數](#parameter-groups-overview.maz)
+ [字元集參數](#parameter-groups-overview.char-sets)
+ [支援的參數和參數值](#parameter-groups-overview.supported)

## 預設和自訂參數群組
<a name="parameter-groups-overview.custom"></a>

如果建立的資料庫執行個體未指定資料庫參數群組，則會使用預設的資料庫參數群組。同樣地，如果您建立多可用區域資料庫叢集，而未指定資料庫叢集參數群組，資料庫叢集將使用預設的資料庫叢集參數群組。每個預設的參數群組將依引擎、運算等級和執行個體分配儲存包含資料庫引擎預設值和 Amazon RDS 系統預設值。

您無法修改預設參數群組的參數設定。相反地，您可以執行下列作業：

1. 建立新的參數群組。

1. 變更所需參數的設定。並非參數群組中的所有資料庫引擎參數都有資格進行修改。

1. 然後修改資料庫執行個體或資料庫叢集，以與新的參數群組建立關聯。

   將新的資料庫參數群組與資料庫執行個體建立關聯時，會立即發生關聯。如需修改資料庫執行個體的相關資訊，請參閱 [修改 Amazon RDS 資料庫執行個體](Overview.DBInstance.Modifying.md)。如需修改多可用區域資料庫叢集的詳細資訊，請參閱 [使用 Amazon RDS 修改多可用區域資料庫叢集](modify-multi-az-db-cluster.md)。
**注意**  
如果您已將資料庫執行個體修改為使用自訂參數群組，並啟動資料庫執行個體，RDS 會在啟動過程中自動重新啟動資料庫執行個體。對於已啟用 AlwaysOn 或鏡像選項的 RDS for SQL Server 多可用區執行個體，在啟動程序後將執行個體重新開機時，預期會發生容錯移轉。

只有在將資料庫執行個體重新開機之後，RDS 才會在新關聯的參數群組中套用已修改的靜態參數和動態參數。不過，如果您在將資料庫參數群組與資料庫執行個體建立關聯之後修改該群組中的動態參數，則會立即套用這些變更，而不需重新開機。如需變更資料庫叢集參數群組的詳細資訊，請參閱 [修改 Amazon RDS 資料庫執行個體](Overview.DBInstance.Modifying.md)。

如果您在資料庫參數群組內更新參數，變更會應用到所有和參數群組建立連結的資料庫執行個體。同樣地，如果您在多可用區域資料庫叢集參數群組內更新參數，變更會套用到所有與資料庫叢集參數群組相關聯的 Aurora 資料庫叢集。

如果您不想從頭開始建立參數群組，您可以使用 AWS CLI [copy-db-parameter-group](https://docs.aws.amazon.com/cli/latest/reference/rds/copy-db-parameter-group.html) 命令或 [copy-db-cluster-parameter-group](https://docs.aws.amazon.com/cli/latest/reference/rds/copy-db-cluster-parameter-group.html) 命令複製現有的參數群組。在某些情況下，您可能會發現複製參數群組很有用。例如，您可能想要將其大部份現有資料庫參數群組的自訂參數及值併入新的資料庫參數群組。

## 靜態和動態資料庫執行個體參數
<a name="parameter-groups-overview.db-instance"></a>

資料庫執行個體參數可為靜態或動態。它們不同之處如下：
+ 當您變更靜態參數並儲存資料庫參數群組時，參數變更會在您手動重新啟動相關聯的資料庫執行個體後生效。若為靜態參數，主控台一律將 `pending-reboot` 用於 `ApplyMethod`。
+ 變更動態參數時，參數變更預設會立即生效，無需重新啟動。當您使用 AWS 管理主控台 變更資料庫執行個體參數值時，一律會將 `immediate`用於`ApplyMethod`動態參數。若要將參數變更延遲到重新啟動相關聯的資料庫執行個體之後，請使用 AWS CLI 或 RDS API。將 `ApplyMethod` 設定為 `pending-reboot` 以進行參數變更。
**注意**  
在 中使用 `pending-reboot`搭配動態參數， AWS CLI 或在 RDS for SQL Server 資料庫執行個體上使用 RDS API 會產生錯誤。在 RDS for SQL Server 上使用 `apply-immediately`。

如需使用 AWS CLI 變更參數值的詳細資訊，請參閱 [modify-db-parameter-group](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-parameter-group.html)。如需使用 RDS API 來變更參數值的更多資訊，請參閱 [ModifyDBParameterGroup](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBParameterGroup.html)。

如果資料庫執行個體未在其相關聯的資料庫參數群組中使用最新的變更，主控台會將資料庫參數群組的狀態顯示為 **pending-reboot**。此狀態不會在下一個維護時段期間造成自動重新啟動。如欲對該資料庫執行個體套用最新參數變更，請手動重新啟動資料庫執行個體。

## 靜態和動態資料庫叢集參數
<a name="parameter-groups-overview.maz"></a>

資料庫叢集參數可為靜態或動態。它們不同之處如下：
+ 當您變更靜態參數並儲存資料庫叢集參數群組時，參數變更會在您手動重新啟動相關聯的資料庫叢集後生效。若為靜態參數，主控台一律將 `pending-reboot` 用於 `ApplyMethod`。
+ 變更動態參數時，參數變更預設會立即生效，無需重新啟動。當您使用 AWS 管理主控台 變更資料庫叢集參數值時，一律會將 `immediate`用於`ApplyMethod`動態參數。若要將參數變更延遲到重新啟動關聯的資料庫叢集之後，請使用 AWS CLI 或 RDS API。將 `ApplyMethod` 設定為 `pending-reboot` 以進行參數變更。

如需使用 AWS CLI 變更參數值的詳細資訊，請參閱 [modify-db-cluster-parameter-group](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-cluster-parameter-group.html)。如需使用 RDS API 來變更參數值的更多資訊，請參閱 [ModifyDBClusterParameterGroup](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBClusterParameterGroup.html)。

## 字元集參數
<a name="parameter-groups-overview.char-sets"></a>

在建立資料庫執行個體或多可用區域資料庫叢集之前，先在參數群組中設定與字元集或資料庫定序相關的任何參數。也會在其中建立資料庫之前這樣做。透過此方式，您可以確保預設資料庫和新資料庫皆使用您指定的字元集和定序值。如果您變更字元集和定序參數，參數變更將不會套用到現有資料庫。

針對部分資料庫引擎，您可以使用 `ALTER DATABASE` 命令變更現有資料庫的字元集或定序值，例如：

```
ALTER DATABASE database_name CHARACTER SET character_set_name COLLATE collation;
```

如需變更資料庫的字元集或定序值的詳細資訊，請參閱適用於您資料庫引擎的文件。

## 支援的參數和參數值
<a name="parameter-groups-overview.supported"></a>

若要判斷資料庫引擎的支援參數，您可以檢視資料庫執行個體或資料庫叢集所使用的資料庫參數群組和資料庫叢集參數群組中的參數。如需詳細資訊，請參閱[在 Amazon RDS 中檢視資料庫參數群組的參數值](USER_WorkingWithParamGroups.Viewing.md)及[在 檢視資料庫叢集參數群組的參數值](USER_WorkingWithParamGroups.ViewingCluster.md)。

在許多情況下，您可使用運算式、公式和函數來指定整數及布林值參數。函數可包含數學的對數表達式。但是，並非所有參數都支援參數值的表達式、公式和函數。如需詳細資訊，請參閱[指定資料庫參數](USER_ParamValuesRef.md)。

未正確設定參數群組中的參數，可能產生各種意外影響，包括效能降低和系統不穩定。修改資料庫參數時請務必謹慎，在修改參數群組之前，請備份資料。在將這些參數群組變更套用到生產資料庫執行個體或資料庫叢集之前，請在測試資料庫執行個體或資料庫叢集上嘗試參數群組設定變更。

# Amazon RDS 資料庫執行個體的資料庫參數群組
<a name="USER_WorkingWithDBInstanceParamGroups"></a>

資料庫執行個體會使用資料庫參數群組。以下各節介紹資料庫執行個體參數群組的設定和管理。

**Topics**
+ [在 Amazon RDS 中建立資料庫參數群組](USER_WorkingWithParamGroups.Creating.md)
+ [將資料庫參數群組與 Amazon RDS 中的資料庫執行個體建立關聯](USER_WorkingWithParamGroups.Associating.md)
+ [修改 Amazon RDS 中的資料庫參數群組中的參數](USER_WorkingWithParamGroups.Modifying.md)
+ [在 Amazon RDS 中將資料庫參數群組中的參數重設為預設值](USER_WorkingWithParamGroups.Resetting.md)
+ [在 Amazon RDS 中複製資料庫參數群組](USER_WorkingWithParamGroups.Copying.md)
+ [列出 Amazon RDS 中的資料庫參數群組](USER_WorkingWithParamGroups.Listing.md)
+ [在 Amazon RDS 中檢視資料庫參數群組的參數值](USER_WorkingWithParamGroups.Viewing.md)
+ [在 Amazon RDS 中刪除資料庫參數群組](USER_WorkingWithParamGroups.Deleting.md)

# 在 Amazon RDS 中建立資料庫參數群組
<a name="USER_WorkingWithParamGroups.Creating"></a>

您可以使用 AWS 管理主控台、 AWS CLI或 RDS API 建立新的資料庫參數群組。

下列限制適用於資料庫參數群組名稱：
+ 名稱必須為 1 到 255 個字母、數字或連字號。

  預設參數群組名稱可以包括句點，例如 `default.mysql8.0`。不過，自訂參數群組名稱不能包括句點。
+ 第一個字元必須是字母。
+ 名稱不能以連字號結尾或包含兩個連續連字號。

## 主控台
<a name="USER_WorkingWithParamGroups.Creating.CON"></a>

**建立資料庫參數群組**

1. 登入 AWS 管理主控台 並開啟位於 https：//[https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/) 的 Amazon RDS 主控台。

1. 在導覽窗格中，選擇 **Parameter groups** (參數群組)。

1. 選擇 **Create parameter group (建立參數群組)**。

1. 對於**參數群組名稱**，輸入新資料庫參數群組的名稱。

1. 對於**描述**，輸入新資料庫參數群組的描述。

1. 針對**引擎類型**，選擇您的資料庫引擎。

1. 對於**參數群組系列**，選擇資料庫參數群組系列。

1. 對於**類型** (如果適用)，選擇**資料庫參數群組**。

1. 選擇**建立**。

## AWS CLI
<a name="USER_WorkingWithParamGroups.Creating.CLI"></a>

若要建立資料庫參數群組，請使用 AWS CLI [https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-parameter-group.html](https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-parameter-group.html) 命令。下列範例將為 MySQL 8.0 版建立一個名為 *mydbparametergroup* 的資料庫參數群組，其說明為「*My new parameter group* (我的新參數群組)」。

包含下列必要參數：
+ `--db-parameter-group-name`
+ `--db-parameter-group-family`
+ `--description`

若要列出所有可用的參數群組系列，請使用下列命令：

```
aws rds describe-db-engine-versions --query "DBEngineVersions[].DBParameterGroupFamily"
```

**注意**  
輸出包含重覆項目。

**Example**  
針對 Linux、macOS 或 Unix：  

```
aws rds create-db-parameter-group \
    --db-parameter-group-name mydbparametergroup \
    --db-parameter-group-family MySQL8.0 \
    --description "My new parameter group"
```
在 Windows 中：  

```
aws rds create-db-parameter-group ^
    --db-parameter-group-name mydbparametergroup ^
    --db-parameter-group-family MySQL8.0 ^
    --description "My new parameter group"
```
此命令會產生類似下列的輸出：  

```
DBPARAMETERGROUP  mydbparametergroup  mysql8.0  My new parameter group
```

## RDS API
<a name="USER_WorkingWithParamGroups.Creating.API"></a>

若要建立資料庫參數群組，請使用 RDS API [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBParameterGroup.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBParameterGroup.html) 操作。

包含下列必要參數：
+ `DBParameterGroupName`
+ `DBParameterGroupFamily`
+ `Description`

# 將資料庫參數群組與 Amazon RDS 中的資料庫執行個體建立關聯
<a name="USER_WorkingWithParamGroups.Associating"></a>

您可以使用自訂設定，建立自己的資料庫參數群組。您可以使用 AWS 管理主控台 AWS CLI、 或 RDS API，將資料庫參數群組與資料庫執行個體建立關聯。您可以在建立或修改資料庫執行個體時執行此動作。

如需建立資料庫參數群組的資訊，請參閱[在 Amazon RDS 中建立資料庫參數群組](USER_WorkingWithParamGroups.Creating.md)。如需建立資料庫執行個體的相關資訊，請參閱 [建立 Amazon RDS 資料庫執行個體](USER_CreateDBInstance.md)。如需修改資料庫執行個體的相關資訊，請參閱 [修改 Amazon RDS 資料庫執行個體](Overview.DBInstance.Modifying.md)。

**注意**  
當您建立新資料庫參數群組與資料庫執行個體的關聯時，只有在資料庫執行個體重新開機之後，才會套用修改過的靜態參數和動態參數。不過，如果您在將資料庫參數群組與資料庫執行個體建立關聯之後修改該群組中的動態參數，則會立即套用這些變更，而不需重新開機。

## 主控台
<a name="USER_WorkingWithParamGroups.Associating.CON"></a>

**將資料庫參數群組與資料庫執行個體建立關聯**

1. 登入 AWS 管理主控台 ，並在 [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)：// 開啟 Amazon RDS 主控台。

1. 在導覽窗格中選擇 **Databases** (資料庫)，然後選擇您要修改的資料庫執行個體。

1. 選擇 **Modify (修改)**。**Modify DB instance (修改資料庫執行個體)** 頁面隨即出現。

1. 變更 **DB parameter group** (資料庫參數群組) 設定。

1. 選擇 **Continue (繼續)**，並檢查修改的摘要。

1. (選用) 選擇 **Apply immediately (立即套用)** 以立即套用變更。在某些情況下，選擇此選項會導致停機。如需詳細資訊，請參閱 [使用排程修改設定](USER_ModifyInstance.ApplyImmediately.md)。

1. 在確認頁面上，檢閱您的變更。如果都正確，請選擇 **Modify DB instance** (修改資料庫執行個體) 以儲存您的變更。

   或者，選擇 **Back (上一步)** 以編輯變更，或是選擇 **Cancel (取消)** 以取消變更。

## AWS CLI
<a name="USER_WorkingWithParamGroups.Associating.CLI"></a>

若要將資料庫參數群組與資料庫執行個體建立關聯，請使用 AWS CLI [https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html)命令搭配下列選項：
+ `--db-instance-identifier`
+ `--db-parameter-group-name`

下面的範例將 `mydbpg` 資料庫參數群組與 `database-1` 資料庫執行個體建立關聯。透過 `--apply-immediately`，即可立即套用變更。使用 `--no-apply-immediately` 在下次維護時段套用變更。如需詳細資訊，請參閱 [使用排程修改設定](USER_ModifyInstance.ApplyImmediately.md)。

**Example**  
在 Linux、macOS 或 Unix 中：  

```
aws rds modify-db-instance \
    --db-instance-identifier database-1 \
    --db-parameter-group-name mydbpg \
    --apply-immediately
```
在 Windows 中：  

```
aws rds modify-db-instance ^
    --db-instance-identifier database-1 ^
    --db-parameter-group-name mydbpg ^
    --apply-immediately
```

## RDS API
<a name="USER_WorkingWithParamGroups.Associating.API"></a>

若要將資料庫參數群組與資料庫執行個體建立關聯，請使用 RDS API [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBInstance.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBInstance.html) 操作搭配下列參數：
+ `DBInstanceName`
+ `DBParameterGroupName`

# 修改 Amazon RDS 中的資料庫參數群組中的參數
<a name="USER_WorkingWithParamGroups.Modifying"></a>

您可修改客戶建立的資料庫參數群組中的參數值；但無法變更預設資料庫參數群組中的參數值。客戶建立的資料庫參數群組中的參數變更會套用到與該資料庫參數群組關聯的所有資料庫執行個體。

有兩種類型的參數：動態參數和靜態參數。動態參數的變更會立即套用至資料庫執行個體，而不會重新啟動。靜態參數的變更只會在資料庫執行個體重新啟動後套用。

RDS 主控台會在 **Configuration (組態)** 標籤上，顯示與資料庫執行個體相關聯的資料庫參數群組的狀態。例如，假如資料庫執行個體未在其關聯的資料庫參數群組中使用最新的變更，RDS 主控台將顯示資料庫參數群組的狀態為 **pending-reboot (等待重新啟動)**。如欲對該資料庫執行個體套用最新參數變更，請手動重新啟動資料庫執行個體。

![\[參數變更擱置中重新啟動的案例\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/images/param-reboot.png)


## 主控台
<a name="USER_WorkingWithParamGroups.Modifying.CON"></a>

**修改資料庫參數群組中的參數**

1. 登入 AWS 管理主控台 並開啟位於 https：//[https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/) 的 Amazon RDS 主控台。

1. 在導覽窗格中，選擇 **Parameter groups** (參數群組)。

1. 在清單中，選擇您要修改的參數群組的名稱。

1. 針對 **Parameter group actions (參數群組動作)**，選擇 **Edit (編輯)**。

1. 變更您要修改的參數值。您可用對話方塊右上角的箭頭鍵來捲動參數。

   您無法變更預設參數群組中的值。

1. 選擇**儲存變更**。

## AWS CLI
<a name="USER_WorkingWithParamGroups.Modifying.CLI"></a>

若要修改資料庫參數群組，請使用 AWS CLI [https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-parameter-group.html](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-parameter-group.html) 命令搭配下列必要選項：
+ `--db-parameter-group-name`
+ `--parameters`

以下範例將修改名稱為 *mydbparametergroup*​ 的資料庫參數群組的 ` max_connections` 和 `max_allowed_packet` 值。

**Example**  
對於 Linux、macOS 或 Unix：  

```
aws rds modify-db-parameter-group \
    --db-parameter-group-name mydbparametergroup \
    --parameters "ParameterName=max_connections,ParameterValue=250,ApplyMethod=immediate" \
                 "ParameterName=max_allowed_packet,ParameterValue=1024,ApplyMethod=immediate"
```
在 Windows 中：  

```
aws rds modify-db-parameter-group ^
    --db-parameter-group-name mydbparametergroup ^
    --parameters "ParameterName=max_connections,ParameterValue=250,ApplyMethod=immediate" ^
                 "ParameterName=max_allowed_packet,ParameterValue=1024,ApplyMethod=immediate"
```
該命令會產生類似以下的輸出：  

```
DBPARAMETERGROUP  mydbparametergroup
```

## RDS API
<a name="USER_WorkingWithParamGroups.Modifying.API"></a>

若要修改資料庫參數群組，請使用 RDS API [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBParameterGroup.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBParameterGroup.html) 操作，並搭配下列必要參數：
+ `DBParameterGroupName`
+ `Parameters`

# 在 Amazon RDS 中將資料庫參數群組中的參數重設為預設值
<a name="USER_WorkingWithParamGroups.Resetting"></a>

您可以將客戶建立的資料庫參數群組中的參數值重設為其預設值。客戶建立的資料庫參數群組中的參數變更會套用到與該資料庫參數群組關聯的所有資料庫執行個體。

使用主控台時，您可以將特定參數重設為其預設值。不過，您無法輕易地一次重設資料庫參數群組中的所有參數。當您使用 AWS CLI 或 RDS API 時，您可以將特定參數重設為其預設值。您也可以一次重設資料庫參數群組中的所有參數。

某些參數的變更會立即套用到資料庫執行個體，而不需要重新啟動。其他參數的變更只有在資料庫執行個體重新啟動之後才會套用。RDS 主控台會在 **Configuration (組態)** 標籤上，顯示與資料庫執行個體相關聯的資料庫參數群組的狀態。例如，假設資料庫執行個體未使用其相關聯之資料庫參數群組的最新變更。若是如此，RDS 主控台會顯示狀態為 **pending-reboot** 的資料庫參數群組。如欲對該資料庫執行個體套用最新參數變更，請手動重新啟動資料庫執行個體。

![\[參數變更擱置中重新啟動的案例\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/images/param-reboot.png)


**注意**  
在預設資料庫參數群組中，參數始終設定為其預設值。

## 主控台
<a name="USER_WorkingWithParamGroups.Resetting.CON"></a>

**將資料庫參數群組中的參數重設為其預設值**

1. 登入 AWS 管理主控台 ，並在 [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)：// 開啟 Amazon RDS 主控台。

1. 在導覽窗格中，選擇 **Parameter groups (參數群組)**。

1. 在清單中，選擇參數群組。

1. 針對 **Parameter group actions (參數群組動作)**，選擇 **Edit (編輯)**。

1. 選擇您要重設為預設值的參數。您可用對話方塊右上角的箭頭鍵來捲動參數。

   您無法重設預設參數群組中的值。

1. 選擇「**Reset (重設) **」，然後選擇「**Reset parameters (重設參數) **」來確認。

## AWS CLI
<a name="USER_WorkingWithParamGroups.Resetting.CLI"></a>

若要重設資料庫參數群組中的部分或全部參數，請使用 AWS CLI [https://docs.aws.amazon.com/cli/latest/reference/rds/reset-db-parameter-group.html](https://docs.aws.amazon.com/cli/latest/reference/rds/reset-db-parameter-group.html)命令搭配下列必要選項：`--db-parameter-group-name`。

若要重設資料庫參數群組中的所有參數，請指定 `--reset-all-parameters` 選項。若要重設特定參數，請指定 `--parameters` 選項。

下列範例會將資料庫參數群組中所有名為 *mydbparametergroup* 的參數重設為其預設值。

**Example**  
對於 Linux、macOS 或 Unix：  

```
aws rds reset-db-parameter-group \
    --db-parameter-group-name mydbparametergroup \
    --reset-all-parameters
```
在 Windows 中：  

```
aws rds reset-db-parameter-group ^
    --db-parameter-group-name mydbparametergroup ^
    --reset-all-parameters
```

下列範例會在名為 *mydbparametergroup* 的資料庫參數群組中，將 `max_connections` 與 `max_allowed_packet` 選項重設為其預設值。

**Example**  
對於 Linux、macOS 或 Unix：  

```
aws rds reset-db-parameter-group \
    --db-parameter-group-name mydbparametergroup \
    --parameters "ParameterName=max_connections,ApplyMethod=immediate" \
                 "ParameterName=max_allowed_packet,ApplyMethod=immediate"
```
在 Windows 中：  

```
aws rds reset-db-parameter-group ^
    --db-parameter-group-name mydbparametergroup ^
    --parameters "ParameterName=max_connections,ApplyMethod=immediate" ^
                 "ParameterName=max_allowed_packet,ApplyMethod=immediate"
```
該命令會產生類似以下的輸出：  

```
DBParameterGroupName  mydbparametergroup
```

## RDS API
<a name="USER_WorkingWithParamGroups.Resetting.API"></a>

若要將資料庫參數群組中的參數重設為其預設值，請使用 RDS API [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ResetDBParameterGroup.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ResetDBParameterGroup.html) 命令與下列必要參數：`DBParameterGroupName`。

若要重設資料庫參數群組中的所有參數，請將 `ResetAllParameters` 參數設定為 `true`。若要重設特定參數，請指定 `Parameters` 參數。

# 在 Amazon RDS 中複製資料庫參數群組
<a name="USER_WorkingWithParamGroups.Copying"></a>

您可複製所建立的自訂資料庫參數群組。複製參數群組可以是便利的解決方案。範例是在您已建立資料庫參數群組，並希望將其大部份的自訂參數及值併入新的資料庫參數群組時。您可以使用 複製資料庫參數群組 AWS 管理主控台。您也可以使用 AWS CLI [copy-db-parameter-group](https://docs.aws.amazon.com/cli/latest/reference/rds/copy-db-parameter-group.html) 命令或 RDS API [CopyDBParameterGroup](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CopyDBParameterGroup.html) 操作。

複製資料庫參數群組後，請等待至少 5 分鐘，然後再建立第一個使用該資料庫參數群組做為預設參數群組的資料庫執行個體。執行此動作允許 Amazon RDS 在使用參數群組前，完整完成複製動作。這對建立資料庫執行個體預設資料庫時的關鍵參數尤其重要。例如 `character_set_database` 參數定義的預設資料庫字元集。請使用 [Amazon RDS 主控台](https://console.aws.amazon.com/rds/)的 **Parameter Groups (參數群組)** 選項或 [describe-db-parameters](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-parameters.html) 命令確認是否已建立資料庫參數群組。

**注意**  
您無法複製預設參數群組。但您可以依照預設參數群組建立新的參數群組。  
您無法將資料庫參數群組複製到不同的 AWS 帳戶 或 AWS 區域。

## 主控台
<a name="USER_WorkingWithParamGroups.Copying.CON"></a>

**複製資料庫參數群組**

1. 登入 AWS 管理主控台 ，並在 [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)：// 開啟 Amazon RDS 主控台。

1. 在導覽窗格中，選擇 **Parameter groups (參數群組)**。

1. 在清單中，選擇您要複製的自訂參數群組。

1. 針對 **Parameter group actions (參數群組動作)**，選擇 **Copy (複製)**。

1. 在 **New DB parameter group identifier (新資料庫參數群組識別符)** 中，輸入新參數群組的名稱。

1. 在 **Description (描述)** 中，輸入新參數群組的描述。

1. 請選擇 **Copy (複製)**。

## AWS CLI
<a name="USER_WorkingWithParamGroups.Copying.CLI"></a>

若要複製資料庫參數群組，請使用 AWS CLI [https://docs.aws.amazon.com/cli/latest/reference/rds/copy-db-parameter-group.html](https://docs.aws.amazon.com/cli/latest/reference/rds/copy-db-parameter-group.html) 命令搭配下列必要選項：
+ `--source-db-parameter-group-identifier`
+ `--target-db-parameter-group-identifier`
+ `--target-db-parameter-group-description`

以下範例會建立名為 `mygroup2` 的新資料庫參數群組，該群組為資料庫參數群組 `mygroup1` 的複本。

**Example**  
針對 Linux、macOS 或 Unix：  

```
aws rds copy-db-parameter-group \
    --source-db-parameter-group-identifier mygroup1 \
    --target-db-parameter-group-identifier mygroup2 \
    --target-db-parameter-group-description "DB parameter group 2"
```
在 Windows 中：  

```
aws rds copy-db-parameter-group ^
    --source-db-parameter-group-identifier mygroup1 ^
    --target-db-parameter-group-identifier mygroup2 ^
    --target-db-parameter-group-description "DB parameter group 2"
```

## RDS API
<a name="USER_WorkingWithParamGroups.Copying.API"></a>

若要複製資料庫參數群組，請使用 RDS API [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CopyDBParameterGroup.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CopyDBParameterGroup.html) 參數並搭配下列必要參數：
+ `SourceDBParameterGroupIdentifier`
+ `TargetDBParameterGroupIdentifier`
+ `TargetDBParameterGroupDescription`

# 列出 Amazon RDS 中的資料庫參數群組
<a name="USER_WorkingWithParamGroups.Listing"></a>

您可以列出您為 AWS 帳戶建立的資料庫參數群組。

**注意**  
當您為特定資料庫引擎和版本建立資料庫執行個體時，會從預設的參數範本自動建立預設的參數群組。這些預設參數群組包含偏好的參數設定，無法修改。當您建立自訂參數群組時，您可以修改參數設定。

## 主控台
<a name="USER_WorkingWithParamGroups.Listing.CON"></a>

**列出 AWS 帳戶的所有資料庫參數群組**

1. 登入 AWS 管理主控台 並開啟位於 https：//[https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/) 的 Amazon RDS 主控台。

1. 在導覽窗格中，選擇 **Parameter groups (參數群組)**。

   資料庫參數群組隨即會出現在清單中。

## AWS CLI
<a name="USER_WorkingWithParamGroups.Listing.CLI"></a>

若要列出 AWS 帳戶的所有資料庫參數群組，請使用 AWS CLI [https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-parameter-groups.html](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-parameter-groups.html) 命令。

**Example**  
以下範例列出 AWS 帳戶的所有可用資料庫參數群組。  

```
aws rds describe-db-parameter-groups
```
此命令會傳回類似以下的回應：  

```
DBPARAMETERGROUP  default.mysql8.0     mysql8.0  Default parameter group for MySQL8.0
DBPARAMETERGROUP  mydbparametergroup   mysql8.0  My new parameter group
```
以下範例說明 *mydbparamgroup1* 參數群組。  
針對 Linux、macOS 或 Unix：  

```
aws rds describe-db-parameter-groups \
    --db-parameter-group-name mydbparamgroup1
```
在 Windows 中：  

```
aws rds describe-db-parameter-groups ^
    --db-parameter-group-name mydbparamgroup1
```
此命令會傳回類似以下的回應：  

```
DBPARAMETERGROUP  mydbparametergroup1  mysql8.0  My new parameter group
```

## RDS API
<a name="USER_WorkingWithParamGroups.Listing.API"></a>

若要列出 AWS 帳戶的所有資料庫參數群組，請使用 RDS API [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBParameterGroups.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBParameterGroups.html)操作。

# 在 Amazon RDS 中檢視資料庫參數群組的參數值
<a name="USER_WorkingWithParamGroups.Viewing"></a>

您可以從資料庫參數群組取得所有參數與其值的清單。

## 主控台
<a name="USER_WorkingWithParamGroups.Viewing.CON"></a>

**檢視資料庫參數群組的參數值**

1. 登入 AWS 管理主控台 並開啟位於 https：//[https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/) 的 Amazon RDS 主控台。

1. 在導覽窗格中，選擇 **Parameter groups (參數群組)**。

   資料庫參數群組隨即會出現在清單中。

1. 選擇參數群組的名稱，以查看其參數清單。

## AWS CLI
<a name="USER_WorkingWithParamGroups.Viewing.CLI"></a>

若要檢視資料庫參數群組的參數值，請使用 AWS CLI [https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-parameters.html](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-parameters.html) 命令搭配下列必要參數。
+ `--db-parameter-group-name`

**Example**  
以下範例列出資料庫參數群組 *mydbparametergroup*​ 的參數和參數值。  

```
aws rds describe-db-parameters --db-parameter-group-name mydbparametergroup
```
此命令會傳回類似以下的回應：  

```
DBPARAMETER  Parameter Name            Parameter Value  Source           Data Type  Apply Type  Is Modifiable
DBPARAMETER  allow-suspicious-udfs                      engine-default   boolean    static      false
DBPARAMETER  auto_increment_increment                   engine-default   integer    dynamic     true
DBPARAMETER  auto_increment_offset                      engine-default   integer    dynamic     true
DBPARAMETER  binlog_cache_size         32768            system           integer    dynamic     true
DBPARAMETER  socket                    /tmp/mysql.sock  system           string     static      false
```

## RDS API
<a name="USER_WorkingWithParamGroups.Viewing.API"></a>

若要檢視資料庫參數群組的參數值，請搭配下列必要參數使用 RDS API [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBParameters.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBParameters.html) 命令。
+ `DBParameterGroupName`

# 在 Amazon RDS 中刪除資料庫參數群組
<a name="USER_WorkingWithParamGroups.Deleting"></a>

您可以使用 AWS 管理主控台 AWS CLI或 RDS API 刪除資料庫參數群組。參數群組只有在未與資料庫執行個體相關聯時，才符合刪除條件。

## 主控台
<a name="USER_WorkingWithParamGroups.Deleting.CON"></a>

**刪除資料庫參數群組**

1. 登入 AWS 管理主控台 並開啟位於 https：//[https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/) 的 Amazon RDS 主控台。

1. 在導覽窗格中，選擇 **Parameter groups (參數群組)**。

   資料庫參數群組隨即會出現在清單中。

1. 選擇要刪除的參數群組的名稱。

1. 選擇**動作**，然後選擇**刪除**。

1. 檢閱參數群組名稱，然後選擇**刪除**。

## AWS CLI
<a name="USER_WorkingWithParamGroups.Deleting.CLI"></a>

若要刪除資料庫參數群組，請使用 AWS CLI [https://docs.aws.amazon.com/cli/latest/reference/rds/delete-db-parameter-group.html](https://docs.aws.amazon.com/cli/latest/reference/rds/delete-db-parameter-group.html) 命令搭配下列必要參數。
+ `--db-parameter-group-name`

**Example**  
下列範例會刪除名為 *mydbparametergroup* 的資料庫參數群組。  

```
aws rds delete-db-parameter-group --db-parameter-group-name mydbparametergroup
```

## RDS API
<a name="USER_WorkingWithParamGroups.Deleting.API"></a>

若要刪除資料庫參數群組，請使用 RDS API [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DeleteDBParameterGroup.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DeleteDBParameterGroup.html) 命令搭配下列必要參數。
+ `DBParameterGroupName`

# 使用多可用區域資料庫叢集的資料庫叢集參數群組
<a name="USER_WorkingWithDBClusterParamGroups"></a>

多可用區域資料庫叢集使用資料庫叢集參數群組。以下各節介紹資料庫叢集參數群組的設定和管理。

**Topics**
+ [在 建立資料庫叢集參數群組](USER_WorkingWithParamGroups.CreatingCluster.md)
+ [在 中修改資料庫叢集參數群組中的參數](USER_WorkingWithParamGroups.ModifyingCluster.md)
+ [在 中重設資料庫叢集參數群組中的參數](USER_WorkingWithParamGroups.ResettingCluster.md)
+ [在 複製資料庫叢集參數群組](USER_WorkingWithParamGroups.CopyingCluster.md)
+ [在 列出資料庫叢集參數群組](USER_WorkingWithParamGroups.ListingCluster.md)
+ [在 檢視資料庫叢集參數群組的參數值](USER_WorkingWithParamGroups.ViewingCluster.md)
+ [在 資料庫叢集參數群組](USER_WorkingWithParamGroups.DeletingCluster.md)

# 在 建立資料庫叢集參數群組
<a name="USER_WorkingWithParamGroups.CreatingCluster"></a>

您可以使用 AWS 管理主控台、 AWS CLI或 RDS API 建立新的資料庫叢集參數群組。

建立資料庫叢集參數群組後，請等待至少 5 分鐘，然後再建立使用該資料庫叢集參數群組的資料庫叢集。執行此動作允許 Amazon RDS 完整建立參數群組，再將其供新資料庫叢集使用。您可以使用 [Amazon RDS 主控台](https://console.aws.amazon.com/rds/)的 **Parameter groups** (參數群組) 頁面或 [describe-db-cluster-parameters](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-cluster-parameters.html) 命令確認是否已建立資料庫叢集參數群組。

下列限制適用於資料庫叢集參數群組名稱：
+ 名稱必須為 1 到 255 個字母、數字或連字號。

  預設參數群組名稱可以包括句點，例如 `default.mysql5.7`。不過，自訂參數群組名稱不能包括句點。
+ 第一個字元必須是字母。
+ 名稱不能以連字號結尾或包含兩個連續連字號。

## 主控台
<a name="USER_WorkingWithParamGroups.CreatingCluster.CON"></a>

**建立資料庫叢集參數群組**

1. 登入 AWS 管理主控台 ，並在 [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)：// 開啟 Amazon RDS 主控台。

1. 在導覽窗格中，選擇 **Parameter groups** (參數群組)。

1. 選擇 **Create parameter group (建立參數群組)**。

1. 對於**參數群組名稱**，輸入新資料庫叢集參數群組的名稱。

1. 對於**描述**，輸入新資料庫叢集參數群組的描述。

1. 對於**引擎類型**，選擇您的資料庫引擎。

1. 對於**參數群組系列**，選擇資料庫參數群組系列。

1. 選擇**建立**。

## AWS CLI
<a name="USER_WorkingWithParamGroups.CreatingCluster.CLI"></a>

若要建立資料庫叢集參數群組，請使用 AWS CLI [https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-cluster-parameter-group.html](https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-cluster-parameter-group.html) 命令。

以下範例將為 RDS for MySQL 8.0 版建立名為 *mydbclusterparametergroup*，描述為 *My new cluster parameter group* (我的新叢集參數群組) 的資料庫叢集參數群組。

包含下列必要參數：
+ `--db-cluster-parameter-group-name`
+ `--db-parameter-group-family`
+ `--description`

若要列出所有可用的參數群組系列，請使用下列命令：

```
aws rds describe-db-engine-versions --query "DBEngineVersions[].DBParameterGroupFamily"
```

**注意**  
輸出包含重覆項目。

**Example**  
對於 Linux、macOS 或 Unix：  

```
aws rds create-db-cluster-parameter-group \
    --db-cluster-parameter-group-name mydbclusterparametergroup \
    --db-parameter-group-family mysql8.0 \
    --description "My new cluster parameter group"
```
在 Windows 中：  

```
aws rds create-db-cluster-parameter-group ^
    --db-cluster-parameter-group-name mydbclusterparametergroup ^
    --db-parameter-group-family mysql8.0 ^
    --description "My new cluster parameter group"
```
此命令會產生類似下列的輸出：  

```
{
    "DBClusterParameterGroup": {
        "DBClusterParameterGroupName": "mydbclusterparametergroup",
        "DBParameterGroupFamily": "mysql8.0",
        "Description": "My new cluster parameter group",
        "DBClusterParameterGroupArn": "arn:aws:rds:us-east-1:123456789012:cluster-pg:mydbclusterparametergroup2"
    }
}
```

## RDS API
<a name="USER_WorkingWithParamGroups.CreatingCluster.API"></a>

若要建立資料庫叢集參數群組，請使用 RDS API [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBClusterParameterGroup.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBClusterParameterGroup.html) 動作。

包含下列必要參數：
+ `DBClusterParameterGroupName`
+ `DBParameterGroupFamily`
+ `Description`

# 在 中修改資料庫叢集參數群組中的參數
<a name="USER_WorkingWithParamGroups.ModifyingCluster"></a>

您可以修改客戶建立的資料庫叢集參數群組中參數值。您無法變更預設資料庫叢集參數群組中的參數值。客戶建立的資料庫叢集參數群組中的參數變更會套用到與該資料庫叢集參數群組關聯的所有資料庫叢集。

## 主控台
<a name="USER_WorkingWithParamGroups.ModifyingCluster.CON"></a>

**修改資料庫叢集參數群組**

1. 登入 AWS 管理主控台 並開啟位於 https：//[https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/) 的 Amazon RDS 主控台。

1. 在導覽窗格中，選擇 **Parameter groups (參數群組)**。

1. 在清單中，選擇您要修改的參數群組。

1. 針對 **Parameter group actions (參數群組動作)**，選擇 **Edit (編輯)**。

1. 變更您想要修改的參數值。您可用對話方塊右上角的箭頭鍵來捲動參數。

   您無法變更預設參數群組中的值。

1. 選擇**儲存變更**。

1. 將叢集中的重新開機，以套用變更。

   若未將叢集重新開機，容錯移轉操作可能會需要比平常更長的時間。

## AWS CLI
<a name="USER_WorkingWithParamGroups.ModifyingCluster.CLI"></a>

若要修改資料庫叢集參數群組，請使用 AWS CLI [https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-cluster-parameter-group.html](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-cluster-parameter-group.html) 命令搭配下列必要參數：
+ `--db-cluster-parameter-group-name`
+ `--parameters`

以下範例將修改名稱為 *mydbclusterparametergroup​* 的資料庫叢集參數群組的 `server_audit_logging` 和 `server_audit_logs_upload` 值。

**Example**  
對於 Linux、macOS 或 Unix：  

```
aws rds modify-db-cluster-parameter-group \
    --db-cluster-parameter-group-name mydbclusterparametergroup \
    --parameters "ParameterName=server_audit_logging,ParameterValue=1,ApplyMethod=immediate" \
                 "ParameterName=server_audit_logs_upload,ParameterValue=1,ApplyMethod=immediate"
```
在 Windows 中：  

```
aws rds modify-db-cluster-parameter-group ^
    --db-cluster-parameter-group-name mydbclusterparametergroup ^
    --parameters "ParameterName=server_audit_logging,ParameterValue=1,ApplyMethod=immediate" ^
                 "ParameterName=server_audit_logs_upload,ParameterValue=1,ApplyMethod=immediate"
```
該命令會產生類似以下的輸出：  

```
DBCLUSTERPARAMETERGROUP  mydbclusterparametergroup
```

## RDS API
<a name="USER_WorkingWithParamGroups.ModifyingCluster.API"></a>

若要修改資料庫叢集參數群組，請使用 RDS API [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBClusterParameterGroup.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBClusterParameterGroup.html) 命令並搭配下列必要參數：
+ `DBClusterParameterGroupName`
+ `Parameters`

# 在 中重設資料庫叢集參數群組中的參數
<a name="USER_WorkingWithParamGroups.ResettingCluster"></a>

您可以將參數重設為客戶建立的資料庫叢集參數群組中的預設值。客戶建立的資料庫叢集參數群組中的參數變更會套用到與該資料庫叢集參數群組關聯的所有資料庫叢集。

**注意**  
在預設的資料庫叢集參數群組中，參數永遠設定為其預設值。

## 主控台
<a name="USER_WorkingWithParamGroups.ResettingCluster.CON"></a>

**將資料庫叢集參數群組中的參數重設為其預設值**

1. 登入 AWS 管理主控台 ，並在 [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)：// 開啟 Amazon RDS 主控台。

1. 在導覽窗格中，選擇 **Parameter groups (參數群組)**。

1. 在清單中，選擇參數群組。

1. 針對 **Parameter group actions (參數群組動作)**，選擇 **Edit (編輯)**。

1. 選擇您要重設為預設值的參數。您可用對話方塊右上角的箭頭鍵來捲動參數。

   您無法重設預設參數群組中的值。

1. 選擇「**Reset (重設) **」，然後選擇「**Reset parameters (重設參數) **」來確認。

1. 重新啟動資料庫叢集中的。

## AWS CLI
<a name="USER_WorkingWithParamGroups.ResettingCluster.CLI"></a>

若要將資料庫叢集參數群組中的參數重設為其預設值，請使用 AWS CLI [https://docs.aws.amazon.com/cli/latest/reference/rds/reset-db-cluster-parameter-group.html](https://docs.aws.amazon.com/cli/latest/reference/rds/reset-db-cluster-parameter-group.html)命令搭配下列必要選項：`--db-cluster-parameter-group-name`。

若要重設資料庫叢集參數群組中的所有參數，請指定 `--reset-all-parameters` 選項。若要重設特定參數，請指定 `--parameters` 選項。

下列範例會將資料庫參數群組中所有名為 *mydbparametergroup* 的參數重設為其預設值。

**Example**  
對於 Linux、macOS 或 Unix：  

```
aws rds reset-db-cluster-parameter-group \
    --db-cluster-parameter-group-name mydbparametergroup \
    --reset-all-parameters
```
在 Windows 中：  

```
aws rds reset-db-cluster-parameter-group ^
    --db-cluster-parameter-group-name mydbparametergroup ^
    --reset-all-parameters
```

以下範例會將名為 *mydbclusterparametergroup* 的資料庫叢集參數群組中的 `server_audit_logging` 和 `server_audit_logs_upload` 重設為其預設值。

**Example**  
對於 Linux、macOS 或 Unix：  

```
aws rds reset-db-cluster-parameter-group \
    --db-cluster-parameter-group-name mydbclusterparametergroup \
    --parameters "ParameterName=server_audit_logging,ApplyMethod=immediate" \
                 "ParameterName=server_audit_logs_upload,ApplyMethod=immediate"
```
在 Windows 中：  

```
aws rds reset-db-cluster-parameter-group ^
    --db-cluster-parameter-group-name mydbclusterparametergroup ^
    --parameters "ParameterName=server_audit_logging,ParameterValue=1,ApplyMethod=immediate" ^
                 "ParameterName=server_audit_logs_upload,ParameterValue=1,ApplyMethod=immediate"
```
該命令會產生類似以下的輸出：  

```
DBClusterParameterGroupName  mydbclusterparametergroup
```

## RDS API
<a name="USER_WorkingWithParamGroups.ResettingCluster.API"></a>

若要將資料庫叢集參數群組中的參數重設為其預設值，請使用 RDS API [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ResetDBClusterParameterGroup.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ResetDBClusterParameterGroup.html) 命令與下列必要參數：`DBClusterParameterGroupName`。

若要重設資料庫叢集參數群組中的所有參數，請將 `ResetAllParameters` 參數設定為 `true`。若要重設特定參數，請指定 `Parameters` 參數。

# 在 複製資料庫叢集參數群組
<a name="USER_WorkingWithParamGroups.CopyingCluster"></a>

您可複製所建立的自訂資料庫叢集參數群組。如果您已建立資料庫叢集參數群組，並且希望在新資料庫叢集參數群組中包含該組中的大多數自訂參數和值，則複製參數群組是一種方便的解決方案。您可以使用 AWS CLI [copy-db-cluster-parameter-group](https://docs.aws.amazon.com/cli/latest/reference/rds/copy-db-cluster-parameter-group.html) 命令或 RDS API [CopyDBClusterParameterGroup](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CopyDBParameterGroup.html) 操作來複製資料庫叢集參數群組。

複製資料庫叢集參數群組後，請等待至少 5 分鐘，然後再建立使用該資料庫叢集參數群組的資料庫叢集。執行此動作允許 Amazon RDS 完整複製參數群組，再將其供新資料庫叢集使用。您可以使用 [Amazon RDS 主控台](https://console.aws.amazon.com/rds/)的 **Parameter groups** (參數群組) 頁面或 [describe-db-cluster-parameters](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-cluster-parameters.html) 命令確認是否已建立資料庫叢集參數群組。

**注意**  
您無法複製預設參數群組。但您可以依照預設參數群組建立新的參數群組。  
您無法將資料庫叢集參數群組複製到不同的 AWS 帳戶 或 AWS 區域。

## 主控台
<a name="USER_WorkingWithParamGroups.CopyingCluster.CON"></a>

**複製資料庫叢集參數群組**

1. 登入 AWS 管理主控台 並開啟位於 https：//[https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/) 的 Amazon RDS 主控台。

1. 在導覽窗格中，選擇 **Parameter groups (參數群組)**。

1. 在清單中，選擇您要複製的自訂參數群組。

1. 針對 **Parameter group actions (參數群組動作)**，選擇 **Copy (複製)**。

1. 在 **New DB parameter group identifier (新資料庫參數群組識別符)** 中，輸入新參數群組的名稱。

1. 在 **Description (描述)** 中，輸入新參數群組的描述。

1. 請選擇 **Copy (複製)**。

## AWS CLI
<a name="USER_WorkingWithParamGroups.CopyingCluster.CLI"></a>

若要複製資料庫叢集參數群組，請使用 AWS CLI [https://docs.aws.amazon.com/cli/latest/reference/rds/copy-db-cluster-parameter-group.html](https://docs.aws.amazon.com/cli/latest/reference/rds/copy-db-cluster-parameter-group.html) 命令搭配下列必要參數：
+ `--source-db-cluster-parameter-group-identifier`
+ `--target-db-cluster-parameter-group-identifier`
+ `--target-db-cluster-parameter-group-description`

以下範例會建立名為 `mygroup2` 的新資料庫叢集參數群組，該群組為資料庫叢集參數群組 `mygroup1` 的複本。

**Example**  
對於 Linux、macOS 或 Unix：  

```
aws rds copy-db-cluster-parameter-group \
    --source-db-cluster-parameter-group-identifier mygroup1 \
    --target-db-cluster-parameter-group-identifier mygroup2 \
    --target-db-cluster-parameter-group-description "DB parameter group 2"
```
在 Windows 中：  

```
aws rds copy-db-cluster-parameter-group ^
    --source-db-cluster-parameter-group-identifier mygroup1 ^
    --target-db-cluster-parameter-group-identifier mygroup2 ^
    --target-db-cluster-parameter-group-description "DB parameter group 2"
```

## RDS API
<a name="USER_WorkingWithParamGroups.Copying.API"></a>

若要複製資料庫叢集參數群組，請使用 RDS API [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CopyDBClusterParameterGroup.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CopyDBClusterParameterGroup.html) 操作並搭配下列必要參數：
+ `SourceDBClusterParameterGroupIdentifier`
+ `TargetDBClusterParameterGroupIdentifier`
+ `TargetDBClusterParameterGroupDescription`

# 在 列出資料庫叢集參數群組
<a name="USER_WorkingWithParamGroups.ListingCluster"></a>

您可以列出您為 AWS 帳戶建立的資料庫叢集參數群組。

**注意**  
當您為特定資料庫引擎和版本建立資料庫叢集時，會從預設的參數範本自動建立預設的參數群組。這些預設參數群組包含偏好的參數設定，無法修改。當您建立自訂參數群組時，您可以修改參數設定。

## 主控台
<a name="USER_WorkingWithParamGroups.ListingCluster.CON"></a>

**列出 AWS 帳戶的所有資料庫叢集參數群組**

1. 登入 AWS 管理主控台 並開啟位於 https：//[https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/) 的 Amazon RDS 主控台。

1. 在導覽窗格中，選擇 **Parameter groups (參數群組)**。

   資料庫叢集參數群組會以 **DB cluster parameter group (資料庫叢集參數群組)** 出現在 **Type (類型)** 清單中。

## AWS CLI
<a name="USER_WorkingWithParamGroups.ListingCluster.CLI"></a>

若要列出 AWS 帳戶的所有資料庫叢集參數群組，請使用 AWS CLI [https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-clusterparameter-groups.html](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-clusterparameter-groups.html) 命令。

**Example**  
以下範例列出 AWS 帳戶的所有可用資料庫叢集參數群組。  

```
aws rds describe-db-cluster-parameter-groups
```
以下範例說明 *mydbclusterparametergroup* 參數群組。  
對於 Linux、macOS 或 Unix：  

```
aws rds describe-db-cluster-parameter-groups \
    --db-cluster-parameter-group-name mydbclusterparametergroup
```
在 Windows 中：  

```
aws rds describe-db-cluster-parameter-groups ^
    --db-cluster-parameter-group-name mydbclusterparametergroup
```
此命令會傳回類似以下的回應：  

```
{
    "DBClusterParameterGroups": [
        {
            "DBClusterParameterGroupName": "mydbclusterparametergroup2",
            "DBParameterGroupFamily": "mysql8.0",
            "Description": "My new cluster parameter group",
            "DBClusterParameterGroupArn": "arn:aws:rds:us-east-1:123456789012:cluster-pg:mydbclusterparametergroup"
        }
    ]
}
```

## RDS API
<a name="USER_WorkingWithParamGroups.ListingCluster.API"></a>

若要列出 AWS 帳戶的所有資料庫叢集參數群組，請使用 RDS API [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBClusterParameterGroups.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBClusterParameterGroups.html)動作。

# 在 檢視資料庫叢集參數群組的參數值
<a name="USER_WorkingWithParamGroups.ViewingCluster"></a>

您可以從資料庫叢集參數群組取得所有參數與其值的清單。

## 主控台
<a name="USER_WorkingWithParamGroups.ViewingCluster.CON"></a>

**檢視資料庫叢集參數群組的參數值**

1. 登入 AWS 管理主控台 並開啟位於 https：//[https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/) 的 Amazon RDS 主控台。

1. 在導覽窗格中，選擇 **Parameter groups (參數群組)**。

   資料庫叢集參數群組會以 **DB cluster parameter group (資料庫叢集參數群組)** 出現在 **Type (類型)** 清單中。

1. 選擇資料庫叢集參數群組的名稱，以查看參數清單。

## AWS CLI
<a name="USER_WorkingWithParamGroups.ViewingCluster.CLI"></a>

若要檢視資料庫叢集參數群組的參數值，請使用 AWS CLI [https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-cluster-parameters.html](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-cluster-parameters.html) 命令搭配下列必要參數。
+ `--db-cluster-parameter-group-name`

**Example**  
以下範例列出資料庫叢集參數群組 *mydbclusterparametergroup*​ 的參數和參數值，為 JSON 格式。  
此命令會傳回類似以下的回應：  

```
aws rds describe-db-cluster-parameters --db-cluster-parameter-group-name mydbclusterparametergroup
```

```
{
    "Parameters": [
        {
            "ParameterName": "activate_all_roles_on_login",
            "ParameterValue": "0",
            "Description": "Automatically set all granted roles as active after the user has authenticated successfully.",
            "Source": "engine-default",
            "ApplyType": "dynamic",
            "DataType": "boolean",
            "AllowedValues": "0,1",
            "IsModifiable": true,
            "ApplyMethod": "pending-reboot",
            "SupportedEngineModes": [
                "provisioned"
            ]
        },
        {
            "ParameterName": "allow-suspicious-udfs",
            "Description": "Controls whether user-defined functions that have only an xxx symbol for the main function can be loaded",
            "Source": "engine-default",
            "ApplyType": "static",
            "DataType": "boolean",
            "AllowedValues": "0,1",
            "IsModifiable": false,
            "ApplyMethod": "pending-reboot",
            "SupportedEngineModes": [
                "provisioned"
            ]
        },
...
```

## RDS API
<a name="USER_WorkingWithParamGroups.ViewingCluster.API"></a>

若要檢視資料庫叢集參數群組的參數值，請搭配下列必要參數使用 RDS API [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBParameters.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBParameters.html) 命令。
+ `DBClusterParameterGroupName`

在某些情況下，不會顯示允許的參數值。這些一律為參數，其中來源是資料庫引擎預設值。

若要檢視這些參數的值，您可以執行下列 SQL 陳述式：
+ MySQL：

  ```
  -- Show the value of a particular parameter
  mysql$ SHOW VARIABLES LIKE '%parameter_name%';
  
  -- Show the values of all parameters
  mysql$ SHOW VARIABLES;
  ```
+ PostgreSQL：

  ```
  -- Show the value of a particular parameter
  postgresql=> SHOW parameter_name;
  
  -- Show the values of all parameters
  postgresql=> SHOW ALL;
  ```

# 在 資料庫叢集參數群組
<a name="USER_WorkingWithParamGroups.DeletingCluster"></a>

您可以使用 AWS 管理主控台 AWS CLI或 RDS API 刪除資料庫叢集參數群組。資料庫叢集參數群組參數群組只有在未與資料庫叢集相關聯時，才符合刪除條件。

## 主控台
<a name="USER_WorkingWithParamGroups.DeletingCluster.CON"></a>

**刪除參數群組**

1. 登入 AWS 管理主控台 ，並在 [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)：// 開啟 Amazon RDS 主控台。

1. 在導覽窗格中，選擇 **Parameter groups** (參數群組)。

   參數群組隨即出現在清單中。

1. 選擇要刪除的資料庫叢集參數群組的名稱。

1. 選擇**動作**，然後選擇**刪除**。

1. 檢閱參數群組名稱，然後選擇**刪除**。

## AWS CLI
<a name="USER_WorkingWithParamGroups.DeletingCluster.CLI"></a>

若要刪除資料庫叢集參數群組，請使用 AWS CLI [https://docs.aws.amazon.com/cli/latest/reference/rds/delete-db-cluster-parameter-group.html](https://docs.aws.amazon.com/cli/latest/reference/rds/delete-db-cluster-parameter-group.html) 命令搭配下列必要參數。
+ `--db-parameter-group-name`

**Example**  
下列範例會刪除名為 *mydbparametergroup* 的資料庫叢集參數群組。  

```
aws rds delete-db-cluster-parameter-group --db-parameter-group-name mydbparametergroup
```

## RDS API
<a name="USER_WorkingWithParamGroups.DeletingCluster.API"></a>

若要刪除資料庫叢集參數群組，請使用 RDS API [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DeleteDBClusterParameterGroup.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DeleteDBClusterParameterGroup.html) 命令搭配下列必要參數。
+ `DBParameterGroupName`

# 比較資料庫參數群組
<a name="USER_WorkingWithParamGroups.Comparing"></a>

您可以使用 AWS 管理主控台 檢視兩個資料庫參數群組之間的差異。

指定的參數群組必須都是資料庫參數群組，或兩者都必須是資料庫叢集參數群組。當資料庫引擎和版本相同，也是如此。例如，您無法比較 `aurora-mysql8.0` (Aurora MySQL 第 3 版) 資料庫參數群組與 `aurora-mysql8.0` 資料庫叢集參數群組。

您可以比較 Aurora MySQL 與 RDS for MySQL 資料庫參數群組，即使是不同的版本也可以，但無法比較 Aurora PostgreSQL 與 RDS for PostgreSQL 資料庫參數群組。

**比較兩個資料庫參數群組**

1. 登入 AWS 管理主控台，開啟位於 [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/) 的 Amazon RDS 主控台。

1. 在導覽窗格中，選擇 **Parameter groups (參數群組)**。

1. 在清單中，選擇您要比較的兩個參數群組。
**注意**  
若要比較預設參數群組與自訂參數群組，請先在**預設**索引標籤上選擇預設參數群組，然後在**自訂**索引標籤上選擇自訂參數群組。

1. 在**動作**中，選擇**比較**。

# 指定資料庫參數
<a name="USER_ParamValuesRef"></a>

資料庫參數類型包含下列各項：
+ Integer
+ 布林值
+ 字串
+ Long
+ Double
+ 時間戳記
+ 其他定義資料類型的物件
+ integer、Boolean、string、long、double、timestamp 或 object 參數類型的值陣列

您還可以使用運算式、公式和函數來指定整數及布林值參數。

對於 Oracle 引擎，您可以使用 `DBInstanceClassHugePagesDefault` 公式變數來指定布林值資料庫參數。請參閱[資料庫參數公式變數](#USER_FormulaVariables)。

對於 PostgreSQL 引擎，您可以使用運算式來指定布林值資料庫參數。請參閱[布林值資料庫參數運算式](#USER_ParamBooleanExpressions)。

**Contents**
+ [資料庫參數公式](#USER_ParamFormulas)
  + [資料庫參數公式變數](#USER_FormulaVariables)
  + [資料庫參數公式運算子](#USER_FormulaOperators)
+ [資料庫參數函數](#USER_ParamFunctions)
+ [布林值資料庫參數運算式](#USER_ParamBooleanExpressions)
+ [資料庫參數對數運算式](#USER_ParamLogExpressions)
+ [資料庫參數值範例](#USER_ParamValueExamples)

## 資料庫參數公式
<a name="USER_ParamFormulas"></a>

資料庫參數公式是可以解析成整數值或布林值的運算式。以括號 \$1\$1 括住運算式。您可以針對資料庫參數值使用公式，或將公式指定為資料庫參數函數的引數。

**語法**  

```
{FormulaVariable}
{FormulaVariable*Integer}
{FormulaVariable*Integer/Integer}
{FormulaVariable/Integer}
```

### 資料庫參數公式變數
<a name="USER_FormulaVariables"></a>

每個公式變數都會傳回整數或布林值。變數的名稱區分大小寫。

*AllocatedStorage*  
返回表示資料磁碟區大小的整數 (字元組)。

*DBInstanceClassHugePagesDefault*  
傳回布林值。目前僅支援 Oracle 引擎。  
如需更多詳細資訊，請參閱 [對 RDS for Oracle 執行個體開啟巨型分頁](Oracle.Concepts.HugePages.md)。

*DBInstanceClassMemory*  
傳回一個整數，表示資料庫程序可用的記憶體位元組數。此數字是在內部從資料庫執行個體類別的總記憶體量開始計算得出的。其中，計算會減去為作業系統和管理執行個體的 RDS 程序保留的記憶體。因此，此數字永遠會低於 [ 資料庫執行個體類別](Concepts.DBInstanceClass.md) 上執行個體類別表中顯示的記憶體容量。確切值取決於幾個綜合因素。其中包括執行個體類別、資料庫引擎，以及要套用至 RDS 執行個體還是屬於 Aurora 叢集的執行個體。

*DBInstanceVCPU*  
傳回表示 Amazon RDS 管理執行個體所用虛擬中央處理單元 (vCPU) 數目的整數。

*EndPointPort*  
返回表示連線至資料庫執行個體時所用連接埠的整數。

*TrueIfReplica*  
如果資料庫執行個體為僅供讀取複本，則傳回 `1`，若不是，則傳回 `0`。這是 MySQL 中 `read_only` 參數的預設值。

### 資料庫參數公式運算子
<a name="USER_FormulaOperators"></a>

資料庫參數公式支援兩種運算子：除法和乘法。

*除法運算子：/*  
用除數除以被除數，並傳回整數之商。商中的小數不進位，直接截斷。  
語法  

```
dividend / divisor
```
被除數和除數引數必須為整數運算式。

*乘法運算子：\$1*  
乘以運算式，並傳回運算式的乘積。運算式中的小數不進位，直接截斷。  
語法  

```
expression * expression
```
兩個運算式都必須為整數。

## 資料庫參數函數
<a name="USER_ParamFunctions"></a>

您可以將資料庫參數函數的引數指定為整數或公式。每個函數至少必須有一個引數。以逗號分隔的清單指定多個引數。清單不能有任何空成員，例如 *argument1*、*argument3*。函數名稱區分大小寫。

*IF*  
傳回引數。  
目前僅支援 Oracle 引擎，且唯一支援的第一個引數為 `{DBInstanceClassHugePagesDefault}`。如需更多詳細資訊，請參閱 [對 RDS for Oracle 執行個體開啟巨型分頁](Oracle.Concepts.HugePages.md)。  
語法  

```
IF(argument1, argument2, argument3)
```
若第一個引數計算結果為 true，傳回第二個引數。否則，傳回第三個引數。

*GREATEST*  
從整數或參數公式清單中傳回最大值。  
語法  

```
GREATEST(argument1, argument2,...argumentn)
```
傳回整數。

*LEAST*  
從整數或參數公式清單中傳回最小值。  
語法  

```
LEAST(argument1, argument2,...argumentn)
```
傳回整數。

*SUM*  
新增指定整數或參數公式的值。  
語法  

```
SUM(argument1, argument2,...argumentn)
```
傳回整數。

## 布林值資料庫參數運算式
<a name="USER_ParamBooleanExpressions"></a>

布林值資料庫參數運算式解析為 1 或 0 的布林值。該運算式包含在引號中。

**注意**  
布林值資料庫參數運算式僅支援 PostgreSQL 引擎。

**語法**  

```
"expression operator expression"
```
這兩個運算式必須解析為整數。運算式可以是下列項目：  
+ 整數常數
+ 資料庫參數公式
+ 資料庫參數函數
+ 資料庫參數變數

布林值資料庫參數運算式支援以下不等式運算子：

*大於運算子：>*  
語法  

```
"expression > expression"
```

*小於運算子：<*  
語法  

```
"expression < expression"
```

* 大於或等於運算符：> =、=>*  
語法  

```
"expression >= expression"
"expression => expression"
```

*小於或等於運算子：<=、=<*  
語法  

```
"expression <= expression"
"expression =< expression"
```

**Example 使用布林值資料庫參數運算式**  
下列布林值資料庫參數運算式範例會將參數公式的結果與整數作比較。這樣做是為了修改 PostgreSQL 資料庫執行個體的布林值資料庫參數 `wal_compression`。參數運算式會將 vCPU 的數目與值 2 作比較。如果 vCPU 的數目大於 2，則 `wal_compression` 資料庫參數設定為 true。  

```
aws rds modify-db-parameter-group --db-parameter-group-name group-name \
--parameters "ParameterName=wal_compression,ParameterValue=\"{DBInstanceVCPU} > 2\" "
```

## 資料庫參數對數運算式
<a name="USER_ParamLogExpressions"></a>

您可以將整數資料庫參數值設定為對數運算式。以括號 \$1\$1 括住運算式。例如：

```
{log(DBInstanceClassMemory/8187281418)*1000}
```

`log` 函數表示對數底數 2。此範例還會使用 `DBInstanceClassMemory` 公式變數。請參閱[資料庫參數公式變數](#USER_FormulaVariables)。

**注意**  
目前，您不能使用除了整數以外的任何值指定 MySQL `innodb_log_file_size` 參數。

## 資料庫參數值範例
<a name="USER_ParamValueExamples"></a>

這些範例顯示使用資料庫參數值的公式、函數和運算式。

**警告**  
未正確設定資料庫參數群組中的參數，可能產生各種意外影響。這些影響可能包括降低效能和系統不穩定。修改資料庫參數時請謹慎，在修改資料庫參數群組之前，請備份您的資料。請在測試資料庫執行個體上嘗試進行參數群組變更，再將參數群組變更套用至生產資料庫執行個體。

**Example 使用資料庫參數函數 GREATEST**  
您可以在 Oracle 進程參數中指定 `GREATEST` 函數。使用該函數將使用者進程的數目設定為 80 或`DBInstanceClassMemory` 除以 9,868,951。  

```
GREATEST({DBInstanceClassMemory/9868951},80)
```

**Example 使用資料庫參數函數 LEAST**  
您可以在 MySQL `LEAST` 參數值中指定 `max_binlog_cache_size` 函數。使用該函數將交易可在 MySQL 執行個體中使用的快取大小上限設為 1 MB 或 `DBInstanceClass`/256 (取較小者)。  

```
LEAST({DBInstanceClassMemory/256},10485760)
```

# 使用 Amazon RDS 資料庫執行個體設定來建立 Amazon ElastiCache 快取
<a name="creating-elasticache-cluster-with-RDS-settings"></a>

ElastiCache 是全受管記憶體內快取服務，其會提供可支援彈性即時使用案例的微秒讀取和寫入延遲。ElastiCache 可協助您加速提高應用程式和資料庫效能。您可以將 ElastiCache 用作不需要資料持久性之使用案例的主要資料存放區，例如遊戲排行榜、串流和資料分析。ElastiCache 有助於消除與部署和管理分散式快取環境相關聯的複雜性。如需詳細資訊，請參閱[常見的 ElastiCache 使用案例及 ElastiCache 如何提供協助](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/elasticache-use-cases.html) (若為 Memcached) 和[常見的 ElastiCache 使用案例及 ElastiCache 如何提供協助](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/elasticache-use-cases.html) (若為 Redis OSS)。您可以使用 Amazon RDS 主控台建立 ElastiCache 快取。

您可以操作兩種格式的 Amazon ElastiCache。您可以開始使用無伺服器快取，或選擇自行設計快取叢集。如果您選擇設計自己的快取叢集，ElastiCache 可同時與 Redis OSS 和 Memcached 引擎搭配使用。如果您不確定要使用哪個引擎，請參閱[比較 Memcached 和 Redis OSS](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/SelectEngine.html)。如需 Amazon ElastiCache 的詳細資訊，請參閱 [Amazon ElastiCache 使用者指南](https://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/)。

**Topics**
+ [使用 RDS 資料庫執行個體設定建立 ElastiCache 快取的概觀](#creating-elasticache-cluster-with-RDS-settings-overview)
+ [使用來自 RDS 資料庫執行個體的設定建立 ElastiCache 快取](#creating-elasticache-cluster-with-RDS-settings-new-DB)

## 使用 RDS 資料庫執行個體設定建立 ElastiCache 快取的概觀
<a name="creating-elasticache-cluster-with-RDS-settings-overview"></a>

您可以使用與新建立的或現有的 RDS 資料庫執行個體相同的組態設定，從 Amazon RDS 建立 ElastiCache 快取。

將 ElastiCache 快取與資料庫執行個體建立關聯的若干使用案例：
+ 您可以將 ElastiCache 與 RDS 搭配使用 (而不是單獨在 RDS 上執行) 以節省成本並改善效能。

  例如，相較於僅使用 RDS for MySQL，將 ElastiCache 與 RDS 搭配使用可以節省高達 55% 的成本，並獲得高達 80 倍的讀取效能。
+ 您可以使用 ElastiCache 快取作為不需要資料持久性之應用程式的主要資料存放區。使用 Redis OSS 或 Memcached 的應用程式可以使用 ElastiCache，幾乎不需要任何修改。

當您從 RDS 建立 ElastiCache 快取時，ElastiCache 快取會從相關聯的 RDS 資料庫執行個體繼承下列設定：
+ ElastiCache 連線設定
+ ElastiCache 安全設定

您也可以根據需求設定快取組態設定。

### 在您的應用程式中設定 ElastiCache
<a name="creating-elasticache-cluster-with-RDS-settings-overview-SettingUpELC"></a>

應用程式必須設定為使用 ElastiCache 快取。您也可以最佳化和改善快取效能，方法為將您的應用程式設定為使用快取策略，取決於您的需求。
+  若要存取 ElastiCache 快取並開始使用，請參閱[開始使用 ElastiCache (Redis OSS)](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/GettingStarted.html) 和[開始使用 ElastiCache (Memcached)](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/GettingStarted.html)。
+  如需快取策略的詳細資訊，請參閱[快取策略與最佳實務](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/BestPractices.html) (若為 Memcached) 和[快取策略與最佳實務](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/BestPractices.html) (若為 Redis OSS)。
+  如需 ElastiCache (Redis OSS) 叢集中高可用性的詳細資訊，請參閱[使用複寫群組的高可用性](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/BestPractices.html)。
+  您可能會產生與備份儲存、區域內或跨區域資料傳輸或使用 相關的成本 AWS Outposts。如需定價詳細資訊，請參閱 [Amazon ElastiCache 定價](https://aws.amazon.com/elasticache/pricing/)。

## 使用來自 RDS 資料庫執行個體的設定建立 ElastiCache 快取
<a name="creating-elasticache-cluster-with-RDS-settings-new-DB"></a>

您可以使用繼承自資料庫執行個體的設定，為 RDS 資料庫執行個體建立 ElastiCache 快取。

**使用來自資料庫執行個體的設定建立 ElastiCache 快取**

1. 若要建立資料庫執行個體，請遵循 [建立 Amazon RDS 資料庫執行個體](USER_CreateDBInstance.md) 中的指示。

1. 在建立 RDS 資料庫執行個體之後，主控台會顯示**建議的附加元件**視窗。選取**使用您的資料庫設定從 RDS 建立 ElastiCache 叢集**。

   針對現有資料庫，在**資料庫**頁面中，選取所需的資料庫執行個體。在**動作**下拉式功能表中，選擇**建立 ElastiCache 叢集**，以在 RDS 中建立與現有的 RDS 資料庫執行個體具有相同設定的 ElastiCache 快取。

   在 **ElastiCache 組態區段**中，**來源資料庫識別符**會顯示 ElastiCache 快取從哪個資料庫執行個體繼承設定。

1. 選擇要建立 Redis OSS 還是 Memcached 叢集。如需詳細資訊，請參閱[比較 Memcached 與 Redis OSS](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/SelectEngine.html)。  
![\[選擇叢集類型和部署選項。\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/images/EC-RDS-Config.png)

1. 之後，選擇您要建立**無伺服器快取**還是**設計您自己的快取**。如需詳細資訊，請參閱[選擇部署選項](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/WhatIs.deployment.html)。

   如果您選擇**無伺服器快取**：

   1. 在**快取設定**中，輸入**名稱**和**描述**的值。

   1. 在**檢視預設設定**下，保留預設設定，以在快取和資料庫執行個體之間建立連線。

   1. 您也可以選擇**自訂預設設定**來編輯預設設定。選取 **ElastiCache 連線設定**、**ElastiCache 安全設定**和**用量上限**。

1. 如果您選擇**設計您自己的快取**：

   1. 如果您選擇 **Redis OSS 叢集**，請選擇要將叢集模式保留為**已啟用**還是**已停用**。如需詳細資訊，請參閱[複寫：Redis OSS (叢集模式已停用) 與 Redis OSS (叢集模式已啟用)](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Replication.Redis-RedisCluster.html)。

   1. 輸入**名稱**、**描述**和**引擎版本**的值。

      對於**引擎版本**，建議的預設值是最新的引擎版本。您也可以為 ElastiCache 快取選擇最符合您需求的**引擎版本**。

   1. 在**節點類型**選項中選擇節點類型。如需詳細資訊，請參閱[管理節點](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.html)。

      如果您選擇在**叢集模式**設定為**已啟用**的情況下建立 Redis OSS 叢集，請在**碎片數目**選項中輸入碎片數目 (分割區/節點群組)。

      在**複本數目**中輸入每個碎片的複本數目。
**注意**  
選取的節點類型、碎片數目，以及複本數目都會影響您的快取效能和資源成本。確定這些設定符合您的資料庫需求。如需定價資訊，請參閱 [Amazon ElastiCache 定價](https://aws.amazon.com/elasticache/pricing/)。

   1. 選取 **ElastiCache 連線設定**和 **ElastiCache 安全設定**。您可以保留預設設定，或根據需求自訂這些設定。

1. 驗證 ElastiCache 快取的預設和繼承設定。部分設定在建立後無法變更。
**注意**  
RDS 可能會調整 ElastiCache 快取的備份時段，以符合 60 分鐘的最低時段需求。來源資料庫的備份視窗會保持不變。

1. 當您準備好時，請選擇**建立 ElastiCache 快取**。

主控台會顯示用於建立 ElastiCache 快取的確認橫幅。遵循橫幅中的連結前往 ElastiCache 主控台，以檢視快取詳細資訊。ElastiCache 主控台會顯示新建立的 ElastiCache 快取。

# 使用 自動將 EC2 資料庫遷移至 Amazon RDS AWS Database Migration Service
<a name="USER_DMS_migration"></a>

您可以使用 RDS 主控台將 EC2 資料庫遷移至 RDS。 RDS使用 AWS Database Migration Service (AWS DMS) 遷移來源 EC2 資料庫。 AWS DMS 可讓您將關聯式資料庫遷移至 AWS 雲端。如需詳細資訊 AWS Database Migration Service，請參閱*AWS Database Migration Service 《 使用者指南*》中的[什麼是 AWS Database Migration Service？](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html)。

若要開始遷移，您必須建立同等的 RDS 資料庫執行個體，以將資料遷移至其中。建立目標資料庫之後，您可以將 EC2 資料庫匯入其中。對於小於 1TiB 的來源資料庫，此遷移動作可減少將資料遷移至 RDS 所需的時間和資源。

## 概觀
<a name="USER_DMS_migration-overview"></a>

RDS 主控台可讓您將 EC2 資料庫遷移至同等的 RDS 資料庫。您必須建立 RDS 資料庫，才能從主控台啟用遷移。

您可以遷移下列資料庫引擎的 EC2 資料庫：
+ MySQL
+ MariaDB
+ PostgreSQL

此遷移程序涉及下列步驟：
+ 在 RDS 中建立同等資料庫。若要讓資料庫成為相等，它們必須具有相同的資料庫引擎和相容的引擎版本。它們也必須位於相同的 VPC 中。如需建立資料庫的指示，請參閱 [建立 Amazon RDS 資料庫執行個體](USER_CreateDBInstance.md)。
+ 選擇資料庫的複寫類型：
  + **完整載入遷移** – RDS 會將完整的來源資料庫複製到目標資料庫，必要時在目標中建立新的資料表。
**注意**  
此選項會導致 RDS 資料庫中斷。
  + **完整載入和變更資料擷取 (CDC) 遷移** – 類似於完整載入遷移，使用此選項，RDS 會將完整來源資料庫複製到目標資料庫。不過，在完整載入遷移之後，RDS 會將來源中擷取的任何變更套用至目標資料庫。變更資料擷取會使用資料庫引擎的原生 API 收集資料庫日誌的變更。
**注意**  
此選項會導致 RDS 資料庫中斷。
  + **變更資料擷取 (CDC)** – 使用此選項，透過遷移保持您的目標資料庫可用。RDS 會將來源資料庫中的持續變更遷移至目標資料庫。
+ RDS 會建立必要的聯網資源，以促進遷移。RDS 建立所需的資源後，它會通知您已建立的資源，並允許您啟動資料傳輸。

  完成遷移所需的時間取決於複寫類型和來源資料庫的大小。

## 先決條件
<a name="USER_DMS_migration-Prerequisites"></a>

### MySQL 和 MariaDB
<a name="USER_DMS_migration-Prerequisites.MySQL"></a>

開始使用 MySQL 或 MariaDB 資料庫做為來源資料庫之前，請務必做好以下事前準備。這些先決條件適用於 AWS受管來源。

您必須擁有具有複寫管理員角色 AWS DMS 的 帳戶。此角色需要以下權限：
+ **REPLICATION CLIENT**：僅 CDC 任務需要此權限。換言之，完全載入任務不需要此權限。
+ **REPLICATION SLAVE**：僅 CDC 任務需要此權限。換言之，完全載入任務不需要此權限。

 AWS DMS 使用者也必須具有指定用於複寫之來源資料表的 SELECT 權限。

如果您使用 MySQL 特定的預遷移評估，請授予下列權限。

```
grant select on mysql.user to <dms_user>;
grant select on mysql.db to <dms_user>;
grant select on mysql.tables_priv to <dms_user>;
grant select on mysql.role_edges to <dms_user>  #only for MySQL version 8.0.11 and higher
```

### PostgreSQL
<a name="USER_DMS_migration-Prerequisites.PostgreSQL"></a>

從 AWS受管 PostgreSQL 來源資料庫遷移資料之前，請執行下列動作：
+ 我們建議您使用具有 PostgreSQL 資料庫執行個體最低必要許可的 AWS 使用者帳戶，做為 PostgreSQL 來源端點的使用者帳戶 AWS DMS。不建議使用主帳戶。此帳戶必須具有 `rds_superuser` 角色和 `rds_replication` 角色。授權來管理邏輯槽和利用邏輯槽來串流資料的 `rds_replication` 角色

**注意**  
在 DMS 引擎再次使用它們之前，某些 AWS DMS 交易會閒置一段時間。透過使用 PostgreSQL 9.6 版和更高版本的參數 `idle_in_transaction_session_timeout`，可讓您將閒置交易變成逾時而失敗。

## 限制
<a name="USER_DMS_migration-Limitations"></a>

下列限制適用於自動遷移程序：
+ 您的目標資料庫狀態必須為**可用**，才能開始來源資料庫遷移。
+ 從 MySQL 來源資料庫遷移時，您的 RDS 帳戶必須具有複寫管理員角色。您還必須針對該角色套用適當的權限。
+ 您的 EC2 執行個體和目標資料庫必須位於相同的 VPC 中。
+ 使用**從 EC2 資料庫遷移資料**動作時，您無法將 EC2 資料庫遷移至下列目標資料庫：
  + 叢集成員的資料庫
  + Oracle、SQL Server 和 Db2 資料庫
  + MySQL 版本低於 5.7 的資料庫
  + PostgreSQL 版本低於 10.4 的資料庫
  + MariaDB 版本低於 10.2 的資料庫

# 為同質遷移建立 IAM 資源
<a name="USER_DMS_migration-IAM"></a>

 RDS使用 AWS DMS遷移您的資料。若要存取資料庫和遷移資料， 會為同質資料遷移AWS DMS建立無伺服器環境。在此環境中， AWS DMS需要存取 VPC 對等互連、路由表、安全群組和其他AWS資源。此外， 會在 Amazon CloudWatch 中AWS DMS儲存每個資料遷移的日誌、指標和進度。若要建立資料遷移專案， AWS DMS需要存取這些服務。

此外， AWS DMS需要存取代表一組使用者登入資料的秘密，以驗證來源和目標連線的資料庫連線。

**注意**  
透過使用**從 EC2 執行個體遷移資料**動作，您可以使用 RDS 主控台來產生這些 IAM 資源。如果您使用主控台產生的 IAM 資源，請略過此步驟。

對於此程序，您需要下列 IAM 資源：

**Topics**
+ [建立同質資料遷移的 IAM 政策](#USER_DMS_migration-IAM.iam-policy)
+ [為同質資料遷移建立 IAM 角色](#USER_DMS_migration-IAM.iam-role)
+ [建立秘密存取政策和角色](USER_DMS_migration-IAM.secret-iam-role-policy.md)
+ [建立 AWS DMS 的 IAM 角色以管理 Amazon VPC](USER_DMS_migration-IAM.dms-vpc-role.md)

## 建立同質資料遷移的 IAM 政策
<a name="USER_DMS_migration-IAM.iam-policy"></a>

在此步驟中，您會建立 IAM 政策，AWS DMS提供 Amazon EC2 和 CloudWatch 資源的存取權。接下來，請建立 IAM 角色並連接政策。

**若要為資料遷移建立 IAM 政策**

1. 登入 AWS 管理主控台並開啟位於 https：//[https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) 的 IAM 主控台。

1. 在導覽窗格中，選擇**政策**。

1. 選擇 **Create policy** (建立政策)。

1. 在**建立政策**頁面中，選擇 **JSON** 索引標籤。

1. 將以下 JSON 貼至編輯器中。

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "ec2:DescribeRouteTables",
                   "ec2:DescribeSecurityGroups",
                   "ec2:DescribeVpcPeeringConnections",
                   "ec2:DescribeVpcs",
                   "ec2:DescribePrefixLists",
                   "logs:DescribeLogGroups"
               ],
               "Resource": "*"
           },
           {
               "Effect": "Allow",
               "Action": [
                   "servicequotas:GetServiceQuota"
               ],
               "Resource": "arn:aws:servicequotas:*:*:vpc/L-0EA8095F"
           },
           {
               "Effect": "Allow",
               "Action": [
                   "logs:CreateLogGroup",
                   "logs:DescribeLogStreams"
               ],
               "Resource": "arn:aws:logs:*:*:log-group:dms-data-migration-*"
           },
           {
               "Effect": "Allow",
               "Action": [
                   "logs:CreateLogStream",
                   "logs:PutLogEvents"
               ],
               "Resource": "arn:aws:logs:*:*:log-group:dms-data-migration-*:log-stream:dms-data-migration-*"
           },
           {
               "Effect": "Allow",
               "Action": "cloudwatch:PutMetricData",
               "Resource": "*"
           },
           {
               "Effect": "Allow",
               "Action": [
                   "ec2:CreateRoute",
                   "ec2:DeleteRoute"
               ],
               "Resource": "arn:aws:ec2:*:*:route-table/*"
           },
           {
               "Effect": "Allow",
               "Action": [
                   "ec2:CreateTags"
               ],
               "Resource": [
                   "arn:aws:ec2:*:*:security-group/*",
                   "arn:aws:ec2:*:*:security-group-rule/*",
                   "arn:aws:ec2:*:*:route-table/*",
                   "arn:aws:ec2:*:*:vpc-peering-connection/*",
                   "arn:aws:ec2:*:*:vpc/*"
               ]
           },
           {
               "Effect": "Allow",
               "Action": [
                   "ec2:AuthorizeSecurityGroupEgress",
                   "ec2:AuthorizeSecurityGroupIngress"
               ],
               "Resource": "arn:aws:ec2:*:*:security-group-rule/*"
           },
           {
               "Effect": "Allow",
               "Action": [
                   "ec2:AuthorizeSecurityGroupEgress",
                   "ec2:AuthorizeSecurityGroupIngress",
                   "ec2:RevokeSecurityGroupEgress",
                   "ec2:RevokeSecurityGroupIngress"
               ],
               "Resource": "arn:aws:ec2:*:*:security-group/*"
           },
           {
               "Effect": "Allow",
               "Action": [
                   "ec2:AcceptVpcPeeringConnection",
                   "ec2:ModifyVpcPeeringConnectionOptions"
               ],
               "Resource": "arn:aws:ec2:*:*:vpc-peering-connection/*"
           },
           {
               "Effect": "Allow",
               "Action": "ec2:AcceptVpcPeeringConnection",
               "Resource": "arn:aws:ec2:*:*:vpc/*"
           }
       ]
   }
   ```

------

1. 選擇 **Next: Tags** (下一步：標籤) 和 **Next: Review** (下一步：檢閱)。

1. 在**名稱\$1**中輸入 **HomogeneousDataMigrationsPolicy**，然後選擇**建立政策**。

## 為同質資料遷移建立 IAM 角色
<a name="USER_DMS_migration-IAM.iam-role"></a>

在此步驟中，您會建立提供存取 AWS Secrets Manager、Amazon EC2 和 CloudWatch 的 IAM 角色。

**為資料遷移建立 IAM 角色**

1. 登入 AWS 管理主控台並開啟位於 https：//[https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) 的 IAM 主控台。

1. 在導覽窗格中，選擇 **Roles** (角色)。

1. 選擇 **Create Role** (建立角色)。

1. 在**選取受信任實體**頁面上，針對**信任的實體類型**選擇 **AWS 服務**。在**其他 AWS 服務的使用案例**中，選擇 **DMS**

1. 選取 **DMS** 核取方塊，然後選擇**下一步**。

1. 在**新增許可**頁面上，選擇您之前建立的 **HomogeneousDataMigrationsPolicy** 。選擇**下一步**。

1. 在**命名、檢閱和建立**頁面上的**角色名稱**輸入 **HomogeneousDataMigrationsRole**，然後選擇**建立角色**。

1. 在**角色**頁面，針對**角色名稱**輸入 **HomogeneousDataMigrationsRole**。選擇 **HomogeneousDataMigrationsRole**。

1. 在 **HomogeneousDataMigrationsRole** 頁面上，選擇**信任關係**標籤。選擇**編輯信任政策**。

1. 在**編輯信任原則**頁面上，將下列 JSON 貼到編輯器中以取代現有的文字。

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "",
               "Effect": "Allow",
               "Principal": {
                   "Service": [
                       "dms-data-migrations.amazonaws.com",
                       "dms.your_region.amazonaws.com"
                   ]
               },
               "Action": "sts:AssumeRole"
           }
       ]
   }
   ```

------

   在上述範例中，*將 your\$1region* 取代為 的名稱AWS 區域。

   上述以資源為基礎的政策為AWS DMS服務主體提供根據客戶管理的 **HomogeneousDataMigrationsPolicy** 政策執行任務的許可。

1. 選擇**更新政策**。

# 建立秘密存取政策和角色
<a name="USER_DMS_migration-IAM.secret-iam-role-policy"></a>

請依照下列程序建立秘密存取政策和角色，允許 DMS 存取來源和目標資料庫的使用者憑證。

**建立秘密存取政策和角色，以允許 Amazon RDS 存取 AWS Secrets Manager 您的適當秘密**

1. 登入 AWS 管理主控台 並開啟位於 https：//[https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) 的 AWS Identity and Access Management (IAM) 主控台。

1. 選擇**政策**，然後選擇**建立政策**。

1. 選擇 **JSON** 並輸入以下政策以啟用機密的存取和解密。

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": "secretsmanager:GetSecretValue",
               "Resource": "arn:aws:secretsmanager:us-east-1:111122223333:secret:SecretName-ABCDEF"
           },
           {
               "Effect": "Allow",
               "Action": [
                   "kms:Decrypt",
                   "kms:DescribeKey"
               ],
               "Resource": "arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"
           }
       ]
   }
   ```

------

   在這裡， `secret_arn` 是您秘密的 ARN，您可以`SecretsManagerSecretId`視需要從 取得，而 `kms_key_arn`是您用來加密秘密之 AWS KMS 金鑰的 ARN，如下列範例所示。

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": "secretsmanager:GetSecretValue",
               "Resource": "arn:aws:secretsmanager:us-east-2:123456789012:secret:MySQLTestSecret-qeHamH"
           },
           {
                "Effect": "Allow",
                "Action": [
                           "kms:Decrypt",
                           "kms:DescribeKey"
                         ],
                "Resource": "arn:aws:kms:us-east-2:123456789012:key/761138dc-0542-4e58-947f-4a3a8458d0fd"
           }
        ]
   }
   ```

------
**注意**  
如果您使用 建立的預設加密金鑰 AWS Secrets Manager，則不需要指定 的 AWS KMS 許可`kms_key_arn`。  
如果您希望政策提供對這兩個機密的存取權，只需為另一個 *secret\$1arn* 指定額外的 JSON 資源對象即可。

1. 檢閱並使用易記名稱建立政策，並視需要提供說明。

1. 選擇**角色**，然後選擇**建立角色**。

1. 選擇 **AWS 服務**作為信任的實體類型。

1. 從服務清單中選擇 **DMS** 作為信任的服務，然後選擇**下一步：許可**。

1. 查詢並附加您在步驟 4 中建立的政策，然後繼續新增任何標籤並檢閱您的角色。此時，請編輯角色的信任關係，以使用您的 Amazon RDS 區域服務主體作為信任的實體。此主體的格式如下。

   ```
   dms.region-name.amazonaws.com
   ```

   其中，*`region-name`* 是區域的名稱，例如 `us-east-1`。因此，此區域的 Amazon RDS 區域服務主體如下。

   ```
   dms.us-east-1.amazonaws.com
   dms-data-migrations.amazonaws.com
   ```

# 建立 AWS DMS 的 IAM 角色以管理 Amazon VPC
<a name="USER_DMS_migration-IAM.dms-vpc-role"></a>

您必須建立 AWS DMS 的 IAM 角色，才能管理資源的 VPC 設定。此角色必須可用於成功遷移。

**建立資料庫遷移的 `dms-vpc-role`**

1. 登入 AWS 管理主控台，並開啟位於 [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) 的 IAM 主控台。

1. 在主控台的導覽窗格中，選擇 **Roles (角色)**，然後選擇 **Create role (建立角色)**。

1. 選擇**選取信任的實體**選項的 **AWS 服務** 選項。

   對於**使用案例**，選取 **DMS**。

1. 對於**新增許可**步驟，選取 `AmazonDMSVPCManagementRole`，然後選擇**下一步**。

1. 在**命名、檢閱和建立**頁面中，將**角色名稱**設定為 `dms-vpc-role`，然後選擇**建立角色**。

這會建立 DMS 的角色，以管理遷移的 VPC 設定。

# 設定 EC2 資料庫的資料遷移
<a name="USER_DMS_migration-SetUp"></a>

若要開始從 EC2 來源資料庫遷移資料，您必須建立同等的 RDS 資料庫。如需建立資料庫的指示，請參閱 [建立 Amazon RDS 資料庫執行個體](USER_CreateDBInstance.md)。

建立目標資料庫之後，請使用下列步驟來設定資料遷移：

**設定資料遷移專案**

1. 在 RDS 主控台的**資料庫**頁面上選取目標資料庫。

1. 選擇**動作**下拉式清單，然後選取**從 EC2 資料庫遷移資料**選項。若要查看支援的目標資料庫，請參閱 [限制](USER_DMS_migration.md#USER_DMS_migration-Limitations)。

1. 在**選取來源 EC2 資料庫**區段下：

   1. 檢查**引擎類型**，並確認其與您的來源資料庫相同。

      此外，請檢查引擎版本是否相容。

   1. 對於 **EC2 執行個體**，選擇來源資料庫所在的 EC2 執行個體。

   1. 對於**連接埠**，輸入來源資料庫允許流量的連接埠。

   1. 對於**秘密**，如果您沒有現有的秘密，請選擇**建立並使用新的秘密**。輸入來源資料庫的**使用者名稱**和**密碼**。同時請選擇要用來加密秘密的 KMS 金鑰。

      如果您有現有的秘密，請選取**使用現有的秘密**，然後從下拉式清單中選擇秘密。

   1. 對於**秘密的 IAM 角色**，如果您有現有的 IAM 角色，請選取**使用現有的 IAM 角色**，然後從下拉式清單中選擇可存取上一個步驟中秘密 ID 的 IAM 角色。

      如果您沒有現有的 IAM 角色，請選擇**建立並使用新的 IAM 角色**。在 **IAM 角色名稱中輸入角色的新名稱。您可以在以下連結中查看與此角色相關聯的許可。**

1. 在**檢視目標 RDS 資料庫**區段下：

   1. 在區段頂端確認目標資料庫的設定。

   1. 對於**秘密**，如果您沒有保存目標資料庫憑證的現有秘密，請選擇**建立並使用新的秘密**。

      如果您有現有的秘密，請從下拉式清單中選取秘密。

   1. 對於**秘密的 IAM 角色**，選取可從上一個步驟存取秘密的 IAM 角色。如果您沒有現有的 IAM 角色，也可以建立新的 IAM 角色。

      如果下拉式清單未填入 IAM 角色，請以格式 `arn:aws:iam:account_id:role/roleName` 指定 **IAM 角色 ARN**。

1. 在**設定資料遷移**區段下：

   1. 選取**完整載入**、**完整載入和變更資料擷取 (CDC)** 或**變更資料擷取 (CDC)**，以選取資料遷移的類型。如需關於這些選項的詳細資訊，請參閱 [概觀](USER_DMS_migration.md#USER_DMS_migration-overview)。

      您無法在遷移開始後修改遷移類型。

   1. 對於**資料遷移的 IAM 角色**，如果您有現有的 IAM 角色，請選取**使用現有的 IAM 角色**，然後從下拉式清單中選擇 IAM 角色，授予 DMS 建立遷移所需資源的許可。如果您沒有現有的 IAM 角色，請選擇**建立並使用新的 IAM 角色**。

1. 確認**檢視遷移設定**索引標籤顯示成功設定資料遷移所需的設定。

1. 選取**遷移**以完成遷移設定。

完成這些步驟後，您可以在主控台的進度橫幅中選擇**檢視詳細資訊**，以查看為資料遷移設定的資源。設定必要的資源後，遷移會自動開始。如果您建立 

若要將多個資料庫遷移至目標資料庫，請使用新 EC2 資料庫的詳細資訊再次啟動此程序。

# 管理資料遷移
<a name="USER_DMS_migration.Managing"></a>

從 RDS 主控台使用**從 EC2 資料庫遷移資料**動作之後，RDS 會自動開始遷移。

如果您使用 AWS DMS 主控台建立遷移資源，您可以開始遷移程序。

## 開始資料遷移
<a name="USER_DMS_migration.Managing.Start"></a>

請依照下列步驟開始資料遷移：

**開始資料遷移**

1. 在 RDS 主控台的**資料庫**頁面上選擇目標資料庫。

1. 在資料庫詳細資訊頁面上，選擇**資料遷移**索引標籤。

1. 在**資料遷移**索引標籤下，**相關聯資料遷移**會列出可用的資料遷移。

   設定所需的資源後，使用 RDS 主控台設定的遷移會自動開始。

   使用 DMS 主控台設定的遷移會設定為**就緒**。

   若要開始這些遷移，請選取**動作**下拉式清單，然後選取**開始**。

1. 這會開始 EC2 資料庫的資料遷移。

## 停止資料遷移
<a name="USER_DMS_migration.Managing.Stop"></a>

對於複寫類型為完整載入的資料遷移，停止遷移會導致程序停止且無法繼續。停止後，您必須重新啟動遷移。

對於將複寫類型設定為變更資料擷取 (CDC) 或完整載入和 CDC 的遷移，您可以停止連續複寫程序，並在稍後繼續程序。

**停止資料遷移**

1. 在 RDS 主控台的**資料庫**頁面上選擇目標資料庫。

1. 在資料庫詳細資訊頁面上，選擇**資料遷移**索引標籤。

1. 在**資料遷移**索引標籤下，**相關聯資料遷移**會列出進行中的資料遷移。

   若要停止遷移，請選取資料遷移，然後在**動作**下拉式清單中選取**停止**。

1. 這會停止 EC2 資料庫的資料遷移。

## 繼續資料遷移
<a name="USER_DMS_migration.Managing.Resuming"></a>

對於複寫類型為完整載入和變更資料擷取 (CDC) 或變更資料擷取 (CDC) 遷移的資料遷移，您可以從最後一個停止點繼續 CDC 程序。

**繼續資料遷移**

1. 在 RDS 主控台的**資料庫**頁面上選擇目標資料庫。

1. 在資料庫詳細資訊頁面上，選擇**資料遷移**索引標籤。

1. 在**資料遷移**索引標籤下，**相關聯資料遷移**會列出已停止的資料遷移。

   若要繼續遷移，請選取資料遷移，然後在**動作**下拉式清單中選取**繼續處理**。

1. 這會繼續 EC2 資料庫的資料遷移。

## 刪除資料遷移
<a name="USER_DMS_migration.Managing.Deleting"></a>

若要刪除相關聯的資料遷移，請使用下列指示

**刪除資料遷移**

1. 在 RDS 主控台的**資料庫**頁面上選擇目標資料庫。

1. 在資料庫詳細資訊頁面上，選擇**資料遷移**索引標籤。

1. 若要刪除遷移，請選取資料遷移，然後在**動作**下拉式清單中選取**刪除**。

1. 這會刪除資料遷移。

刪除進行中的資料遷移不會影響任何已載入目標資料庫的資料。

## 重新啟動資料遷移
<a name="USER_DMS_migration.Managing.Restarting"></a>

若要從 CDC 起點重新啟動相關聯的資料遷移，請使用下列指示

**重新啟動資料遷移**

1. 在 RDS 主控台的**資料庫**頁面上選擇目標資料庫。

1. 在資料庫詳細資訊頁面上，選擇**資料遷移**索引標籤。

1. 若要重新啟動遷移，請選取資料遷移，然後在**動作**下拉式清單中選取**重新啟動**。

1. 這會從 CDC 起點重新啟動資料遷移。

重新啟動進行中的資料遷移不會影響任何已載入目標資料庫的資料。

# 監控資料遷移
<a name="USER_DMS_migration.Monitoring"></a>

資料遷移開始之後，您可以監控其狀態和進度。大型資料集的資料遷移需要數小時才能完成。為保持資料遷移的可靠性、可用性與高效能，請定期監控資料遷移的進度。

**檢查資料遷移的狀態和進度**

1. 在 RDS 主控台的**資料庫**頁面上選擇目標資料庫。

1. 在資料庫詳細資訊頁面上，選擇**資料遷移**索引標籤。

1. **相關聯資料遷移**區段會列出您的資料遷移。檢查**狀態**欄。

1. 對於執行中的資料遷移，**遷移進度**欄會顯示遷移資料的百分比。

1. 若要監控 CloudWatch 中的程序，請使用 **CloudWatch** 欄中的連結。

## 遷移狀態
<a name="USER_DMS_migration.Monitoring.status"></a>

對於您執行的每個資料遷移，RDS 主控台會顯示**狀態**。下列清單包含狀態：
+ `Ready`：資料遷移已準備好開始。
+ `Starting`：RDS 正在為您的資料遷移建立無伺服器環境。
+ `Load running`：RDS 正在執行完整載入遷移。
+ `Load complete, replication ongoing`：RDS 已完成完整載入，現在會複寫進行中的變更。此狀態僅適用於完整載入和 CDC 類型遷移。
+ `Replication ongoing`：RDS 正在複寫進行中的變更。此狀態僅適用於 CDC 類型遷移。
+ `Stopping`：RDS 正在停止資料遷移。當您從**動作**功能表選擇停止資料遷移時，就會套用此狀態。
+ `Stopped`：RDS 已停止資料遷移。
+ `Failed`：資料遷移失敗。請參閱日誌檔案以取得詳細資訊。
+ `Restarting`：資料遷移已從 CDC 起點重新啟動進行中的資料複寫。

# 教學課程：使用自訂參數和新選項群組建立 MySQL 資料庫執行個體
<a name="tutorial-creating-custom-OPG"></a>

在本教學課程中，您會使用自訂參數和新選項群組建立 MySQL 資料庫執行個體。如需自訂參數和選項群組的詳細資訊，請參閱 [Amazon RDS 的參數群組](USER_WorkingWithParamGroups.md) 和 [使用選項群組](USER_WorkingWithOptionGroups.md)。 

**重要**  
建立 AWS 帳戶無需付費。不過，透過完成本教學課程，您可能會因為使用 AWS 的資源而產生費用。如果不再需要這些資源，您可以在完成教學課程後刪除這些資源。

若要建立具有自訂組態和設定的資料庫執行個體，您可以使用自訂參數和新選項群組。如果您使用多個資料庫，並想要統一地為它們進行設定，自訂參數和新選項群組特別有用。

完成這些步驟的過程中，您將了解：
+ 如何透過自訂參數和新選項群組，使用 Amazon RDS 建立 MySQL 資料庫執行個體。
+ 如何針對 MySQL 資料庫執行個體使用特定參數和選項。

請執行下列任務以完成本教學：

1. 使用 MySQL 參數 `default_password_lifetime`和 `disconnect_on_expired_password` 建立自訂參數群組。

1. 使用 MySQL 選項功能 `MariaDB Audit Plugin` 建立新的選項群組。如需建立選項群組的步驟，請參閱 [使用選項群組](USER_WorkingWithOptionGroups.md)。

1. 使用您建立的自訂參數群組和新選項群組，建立 MySQL 資料庫執行個體。

**Topics**
+ [先決條件](#tutorial-creating-custom-OPG.Prerequisites)
+ [建立 Amazon RDS 參數群組](#tutorial-creating-custom-OPG.create-parameter-group)
+ [修改自訂參數群組中的參數值](#tutorial-creating-custom-OPG.add-parameters)
+ [建立新的 Amazon RDS 選項群組](#tutorial-creating-custom-OPG.create-option-group)
+ [將選項新增至新的選項群組](#tutorial-creating-custom-OPG.add-options)
+ [使用自訂參數和新選項群組建立 MySQL 資料庫執行個體](#tutorial-creating-custom-OPG.create-OPG)

## 先決條件
<a name="tutorial-creating-custom-OPG.Prerequisites"></a>

本教學課程需要您擁有具有管理存取權的 AWS 帳戶 和 使用者。如果您尚未完成設定，請完成下列區段中的步驟：
+ [註冊 AWS 帳戶](CHAP_SettingUp.md#sign-up-for-aws)
+ [建立具有管理存取權的使用者](CHAP_SettingUp.md#create-an-admin)

## 建立 Amazon RDS 參數群組
<a name="tutorial-creating-custom-OPG.create-parameter-group"></a>

在本教學課程中，您會了解如何在主控台中為 MySQL 資料庫執行個體建立具有 [default\$1password\$1lifetime](https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_default_password_lifetime) 和 [disconnect\$1on\$1expired\$1password](https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_disconnect_on_expired_password) 的自訂參數群組。`default_password_lifetime` 參數控制用戶端密碼自動過期之前的天數。`disconnect_on_expired_password` 參數控制 MySQL 資料庫執行個體是否在密碼過期時中斷用戶端連線。如需 MySQL 資料庫執行個體可用之其他參數的詳細資訊，請參閱 [MySQL 的參數](Appendix.MySQL.Parameters.md) 。

**建立參數群組**

1. 開啟 Amazon RDS 主控台，然後選擇**參數群組**。

1. 對於**自訂參數群組**，選擇**建立參數群組**。

1. 設定參數群組詳細資訊。

   1. 輸入參數群組的名稱。

   1. 輸入參數群組的描述。

   1. 對於**引擎類型**，選擇 **MySQL Community**。 

   1. 對於**參數群組系列**，選擇 **MySQL 8.0** 。

1. 選擇**建立**。

新的參數群組會出現在 Amazon RDS 主控台的**參數群組**頁面上。下列步驟說明如何修改參數值以自訂參數群組。

## 修改自訂參數群組中的參數值
<a name="tutorial-creating-custom-OPG.add-parameters"></a>

使用下列步驟來修改您在 [建立 Amazon RDS 參數群組](#tutorial-creating-custom-OPG.create-parameter-group) 中建立之參數群組中的參數值。

**修改參數群組中的參數值**

1. 開啟 Amazon RDS 主控台，然後選擇**參數群組**。

1. 對於**自訂參數群組**，選擇您建立的參數群組名稱。

1. 選擇**編輯**。

1. 在**篩選參數**搜尋方塊中，搜尋自訂參數 `default_password_lifetime`。

1. 選取參數旁的核取方塊，然後輸入要為此密碼生命週期參數設定的天數值。

1. 選取 **Save Changes** (儲存變更)。

1. 對參數 ` disconnect_on_expired_password` 重複相同的步驟。當您選擇此參數時，系統會提示您從下拉式功能表中選取 0 或 1 的值。選取 1 以將過期的密碼中斷連線。

自訂參數群組現在可以與 Amazon RDS for MySQL 8.0 資料庫執行個體建立關聯。接下來，為您的資料庫執行個體建立新的選項群組。

## 建立新的 Amazon RDS 選項群組
<a name="tutorial-creating-custom-OPG.create-option-group"></a>

使用 [MariaDB 稽核外掛程式](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.MySQL.Options.AuditPlugin.html)選項建立新的選項群組。此外掛程式會記錄伺服器活動以檢查安全性和合規性。如需適用於 MySQL 資料庫執行個體之其他自訂選項的詳細資訊，請參閱 [MySQL 資料庫執行個體的選項](Appendix.MySQL.Options.md)。

**建立選項群組**

1. 開啟 Amazon RDS 主控台，然後選擇**選項群組**。

1. 對於**選項群組**，選擇**建立群組**。

1. 設定選項群組詳細資訊。
   + 輸入選項群組的名稱。
   + 輸入選項群組的描述。
   + 對於**引擎**，選取 **mysql**。
   + 對於**主要引擎版本**，選擇 **8.0**。

1. 選擇**建立**。

新的選項群組會出現在 Amazon RDS 主控台的**選項群組**頁面上。下列步驟說明如何將選項新增至選項群組。

## 將選項新增至新的選項群組
<a name="tutorial-creating-custom-OPG.add-options"></a>

使用下列步驟，將選項新增至您在 [建立新的 Amazon RDS 選項群組](#tutorial-creating-custom-OPG.create-option-group) 中建立的新選項群組。

**將選項新增至選項群組**

1. 開啟 Amazon RDS 主控台，然後選擇**選項群組**。

1. 對於**選項群組**，選取您建立的選項群組名稱。

1. 在**選項**底下，選擇**新增選項**。

1. 設定選項群組詳細資訊。
   + 對於**選項名稱**，選擇 MariaDB 稽核外掛程式選項，**MARIADB\$1AUDIT\$1PLUGIN**。
   + 對於**選項設定**，保留選取所有預設選項。
   + 對於**立即套用**，選擇**是**。

1. 選擇**建立選項**。

新的選項群組現在應該適用於所有相關聯的資料庫執行個體。接下來，使用自訂參數和新選項群組建立 MySQL 資料庫執行個體。

## 使用自訂參數和新選項群組建立 MySQL 資料庫執行個體
<a name="tutorial-creating-custom-OPG.create-OPG"></a>

最後，使用您在先前步驟中建立的自訂參數和新選項群組，建立 MySQL 資料庫執行個體。下列步驟說明如何使用自訂參數和新選項群組建立 MySQL 資料庫執行個體。

**使用自訂參數和新選項群組建立資料庫執行個體**

1. 開啟 Amazon RDS 主控台並選擇**資料庫**。

1. 選擇**建立資料庫**。

1. 對於**選擇資料庫建立方法**，選擇**標準建立**。

1. 對於**引擎選項**，選擇 **MySQL** 。

1. 對於**可用性與持久性**，選擇**單一資料庫執行個體**。此步驟是支援自訂參數或新選項群組的必要步驟。

1. 選取**其他組態**。
   + 對於**初始資料庫名稱**，選擇資料庫執行個體的名稱。
   + 在**資料庫參數群組**下拉式清單底下，選取您先前建立之自訂參數群組的名稱。
   + 在**選項群組**下拉式清單底下，選取您先前建立之新選項群組的名稱。

1. 對於本教學課程，您可以保留任何其他資料庫設定的預設設定，或視需要進行修改。

1. 選擇**建立資料庫**。

RDS 會使用自訂參數群組和新選項群組建立新的 MySQL 資料庫執行個體。若要查看此資料庫的詳細資訊，請參閱 Amazon RDS 主控台的**資料庫**頁面。

在本教學課程中，您使用自訂參數和新選項群組，以量身打造的設定來設定 MySQL 資料庫執行個體。此新建立的 MySQL 資料庫執行個體會使用參數 `default_password_lifetime` 來管理使用者密碼生命週期。此資料庫執行個體也會使用參數 `disconnect_on_expired_password` 將使用過期密碼進行連線的使用者中斷連線。您也可以使用 `MariaDB Audit Plugin` 選項來追蹤伺服器活動。若要最佳化資料庫，您可以在自訂參數群組中套用其他設定，並新增選項。

 完成建立自訂資料庫執行個體之後，您應該刪除資源，以避免產生不必要的成本。若要刪除資料庫執行個體，請遵循 [刪除資料庫執行個體](USER_DeleteInstance.md) 中的指示。