

# RDS for Db2 レプリカの要件と考慮事項
<a name="db2-read-replicas.limitations"></a>

Db2 レプリカの要件は、ライセンスとバージョニング、バックアップと復元に関する考慮事項、レプリケーションの動作、一般的な運用上の考慮事項のいくつかのカテゴリに分類されます。Db2 レプリカを作成する前に、以下の要件と考慮事項をよく確認してください。

## RDS for Db2 レプリカのバージョンとライセンスの要件
<a name="db2-read-replicas.limitations.versions-and-licenses"></a>

RDS for Db2 レプリカを作成する前に、バージョンとライセンスモデルに関する次の情報を確認してください。
+ **サポートされるバージョン** – すべての Db2 11.5 バージョンは、レプリカ DB インスタンスをサポートしています。

  ソース DB インスタンスとレプリカ DB インスタンスは、同じメジャーバージョンを使用する必要があります。Db2 レプリカはマイナーバージョンアップグレードをサポートしていますが、メジャーバージョンアップグレードはサポートしていません。DB インスタンスのアップグレードに関する情報については、「[DB インスタンスのエンジンバージョンのアップグレード](USER_UpgradeDBInstance.Upgrading.md)」を参照してください。
**注記**  
ソース DB インスタンスをアップグレードすると、すべてのレプリカが自動的にアップグレードされ、バージョンの互換性が維持されます。
+ **有効なライセンスモデルとレプリカモード** – Db2 の Advanced Edition (AE) と Standard Edition (SE) のどちらも、Bring Your Own License (BYOL) モデルと Db2 ライセンス (AWS Marketplace モデル経由) の両方で、読み取り専用モードまたはスタンバイモードでレプリカを作成できます。
+ **カスタムパラメータグループ** – レプリカのカスタムパラメータグループを指定する必要があります。

  BYOL モデルを使用するレプリカの場合、このカスタムパラメータグループには IBM Site ID と IBM Customer ID を含める必要があります。詳細については、「[Db2 の Bring-Your-Own-License (BYOL) の IBM ID](db2-licensing.md#db2-prereqs-ibm-info)」を参照してください。レプリカのカスタムパラメータグループは、AWS マネジメントコンソール、AWS CLI、または RDS API を使用して指定できます。
+ **vCPU の数**は、レプリカモードとライセンスモデルによって異なります。
  + **スタンバイレプリカ**は、DB インスタンスのサイズに関係なく、常に 2 つの vCPU を使用します。
    + **BYOL モデル** – AWS License Manager の設定は RDS for Db2 DB インスタンスが 2 つの vCPU を使用することを示します。
    + **AWS Marketplace モデル経由の Db2 ライセンス** – 請求には 2 つの vCPU のライセンスコストが反映されます。
  + **読み取り専用レプリカ**は、DB インスタンスサイズと同じ vCPU 数を使用します。
    + **BYOL モデル** – AWS License Manager 設定は、RDS for Db2 DB インスタンスが DB インスタンスサイズに一致する同じ数の vCPU を使用することを示しています。
    + **AWS Marketplace モデル経由の Db2 ライセンス** – 請求書には、DB インスタンスサイズに一致する同じ数の vCPU ライセンスコストが反映されます。

## RDS for Db2 レプリカのバックアップと復元に関する考慮事項
<a name="db2-read-replicas.limitations.backups"></a>

レプリカバックアップの動作は、プライマリデータベースバックアップとは異なります。次のバックアップと復元の要件を検討してください。
+ RDS for Db2 レプリカのスナップショットを作成したり、自動バックアップを有効にしたりするには、必ずバックアップ保持期間を手動で設定してください。自動バックアップは、デフォルトでは有効になっていません。
+ レプリカのバックアップを復元するときは、バックアップが実行された時刻ではなく、データベース時刻に復元することになります。データベース時刻は、バックアップのデータにトランザクションが最後に適用された時刻を指します。レプリカはプライマリよりも数分または数時間遅れることがあるため、この違いは重要です。複数のデータベースがある場合、RDS for Db2 は最も早いデータベース時間を使用します。

  違いを確認するには、AWS CLI の [describe-db-snapshots](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-snapshots.html) コマンドを実行するか、RDS API の [DescribeDBSnapshots](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBSnapshots.html) オペレーションを呼び出します。`SnapshotDatabaseTime` 値と `OriginalSnapshotCreateTime` 値を比較します。`SnapshotDatabaseTime` 値は、レプリカバックアップのデータベース時刻です。`OriginalSnapshotCreateTime` 値は、プライマリデータベースに最後に適用されたトランザクションです。

バックアップおよびバックアップを復元する方法については、「[RDS for Db2 レプリカのバックアップの使用](db2-read-replicas.backups.md)」を参照してください。

## RDS for Db2 レプリカのレプリケーションに関する考慮事項
<a name="db2-read-replicas.limitations.replication"></a>

Db2 レプリカは、特定の制限と動作を持つ HADR テクノロジーを使用します。次のレプリケーションに関する考慮事項を確認してください。
+ レプリケーションは、RDS for Db2 DB インスタンスのすべてのデータベースに Db2 HADR を使用します。
+ レプリケーションは `LOAD` コマンドをサポートしていません。ソース DB インスタンスから `LOAD` コマンドを実行すると、不整合なデータが返されます。
+ RDS for Db2 は、以下の項目をレプリケートしません。
  + ストレージアクセス。ストレージアクセスに依存する、外部テーブルなどのデータに注意してください。
  + ログに記録されない非インライン LOB。
  + 外部ストアドプロシージャのバイナリ (C または Java)。
+ スタンバイレプリカの場合、RDS for Db2 は以下の項目をレプリケートします。
  + マスターユーザーを除くローカルユーザー
  + データベース設定パラメータ
+ 読み取り専用レプリカの場合、RDS for Db2 は以下の項目をレプリケートします。
  + マスターユーザーを除くローカルユーザー
  + SID グループマッピング

## RDS for Db2 レプリカに関するその他の考慮事項
<a name="db2-read-replicas.limitations.miscellaneous"></a>

Db2 レプリカには、追加の運用上の考慮事項が適用されます。以下の項目を確認します。
+ RDS for Db2 は、データベース設定をレプリカにレプリケートします。RDS for Db2 は、レプリカの昇格時に、各データベースを非アクティブ化およびアクティブ化します。
+ RDS for Db2 は、(マスターユーザーではなく) ローカルユーザーと SID グループマッピングをレプリカにレプリケートします。レプリカのマスターユーザーは変更できます。詳細については、「[Amazon RDS DB インスタンスを変更する](Overview.DBInstance.Modifying.md)」を参照してください。
+ すべてのデータベースはアクティブ状態である必要があります。データベースのアクティブ化については、「[RDS for Db2 のデータベースのストアドプロシージャ](db2-sp-managing-databases.md)」を参照してください。
+ レプリカを作成する前に、データベースを作成、削除、復元、またはロールフォワードするすべてのストアドプロシージャを完了する必要があります。これらのストアドプロシージャについては、「[RDS for Db2 のデータベースのストアドプロシージャ](db2-sp-managing-databases.md)」を参照してください。
+ レプリカが作成されると、Amazon RDS はソース DB インスタンスのすべてのデータベースについて、データベースレベルのパラメータ `blocknonlogged` を `YES` に設定します。ソースレプリカが再びスタンドアロンインスタンスになると、Amazon RDS は値を `NO` に戻します。詳細については、IBM Db2 ドキュメントの「[blocknonlogged - Block creation of tables that allow non-logged activity configuration parameter](https://www.ibm.com/docs/en/db2/11.1?topic=dcp-blocknonlogged-block-creation-tables-that-allow-non-logged-activity)」を参照してください。
+ レプリカが作成されると、Amazon RDS はソース DB インスタンスのすべてのデータベースについて、データベースレベルのパラメータ `logindexbuild` を `YES` に設定します。ソースレプリカが再びスタンドアロンインスタンスになると、Amazon RDS は値を `NO` に戻します。詳細については、IBM Db2 ドキュメントの「[logindexbuild - Log index pages created configuration parameter](https://www.ibm.com/docs/en/db2/11.1?topic=parameters-logindexbuild-log-index-pages-created)」を参照してください。