

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

# 建立 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 接著建立資料庫子網路群組。<br />當私有子網路可用時，RDS 會使用與該子網路相關聯的路由表，並將其建立的任何子網路新增至此路由表。當沒有可用的私有子網路時，RDS 會建立沒有網際網路閘道存取權的路由表，並將其建立的子網路新增至路由表。<br />RDS 也可讓您使用現有的資料庫子網路群組。如果想要使用您選擇的現有資料庫子網路群組，請選取 **Choose existing** (選擇現有的)。 | 
| **公開存取** | RDS 選擇 **No** (否)，使資料庫執行個體無法公開存取。<br />為了安全起見，最佳實務是保持資料庫為私有，並確保無法從網際網路存取該資料庫。 | 
| **VPC security group (firewall)** (VPC 安全群組 (防火牆)) | RDS 會建立與資料庫執行個體關聯的新安全群組。安全群組命名為 `rds-ec2-{{n}}`，其中 `{{n}}` 為數字。此安全群組包含以 EC2 VPC 安全群組 (防火牆) 做為來源的傳入規則。與資料庫執行個體關聯的安全群組可讓 EC2 執行個體存取資料庫執行個體。<br />RDS 也會建立與 EC2 執行個體關聯的新安全群組。安全群組命名為 `ec2-rds-{{n}}`，其中 `{{n}}` 為數字。此安全群組包含傳出規則，並將資料庫執行個體的 VPC 安全群組做為來源。此安全群組允許 EC2 執行個體將流量傳送到資料庫執行個體。<br />您可以選擇 **Create New** (建立新的)，並輸入新安全群組的名稱，以新增其他的新安全群組。<br />您可以選擇 **Choose existing** (選擇現有)，然後選取要新增的安全群組，以新增現有的安全群組。 | 
| **可用區域** | 當您在 **Availability & durability** (可用性和耐用性) (單一 AZ 部署) 選擇 **Single DB instance** (單一執行個體) 時，RDS 會選擇 EC2 執行個體的可用區域。<br />當您在 **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 CLI、 或 RDS API 建立 AWS 管理主控台 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)。