Amazon RDS for Db2 のレプリカの使用 - Amazon Relational Database Service

Amazon RDS for Db2 のレプリカの使用

RDS for Db2 DB インスタンス間のレプリケーションを設定するには、レプリカデータベースを作成します。RDS for Db2 レプリカと他の DB エンジンの違いの概要については、「DB エンジンのリードレプリカ間の違い」を参照してください。

Db2 レプリカデータベースは、プライマリデータベースの物理コピーです。スタンバイモードの Db2 レプリカは、スタンバイレプリカと呼ばれます。Db2 では、レプリカに対する読み取りや書き込みは許可されませんが、レプリカを昇格させて書き込み可能にすることができます。昇格させたレプリカには、昇格をリクエストした時点までにレプリケートされたデータが含まれます。RDS for Db2 は、Db2 の高可用性ディザスタリカバリ (HADR) をレプリケーションに使用します。詳細については、IBM Db2 ドキュメントの「High availability disaster recovery (HADR)」を参照してください。

スタンバイレプリカ

Db2 レプリカを作成または変更するときは、スタンバイモードにすることができます。スタンバイレプリカでは、Db2 環境変数 DB2_HADR_ROSOFF に設定し、レプリカデータベースがユーザー接続を受け付けないようにします。スタンバイレプリカの主な用途は、クロスリージョンのディザスタリカバリです。

スタンバイレプリカは、読み取り専用のワークロードを処理できません。スタンバイレプリカにはアーカイブログがありません。

1 つのソース DB インスタンスから最大 3 つのリードレプリカを作成できます。

データベースのアクティブ化

Db2 HADR はデータベースレベルで設定します。レプリカを作成すると、RDS が完全に管理する rdsadmin を含むすべての Db2 データベースに HADR が設定されます。Db2 レプリカを作成する前に、すべてのデータベースを明示的にアクティブ化する必要があります。そうしないと、レプリカの作成は失敗し、Amazon RDS でイベントが発生します。DB インスタンスに 1 つ以上のレプリカがある場合、rdsadmin.activate_database または rdsadmin.deactivate_database ストアドプロシージャを使用して DB インスタンスのデータベースをアクティブ化または非アクティブ化することはできません。ただし、rdsadmin.reactivate_database ストアドプロシージャを呼び出してデータベースを再アクティブ化することはできます。詳細については、「RDS for Db2 のデータベースのストアドプロシージャ」を参照してください。

HADR 設定

データベースに接続して db2 get db cfg を実行すると、データベースのすべての HADR 設定を表示できます。

アーカイブログの保持

Amazon RDS は、以下の条件が満たされると、プライマリ DB インスタンスからログを消去します。

  • ログは 2 時間以上経過している。

  • アーカイブログに設定した保持時間が経過している。

  • アーカイブログは、すべてのレプリカ DB インスタンスに正常にレプリケートされている。この条件は、同じ AWS リージョン内の DB インスタンスと、クロスリージョンの DB インスタンスの両方に適用されます。

アーカイブログの保持時間の設定については、「rdsadmin.set_archive_log_retention」を参照してください。

Amazon RDS は、各データベースを個別にチェックしてクリーンアップします。データベースが HADR 接続を失った場合や、接続に関する情報が利用できない場合、Amazon RDS はデータベースをスキップし、アーカイブログを消去しません。

Db2 レプリケーション中の停止

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

DB スナップショットが Db2 レプリカになります。Amazon RDS は、サービスを中断することなく、ソースデータベースとレプリカに必要なパラメータとアクセス許可を設定します。同様に、レプリカを削除する場合も、停止は発生しません。