読み取りスループットと可用性を向上させるには、既存の AlloyDB Omni サーバーの AlloyDB Omni レプリカ サーバーを作成します。レプリカ サーバーは、プライマリ データベース サーバーの読み取り専用クローンを提供します。プライマリ サーバーのデータを反映するように、独自のデータを継続的に更新します。
以降のセクションでは、レプリケーション用に AlloyDB Omni プライマリ サーバーを構成し、レプリカ サーバーを構成し、プライマリ サーバーでレプリケーション ステータスを確認する手順について説明します。
レプリケーション用にプライマリ サーバーを構成する
プライマリ サーバーのホストのネットワークまたはファイアウォールの設定を更新して、TCP ポート
5432
を介してレプリカ サーバーのホストからの上り(内向き)トラフィックを許可します。/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
プライマリ サーバーを再起動します。
sudo alloydb database-server stop
sudo alloydb database-server start
レプリカ サーバーを作成して構成する
AlloyDB Omni レプリカ サーバーを作成して構成するには、次の操作を行います。
レプリカをホストするシステムに 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
を適用します。
レプリカがプライマリ サーバーとネットワーク接続していることを確認します。
ping SOURCE_IP
レプリカを開始します。
sudo alloydb database-server start
プライマリ サーバーでレプリケーション ステータスを確認する
レプリケーションが正しく構成されていることを確認するには、プライマリ サーバーのホストで次のコマンドを実行します。
docker exec -it pg-service psql -h localhost -U alloydbadmin -c "select * from pg_stat_replication"
出力テーブルには、プライマリ データベース サーバーに接続されているレプリカごとに 1 行が含まれます。
レプリケーションを設定すると、プライマリ データベース サーバーの行に対するすべての挿入、更新、削除が数秒以内にレプリカで読み取り可能になります。