始める前に
コンポーネントをインストールする前に、次の前提条件を満たしていることを確認してください。
- オーケストレータをインストールする: AlloyDB Omni オーケストレータ Ansible コレクションまたは CLI がコントロール ノードにインストールされていることを確認します。
- マシンをプロビジョニングする: スタンドアロンや高可用性など、選択したアーキテクチャに従って RHEL9 仮想マシンをプロビジョニングする必要があります。
- ネットワークとファイアウォールを構成する: ノード間で必要なすべてのポートが開いていることを確認します。これには、データベース トラフィック用の
5432、etcd用の2379/2380、クラスタ マネージャーとノード マネージャーで使用される管理ポート6703、6702、6700が含まれます。 - ソフトウェア パッケージの依存関係を確認する: プライベート Yum リポジトリを介してソフトウェア パッケージを管理する場合は、リポジトリ管理の 手順に沿って、依存する RPM ファイルをリポジトリに含めます。
デプロイ仕様インベントリを準備する
オーケストレータは、Ansible インベントリ形式のデプロイ仕様ファイルを使用して、クラスタ トポロジを把握します。ノードの詳細を含む deployment_spec.yaml という名前のファイルを作成します。
alloydbomni:
vars:
cluster_manager:
name: "MANAGEMENT_CLUSTER_NAME"
etcd:
setup: SETUP_ETCD
config_forcewrite: FORCE_OVERWRITE_ETCD
# version: ETCD_VERSION # Optional: defaults to the latest version
# repo_url: ETCD_REPOSITORY_URL # Optional
# repo_gpg_key_url: GPG_KEY # Optional
alloydbomni:
major_version: "PG_VERSION" # Mandatory: for example, 18
# version: ALLOYDB_OMNI_VERSION # Optional: defaults to the latest version
# repo_url: ALLOYDB_OMNI_COMMON_REPOSITORY_URL # Optional
# repo_gpg_key_url: GPG_KEY # Optional
alloydbomni_monitor:
# version: ALLOYDB_OMNI_MONITOR_VERSION # Optional: defaults to the latest version
# repo_url: ALLOYDB_OMNI_COMMON_REPOSITORY_URL # Optional
# repo_gpg_key_url: GPG_KEY # Optional
alloydbomni_cluster_manager:
# version: ALLOYDB_OMNI_CLUSTER_MANAGER_VERSION # Optional: defaults to the latest version
# repo_url: ALLOYDB_OMNI_ORCHESTRATOR_REPOSITORY_URL # Optional
# repo_gpg_key_url: GPG_KEY # Optional
alloydbomni_node_manager:
# version: ALLOYDB_OMNI_NODE_MANAGER_VERSION # Optional: defaults to the latest version
# repo_url: ALLOYDB_OMNI_ORCHESTRATOR_REPOSITORY_URL # Optional
# repo_gpg_key_url: GPG_KEY # Optional
pgbouncer:
# version: ALLOYDB_OMNI_PGBOUNCER_VERSION # Optional
# repo_url: ALLOYDB_OMNI_COMMON_REPOSITORY_URL # Optional
# repo_gpg_key_url: GPG_KEY # Optional
pgbackrest:
# version: ALLOYDB_OMNI_PGBACKREST_VERSION # Optional
# repo_url: ALLOYDB_OMNI_COMMON_REPOSITORY_URL # Optional
# repo_gpg_key_url: GPG_KEY # Optional
children:
primary_instance_nodes:
hosts:
DB_HOST_1:
DB_HOST_2:
DB_HOST_3:
load_balancer_nodes: # Optional. Host group for load balancer. If empty, no load balancer is configured.
hosts:
LB_HOST_1:
LB_HOST_2:
etcd_nodes: # Optional: Host group where etcd is set up
hosts:
ETCD_HOST_1:
ETCD_HOST_2:
ETCD_HOST_3:
cluster_manager_nodes: # Optional: Host group for cluster manager
hosts:
CM_HOST_1:
CM_HOST_2:
CM_HOST_3:
次のように置き換えます。
MANAGEMENT_CLUSTER_NAME: 管理クラスタの名前。同じノードにインストールされている場合は、データベース クラスタ名と同じにできます(例:my-management-cluster)。SETUP_ETCD: オーケストレータがetcdクラスタを構成してブートストラップする必要があるかどうかを指定します。trueに設定すると、オーケストレータは指定されたetcdノードで最初のetcdの設定と初期化を行います。deployment_spec でetcdノードが定義されていない場合、デフォルトではクラスタ マネージャー ノードでetcdを構成します。このパラメータは、デプロイ仕様のetcd.setupキーに対応します。FORCE_OVERWRITE_ETCD: 設定プロセス中に既存のetcd構成ファイルを置き換えるかどうかを指定します。ターゲット ノードで既存の構成ファイルを上書きする場合はtrueに設定します。それ以外の場合は、false(デフォルト)に設定して既存の構成を維持し、意図しないサービスの中断を防ぎます。ETCD_VERSION: インストールする etcd パッケージのバージョン(例:3.4.13)。ETCD_REPOSITORY_URL:etcdRPM を含むリポジトリの URL。PG_VERSION: AlloyDB Omni インストールのメジャー PostgreSQL バージョン(例:18)。ALLOYDB_OMNI_VERSION: インストールする AlloyDB Omni データベース エンジンのバージョン(例:18.1.0)。省略すると、オーケストレータは利用可能な最新バージョンをインストールします。ALLOYDB_OMNI_COMMON_REPO_URL: AlloyDB Omni、monitor、PgBouncer、pgBackRest RPM を含む共通リポジトリの URL。GPG_KEY: GNU Privacy Guard(GPG)検証用の Google の公開鍵の場所(例:https://dl.google.com/linux/linux_signing_key.pub)。すべての VM のファイルに鍵がダウンロードされている場合は、パスとして設定することもできます(例:/tmp/linux_signing_key.pub)。ALLOYDB_OMNI_MONITOR_VERSION: インストールする AlloyDB Omni モニター パッケージのバージョン。デフォルトでは、利用可能な最新バージョンが使用されます。ALLOYDB_OMNI_CLUSTER_MANAGER_VERSION: インストールする AlloyDB Omni クラスタ マネージャーのバージョン。省略すると、オーケストレータは利用可能な最新バージョンをインストールします。ALLOYDB_OMNI_ORCHESTRATOR_REPO_URL: AlloyDB Omni クラスタ マネージャーとノード マネージャーの RPM を含むリポジトリの URL。ALLOYDB_OMNI_NODE_MANAGER_VERSION: インストールする AlloyDB Omni ノード マネージャーのバージョン。省略すると、オーケストレータは利用可能な最新バージョンをインストールします。ALLOYDB_OMNI_PGBOUNCER_VERSION: インストールする PgBouncer パッケージのバージョン。ALLOYDB_OMNI_PGBACKREST_VERSION: インストールする pgBackRest パッケージのバージョン。DB_HOST_1、DB_HOST_2、DB_HOST_3: データベース ノードとして指定された仮想マシンの IP アドレスまたは完全修飾ドメイン名(FQDN)。LB_HOST_1、LB_HOST_2: ロードバランサ ノードとして指定された仮想マシンの IP アドレスまたは完全修飾ドメイン名(FQDN)。ETCD_HOST_1、ETCD_HOST_2、ETCD_HOST_3:etcdノードとして指定された仮想マシンの IP アドレスまたは FQDN。CM_HOST_1、CM_HOST_2、CM_HOST_3: クラスタ マネージャー ノードとして指定された仮想マシンの IP アドレスまたは FQDN。
コンポーネントをインストールする
AlloyDB Omni コンポーネントとその依存関係は、Ansible を使用してインストールすることも、各ノードにソフトウェア パッケージを手動でインストールすることもできます。
Ansible を使用して AlloyDB Omni コンポーネントをインストールする
インストールには、提供されている Ansible ロールを使用することをおすすめします。
オーケストレータ コレクションからインストール ロールを参照する
install.yamlという名前のハンドブックを作成します。- name: Install AlloyDB Omni cluster components hosts: all vars: ansible_become: true ansible_user: SSH_USER ansible_ssh_private_key_file: SSH_KEY_PATH roles: - role: google.alloydbomni_orchestrator.install次のように置き換えます。
SSH_USER: SSH を使用してクラスタ内のノードに接続するために使用するユーザー名。SSH_KEY_PATH: コントロール ノード上の SSH 秘密鍵ファイルのパス(例:~/.ssh/id_rsa)。
インベントリ ファイルを使用してハンドブックを実行し、指定されたすべてのノードに RPM をダウンロードしてインストールします。
ansible-playbook -i deployment_spec.yaml install.yaml
AlloyDB Omni コンポーネントを手動でインストールする
Ansible を使用しない場合は、クラスタ内の各ノードに RPM を手動でインストールする必要があります。
REPO_GPG_KEY: GNU Privacy Guard(GPG)検証用の Google の公開鍵の場所(例:https://dl.google.com/linux/linux_signing_key.pub)。すべての VM のファイルに鍵がダウンロードされている場合は、パスとして設定することもできます(例:file:///tmp/linux_signing_key.pub)。
etcd ノードに AlloyDB Omni コンポーネントをインストールする
すべての
etcdノードで、/etc/yum.repos.d/alloydb-etcd.repoという名前の YUM リポジトリ構成ファイルを作成します。[etcd] name=AlloyDB Omni ETCD baseurl=ETCD_REPOSITORY_URL enabled=1 repo_gpgcheck=0 gpgcheck=1 gpgkey=REPO_GPG_KEYetcdをインストールします。sudo dnf install -y etcd構成ファイルを編集して
etcdをブートストラップします。AlloyDB Omni コンポーネントをインストールする前に、etcdをブートストラップする必要があります。etcd_nodesで、/etc/etcd/etcd.confを編集します。ETCD_NAME=ETCD_HOST ETCD_DATA_DIR=/var/lib/etcd/data ETCD_LISTEN_PEER_URLS=https://ETCD_HOST_IP:2380,https://127.0.0.1:2380 ETCD_LISTEN_CLIENT_URLS=https://ETCD_HOST_IP:2379,https://127.0.0.1:2379 ETCD_INITIAL_ADVERTISE_PEER_URLS=https://ETCD_HOST_IP:2380 ETCD_ADVERTISE_CLIENT_URLS=https://ETCD_HOST_IP:2379 ETCD_INITIAL_CLUSTER=ETCD_HOST_1=https://ETCD_HOST_IP_1:2380,ETCD_HOST_2=https://ETCD_HOST_IP_2:2380,ETCD_HOST_3=https://ETCD_HOST_IP_3:2380 ETCD_INITIAL_CLUSTER_STATE=new ETCD_INITIAL_CLUSTER_TOKEN=CLUSTER_NAME ETCD_ENABLE_V2=true ETCD_CLIENT_CERT_AUTH=true ETCD_TRUSTED_CA_FILE=/var/lib/etcd/ssl/etcd-ca.crt ETCD_CERT_FILE=/var/lib/etcd/ssl/etcd-tls.crt ETCD_KEY_FILE=/var/lib/etcd/ssl/etcd-tls.key ETCD_PEER_CLIENT_CERT_AUTH=true ETCD_PEER_TRUSTED_CA_FILE=/var/lib/etcd/ssl/etcd-ca.crt ETCD_PEER_CERT_FILE=/var/lib/etcd/ssl/etcd-tls.crt ETCD_PEER_KEY_FILE=/var/lib/etcd/ssl/etcd-tls.keyここで
ETCD_HOST: 現在のetcdホスト。ETCD_HOST_IP: 現在のetcdホスト IP。ETCD_HOST_1:etcdクラスタ内の最初のノードの名前。ETCD_HOST_IP_1:etcdクラスタ内の最初のノードの IP アドレス。ETCD_HOST_2:etcdクラスタ内の 2 番目のノードの名前。ETCD_HOST_IP_2:etcdクラスタ内の 2 番目のノードの IP アドレス。ETCD_HOST_3:etcdクラスタ内の 3 番目のノードの名前。ETCD_HOST_IP_3:etcdクラスタ内の 3 番目のノードの IP アドレス。CLUSTER_NAME: コントロール プレーンに基づくクラスタ名。
ポート
2379と2380で TCP 通信を許可するようにファイアウォールを構成します。etcd を起動します。
sudo systemctl enable etcd sudo systemctl start etcd
クラスタ マネージャー ノードに AlloyDB Omni コンポーネントをインストールする
すべてのクラスタ マネージャー ノードで、
/etc/yum.repos.d/alloydb-orchestrator.repoという名前の YUM リポジトリ構成ファイルを作成します。[alloydbomni_orchestrator] name=AlloyDB Omni Orchestrator baseurl=ALLOYDB_OMNI_ORCHESTRATOR_REPOSITORY_URL enabled=1 repo_gpgcheck=0 gpgcheck=1 gpgkey=REPO_GPG_KEYクラスタ マネージャーをインストールします。
sudo dnf install -y alloydbomni_cluster_managerクラスタ マネージャーを起動します。
sudo systemctl enable alloydbomni_cluster_manager sudo systemctl start alloydbomni_cluster_manager
データベース ノードに AlloyDB Omni コンポーネントをインストールする
すべてのデータベース ノードで、
/etc/yum.repos.d/alloydb-omni.repoという名前の YUM リポジトリ構成ファイルを作成します。[alloydbomni_core] name=AlloyDB Omni Core baseurl=ALLOYDB_OMNI_REPOSITORY_URL enabled=1 repo_gpgcheck=0 gpgcheck=1 gpgkey=REPO_GPG_KEY [alloydbomni_common] name=AlloyDB Omni Common baseurl=ALLOYDB_OMNI_COMMON_REPOSITORY_URL enabled=1 repo_gpgcheck=0 gpgcheck=1 gpgkey=REPO_GPG_KEY priority=1 [alloydbomni_orchestrator] name=AlloyDB Omni Orchestrator baseurl=ALLOYDB_OMNI_ORCHESTRATOR_REPOSITORY_URL enabled=1 repo_gpgcheck=0 gpgcheck=1 gpgkey=REPO_GPG_KEYコンポーネントをインストールします。
sudo dnf install -y alloydbomniPG_VERSION alloydbomni_monitor alloydbomni_node_manager pgbackrestノード マネージャーを起動します。
sudo systemctl enable alloydbomni_node_manager sudo systemctl start alloydbomni_node_manager(省略可)個別のロードバランサ ノードを使用していない場合は、
pgbouncerとkeepalivedをインストールします。sudo dnf install -y pgbouncer keepalived
ロードバランサ ノードに AlloyDB Omni コンポーネントをインストールする
すべてのロードバランサ ノードで、
/etc/yum.repos.d/alloydb-omni-lb.repoという名前の YUM リポジトリ構成ファイルを作成します。[pgbouncer] name=AlloyDB Omni Common baseurl=ALLOYDB_OMNI_COMMON_REPOSITORY_URL enabled=1 repo_gpgcheck=0 gpgcheck=1 gpgkey=REPO_GPG_KEY priority=1 [alloydbomni_node_manager] name=AlloyDB Omni Orchestrator baseurl=ALLOYDB_OMNI_ORCHESTRATOR_REPOSITORY_URL enabled=1 repo_gpgcheck=0 gpgcheck=1 gpgkey=REPO_GPG_KEYロードバランサ コンポーネントをインストールします。
sudo dnf install -y alloydbomni_node_manager keepalived pgbouncer haproxyノード マネージャーを起動します。
sudo systemctl enable alloydbomni_node_manager sudo systemctl start alloydbomni_node_manager
インストールされている AlloyDB Omni コンポーネントの概要
インストール プロセスでは、ノードタイプに応じていくつかの重要な RPM パッケージがデプロイされます。
| ノードタイプ | インストールされているコンポーネント | メモ |
|---|---|---|
| プライマリ インスタンス ノード | alloydbomniPG_VERSION、alloydbomni_monitor、alloydbomni_node_manager、pgbouncer、pgbackrest |
データベース エンジン、モニタリング、管理用のコンポーネント。 |
| ロードバランサ ノード | haproxy |
省略可。ロードバランサ ノードが使用できない場合は、インストールはスキップされます。 |
| クラスタ マネージャー ノード | alloydbomni_cluster_manager |
専用ノードがない場合は、データベース ノードにインストールできます。クラスタ マネージャー ノードが指定されていない場合、クラスタ マネージャー コンポーネントは primary_instance_nodes にインストールされます。 |
| etcd ノード | etcd |
必要に応じて、クラスタ マネージャー ノードにインストールできます。etcd ノードが指定されていない場合、etcd は cluster_manager_nodes にインストールされます。 |
コンポーネントをアンインストールする
クラスタの廃止やクリーンな再インストールの準備など、環境から AlloyDB Omni のインストールを削除する必要がある場合は、すべてのソフトウェア コンポーネントをアンインストールできます。AlloyDB Omni をアンインストールするには、Ansible を使用するか、各ノードから RPM を手動で削除します。
Ansible を使用して AlloyDB Omni コンポーネントをアンインストールする
Ansible を使用して AlloyDB Omni ソフトウェア スタック コンポーネントを削除するには、既存のインベントリ ファイルと、google.alloydbomni_orchestrator.uninstall ロールを参照するハンドブックを使用します。
uninstall.yamlという名前のハンドブックを作成します。- name: Uninstall AlloyDB Omni cluster hosts: all vars: ansible_become: true ansible_user: SSH_USER ansible_ssh_private_key_file: SSH_KEY_PATH roles: - role: google.alloydbomni_orchestrator.uninstall次のように置き換えます。
SSH_USER: SSH を使用してクラスタ内のノードに接続するために使用するユーザー名。SSH_KEY_PATH: コントロール ノード上の SSH 秘密鍵ファイルのパス(例:~/.ssh/id_rsa)。
ハンドブックを実行します。構成ファイルとデータ ディレクトリを削除するには、追加の変数として
cleanup_data=trueとcleanup_config=trueを渡す必要があります。ansible-playbook -i deployment_spec.yaml uninstall.yaml -e "cleanup_data=true cleanup_config=true"
AlloyDB Omni コンポーネントを手動でアンインストールする
AlloyDB Omni オーケストレータ CLI を使用している場合は、各ノードから RPM を手動で削除する必要があります。
すべてのデータベース ノードで、次のコマンドを実行します。
sudo dnf remove -y alloydbomni_node_manager alloydbomniPG_VERSION alloydbomni_monitor pgbackrest keepalived pgbouncerすべてのロードバランサ ノードで、次のコマンドを実行します。
sudo dnf remove -y alloydbomni_node_manager keepalived haproxy pgbouncerすべてのクラスタ マネージャー ノードで、次のコマンドを実行します。
sudo dnf remove -y alloydbomni_cluster_manager省略可: すべての etcd ノードで、次のコマンドを実行して etcd をアンインストールし、etcd データをクリーンアップします。
sudo dnf remove -y etcd sudo rm -rf /var/lib/etcd/data
次のステップ
TLS 用の独自の証明書ファイルと鍵ファイルを使用するには、 AlloyDB Omni で TLS が使用される仕組みをご覧ください。