

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

# 建立 Amazon RDS on AWS Outposts 的僅供讀取複本
<a name="rds-on-outposts.rr"></a>

Amazon RDS on AWS Outposts 會使用 MySQL 和 PostgreSQL 資料庫引擎的內建複寫功能，從來源資料庫執行個體建立僅供讀取複本。來源資料庫執行個體會成為主要資料庫執行個體。對主要資料庫執行個體所做的更新，會以非同步方式複製到僅供讀取複本。您可以將讀取查詢從應用程式路由到僅供讀取複本，以減少主要資料庫執行個體的負載。使用僅供讀取複本，您可以彈性地擴展超越單一資料庫執行個體的容量限制，以處理高讀取量的資料庫工作負載。

當您從 RDS on Outposts 資料庫執行個體建立僅供讀取複本時，僅供讀取複本可以使用客戶擁有的 IP 地址 (CoIP)。如需詳細資訊，請參閱 [適用於 AWS Outposts 上 Amazon RDS 之客戶擁有的 IP 地址](rds-on-outposts.coip.md)。

RDS on Outposts 上的僅供讀取複本具有下列限制：
+ 您無法在 RDS on Outposts 資料庫執行個體上建立 RDS for SQL Server 的僅供讀取複本。
+ RDS on Outposts 上不支援跨區域僅供讀取複本。
+ RDS on Outposts 上不支援階層式僅供讀取複本。
+ 來源 RDS on Outposts 資料庫執行個體不能具有本機備份。來源資料庫執行個體的備份目標必須是您的 AWS 區域。
+ 僅供讀取複本需要客戶擁有的 IP (CoIP) 集區。如需詳細資訊，請參閱 [適用於 AWS Outposts 上 Amazon RDS 之客戶擁有的 IP 地址](rds-on-outposts.coip.md)。
+ RDS on Outposts 上的僅供讀取複本只能在與來源資料庫執行個體相同的虛擬私有雲端 (VPC) 中建立。
+ RDS on Outposts 上的僅供讀取複本可位於與來源資料庫執行個體相同的 Outpost 上，或是相同 VPC 中的另一個 Outpost 上。
+ 您無法為使用 AWS KMS External Key Store (XKS) 加密的資料庫執行個體建立僅供讀取複本。

您可以使用 AWS 管理主控台、AWS CLI 或 RDS API，從現有的 RDS on Outposts 資料庫執行個體建立僅供讀取複本。如需僅供讀取複本的詳細資訊，請參閱 [使用資料庫執行個體僅供讀取複本](USER_ReadRepl.md)。

## 主控台
<a name="outposts-rr.Console"></a>

**若要從來源資料庫執行個體建立僅供讀取複本**

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

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

1. 選擇要作為僅供讀取複本來源的資料庫執行個體。

1. 在 **Actions (動作)** 中選擇 **Create read replica (建立僅供讀取複本)**。

1. 在 **DB instance identifier (資料庫執行個體識別碼)** 中，輸入僅供讀取複本的名稱。

1. 指定 **Outposts Connectivity (Outposts 連線能力)** 的設定。這些設定適用於使用虛擬私有雲端 (VPC) (具有資料庫執行個體的資料庫子網路) 的 Outpost。您的 VPC 必須以 Amazon VPC 服務為基礎。

1. 選擇您的 **DB instance class** (資料庫執行個體類別)。建議您使用與僅供讀取複本來源資料庫執行個體相同或更大的資料庫執行個體類別和儲存體類型。

1. 若為 **Multi-AZ deployment** (多可用區部署)，請選擇 **Create a standby instance (recommended for production usage)** (建立備用執行個體，推薦用於生產用途)，在不同的可用區域中建立備用資料庫執行個體。

   建立您的僅供讀取複本做為多可用區域資料庫執行個體，與來源資料庫是否為多可用區域資料庫執行個體無關。

1. (選用) 在 **Connectivity** (連線能力) 下，設定 **Subnet Group** (子網路群組) 和 **Availability Zone** (可用區域) 的值。

   如果您同時指定 **Subnet Group** (子網路群組) 和 **Availability Zone** (可用區域) 的值，則系統會在與資料庫子網路群組中可用區域相關聯的 Outpost 上建立僅供讀取複本。

   如果您針對 **Subnet Group** (子網路群組) 指定一值，並針對 **Availability Zone** (可用區域) 指定 **No preference** (無偏好設定)，則系統會在資料庫子網路群組的隨機 Outpost 上建立僅供讀取複本。

1. 在 **AWS KMS key**中，選擇 KMS 金鑰的 AWS KMS key識別碼。

    僅供讀取複本必須加密。

1. 視需要選擇其他選項。

1. 選擇 **Create read replica (建立僅供讀取複本)**。

建立讀取複本之後，您可以在 RDS 主控台的 **Databases** (資料庫) 頁面上看到它。它在 **Role** (角色) 欄中顯示 **Replica** (複本)。

## AWS CLI
<a name="outposts-rr.CLI"></a>

若要從來源 MySQL 或 PostgreSQL 資料庫執行個體建立僅供讀取複本，請使用 AWS CLI 命令 [create-db-instance-read-replica](https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-instance-read-replica.html)。

您可以指定 `--db-subnet-group-name` 和 `--availability-zone` 選項來控制建立僅供讀取複本的位置：
+ 如果您同時指定 `--db-subnet-group-name` 和 `--availability-zone` 選項，則系統會在與資料庫子網路群組中可用區域相關聯的 Outpost 上建立僅供讀取複本。
+ 如果您指定 `--db-subnet-group-name` 選項，但未指定 `--availability-zone` 選項，則系統會在資料庫子網路群組的隨機 Outpost 上建立僅供讀取複本。
+ 如果您未指定任何一選項，則系統會在與來源 RDS on Outposts 資料庫執行個體相同的 Outpost 上建立僅供讀取複本。

下列範例會透過包含 `--db-subnet-group-name` 和 `--availability-zone` 選項，建立複本並指定僅供讀取複本的位置。

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

```
aws rds create-db-instance-read-replica \
    --db-instance-identifier myreadreplica \
    --source-db-instance-identifier mydbinstance \
    --availability-zone us-west-2a
```
針對 Windows：  

```
aws rds create-db-instance-read-replica ^
    --db-instance-identifier myreadreplica ^
    --source-db-instance-identifier mydbinstance ^
    --availability-zone us-west-2a
```

## RDS API
<a name="outposts-rr.API"></a>

若要從來源 MySQL 或 PostgreSQL 資料庫執行個體建立僅供讀取複本，請呼叫 Amazon RDS API [CreateDBInstanceReadReplica](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstanceReadReplica.html) 操作，其中包含下列必要參數：
+ `DBInstanceIdentifier`
+ `SourceDBInstanceIdentifier`

您可以指定 `DBSubnetGroupName` 和 `AvailabilityZone` 參數來控制建立僅供讀取複本的位置：
+ 如果您同時指定 `DBSubnetGroupName` 和 `AvailabilityZone` 參數，則系統會在與資料庫子網路群組中可用區域相關聯的 Outpost 上建立僅供讀取複本。
+ 如果您指定 `DBSubnetGroupName` 參數，但未指定 `AvailabilityZone` 參數，則系統會在資料庫子網路群組的隨機 Outpost 上建立僅供讀取複本。
+ 如果您未指定任何一參數，則系統會在與來源 RDS on Outposts 資料庫執行個體相同的 Outpost 上建立僅供讀取複本。