

# リードレプリカの作成
<a name="USER_ReadRepl.Create"></a>

AWS マネジメントコンソール、AWS CLI、または RDS API を使用して、既存の DB インスタンスからリードレプリカを作成できます。リードレプリカは、レプリケーション元のソース DB インスタンスの DB インスタンス識別子である `SourceDBInstanceIdentifier` を指定することで作成できます。

リードレプリカを作成すると、Amazon RDS はソース DB インスタンスの DB スナップショットを取得し、レプリケーションを開始します。DB スナップショットオペレーションが始まると、ソース DB インスタンスでごく短時間の I/O 停止が発生します。通常、I/O 停止は約 1 秒続きます。ソース DB インスタンスがマルチ AZ 配置の場合は、I/O 停止を回避できます。スナップショットがセカンダリ DB インスタンスから取得されるためです。

アクティブな長時間実行トランザクションの場合、リードレプリカの作成プロセスに時間がかかることがあります。長時間実行トランザクションが完了してから、リードレプリカを作成することをお勧めします。同じソース DB インスタンスから複数のリードレプリカを同時に作成する場合、Amazon RDS は初回の作成アクションの開始時にスナップショットを 1 つだけ取得します。

リードレプリカを作成するときは、いくつかの考慮事項があります。最初に、バックアップ保持期間を 0 以外の値に設定することで、ソース DB インスタンスで自動バックアップを有効にする必要があります。この要件は、別のリードレプリカのソース DB インスタンスであるリードレプリカにも適用されます。RDS for MySQL のリードレプリカで自動バックアップを有効にするには、まずリードレプリカを作成し、次にそのリードレプリカを変更して自動バックアップを有効にします。

**注記**  
AWS リージョン 内では、Amazon VPC に基づくすべてのリードレプリカをソース DB インスタンスと同じ仮想プライベートクラウド (VPC) に作成することを強くお勧めします。リードレプリカをソース DB インスタンスとは異なる VPC に作成すると、クラスレスドメイン間ルーティング (CIDR) の範囲がレプリカと RDS システムとの間で重複する可能性があります。CIDR が重複すると、レプリカが不安定になり、レプリカに接続するアプリケーションに悪影響を及ぼす可能性があります。リードレプリカの作成時にエラーが発生した場合は、別のターゲット DB サブネットグループを選択します。詳細については、「[VPC 内の DB インスタンスの使用](USER_VPC.WorkingWithRDSInstanceinaVPC.md)」を参照してください。  
コンソールまたは AWS CLI を使用して別の AWS アカウント でリードレプリカを直接作成する方法はありません。

## コンソール
<a name="USER_ReadRepl.Create.Console"></a>

**ソース DB インスタンスからリードレプリカを作成するには**

1. AWS マネジメントコンソール にサインインし、Amazon RDS コンソール ([https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)) を開きます。

1. ナビゲーションペインで、[**データベース**] を選択します。

1. リードレプリカのソースとして使用する DB インスタンスを選択します。

1. [**アクション**] で [**リードレプリカの作成**] を選択します。

1. [**DB インスタンス識別子**] に、リードレプリカの名前を入力します。

1. インスタンス設定を選択します。リードレプリカでもソース DB インスタンスと同等以上の DB インスタンスクラスとストレージタイプを使用することをお勧めします。

1. **AWS リージョン** では、リードレプリカの作成先のリージョンを指定します。

1. **[ストレージ]** では、割り当てられたストレージのサイズや、ストレージの自動スケーリングを使用するかどうかを指定します。

   ソース DB インスタンスが最新のストレージ設定になっていない場合は、**[ストレージファイルシステム設定のアップグレード]** オプションを使用できます。この設定を有効にすると、リードレプリカのファイルシステムが適切な設定にアップグレードされます。詳細については、「[DB インスタンスのストレージファイルシステムのアップグレード](USER_PIOPS.UpgradeFileSystem.md)」を参照してください。

1. **[可用性]** では、レプリカのフェイルオーバーをサポートするために別のアベイラビリティーゾーンにレプリカのスタンバイを作成するかどうかを選択します。
**注記**  
リードレプリカは、ソースのデータベースがマルチ AZ DB インスタンスであるかどうかに関係なく、マルチ AZ DB インスタンスとして作成できます。

1. 他の DB インスタンスの設定を指定します。各可用性設定の詳細については、「[DB インスタンスの設定](USER_CreateDBInstance.Settings.md)」を参照してください。

1. 暗号化されたリードレプリカを作成するには、**[その他の設定]** を展開してから、次の設定を指定します。

   1. [**暗号化の有効化**] を選択します。

   1. [**AWS KMS key**] では、KMS キーの AWS KMS key 識別子を選択します。
**注記**  
 ソース DB インスタンスは暗号化する必要があります。DB インスタンスの暗号化については、「[Amazon RDS リソースの暗号化](Overview.Encryption.md)」を参照してください。

1. [**Create read replica**] を選択します。

リードレプリカが作成されると、RDS コンソールの [**Databases**] (データベース) ページに表示されます。[**Role**] (ロール) 列に [**Replica**] (レプリカ) が表示されます。

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

ソース DB インスタンスからリードレプリカを作成するには、AWS CLI コマンド [create-db-instance-read-replica](https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-instance-read-replica.html) を使用します。この例では、割り当てられたストレージサイズを設定し、ストレージの自動スケーリングを有効にします。また、ファイルシステムを適切な設定にアップグレードします。

他の設定を指定できます。各設定の詳細については、「[DB インスタンスの設定](USER_CreateDBInstance.Settings.md)」を参照してください。

**Example**  
Linux、macOS、Unix の場合:  

```
aws rds create-db-instance-read-replica \
    --db-instance-identifier myreadreplica \
    --source-db-instance-identifier mydbinstance \
    --allocated-storage 100 \
    --max-allocated-storage 1000 \
    --upgrade-storage-config
```
Windows の場合:  

```
aws rds create-db-instance-read-replica ^
    --db-instance-identifier myreadreplica ^
    --source-db-instance-identifier mydbinstance ^
    --allocated-storage 100 ^
    --max-allocated-storage 1000 ^
    --upgrade-storage-config
```

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

ソースの Db2、MySQL、MariaDB、Oracle、PostgreSQL、または SQL Server DB インスタンスからリードレプリカを作成するには、以下の必須パラメータを指定して Amazon RDS API の [CreateDBInstanceReadReplica](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstanceReadReplica.html) オペレーションを呼び出します。
+ `DBInstanceIdentifier`
+ `SourceDBInstanceIdentifier`

**注記**  
 RDS for Db2 スタンバイレプリカを作成するには、オプションの `ReplicaMode` オペレーションを `mounted` に設定します。