読み取り専用レプリカを作成する

読み取りスループットと可用性を向上させるには、既存の AlloyDB Omni サーバーの AlloyDB Omni レプリカ サーバーを作成します。レプリカ サーバーは、プライマリ データベース サーバーの読み取り専用クローンを提供します。プライマリ サーバーのデータを反映するように、独自のデータを継続的に更新します。

以降のセクションでは、レプリケーション用に AlloyDB Omni プライマリ サーバーを構成し、レプリカ サーバーを構成し、プライマリ サーバーでレプリケーション ステータスを確認する手順について説明します。

レプリケーション用にプライマリ サーバーを構成する

  1. プライマリ サーバーのホストのネットワークまたはファイアウォールの設定を更新して、TCP ポート 5432 を介してレプリカ サーバーのホストからの上り(内向き)トラフィックを許可します。

  2. /var/alloydb/config/pg_hba.conf ファイルに次の行を追加します。

    host all                alloydbreplica     IP_RANGE trust
    host replication        alloydbreplica     IP_RANGE trust
    host alloydbmetadata    alloydbmetadata    IP_RANGE trust
    

    IP_RANGE は、レプリカマシンが配置されているサブネットの IP 範囲(CIDR 表記)に置き換えます。例: 203.0.113.0/24

  3. プライマリ サーバーを再起動します。

    sudo alloydb database-server stop
    sudo alloydb database-server start

レプリカ サーバーを作成して構成する

AlloyDB Omni レプリカ サーバーを作成して構成するには、次の操作を行います。

  1. レプリカをホストするシステムに AlloyDB Omni をインストールします。

    alloydb database-server install コマンドを実行するときに、レプリカの作成に固有のフラグを含めます。

    sudo alloydb database-server install \
      --data-dir=DATA_DIR \
      --pg-port=PORT \
      --replica-source-ip=SOURCE_IP \
      --replica-source-port=SOURCE_PORT

    次のように置き換えます。

    • DATA_DIR: このレプリカがデータ ディレクトリに使用するファイル システム パス。

    • PORT: AlloyDB Omni が接続を受け入れるようにする TCP ポート。この値を指定しない場合、AlloyDB Omni はデフォルト値 5432 を適用します。

    • SOURCE_IP: レプリケート元のプライマリ AlloyDB Omni インスタンスの IP アドレス。

    • SOURCE_PORT: レプリケート元のプライマリ AlloyDB Omni インスタンスの TCP ポート。この値を指定しない場合、AlloyDB Omni はデフォルト値 5432 を適用します。

  2. レプリカがプライマリ サーバーとネットワーク接続していることを確認します。

    ping SOURCE_IP
  3. レプリカを開始します。

    sudo alloydb database-server start

プライマリ サーバーでレプリケーション ステータスを確認する

レプリケーションが正しく構成されていることを確認するには、プライマリ サーバーのホストで次のコマンドを実行します。

  docker exec -it pg-service psql -h localhost -U alloydbadmin -c "select * from pg_stat_replication"

出力テーブルには、プライマリ データベース サーバーに接続されているレプリカごとに 1 行が含まれます。

レプリケーションを設定すると、プライマリ データベース サーバーの行に対するすべての挿入、更新、削除が数秒以内にレプリカで読み取り可能になります。