【製品情報】Trusted Postgres Architect(TPA)23.41.0

音声ガイド

概要

1. TPAとは?
Trusted Postgres Architect (TPA) は、EnterpriseDB (EDB) が開発したオーケストレーションツールで、Ansible を使用して Postgres クラスターを展開します。EDB が長年の Postgres サポート経験から培ったベストプラクティスに基づいてクラスターを展開するように設計されています。TPA は宣言的な設定メカニズムを使用し、トポロジー(構成図)から詳細な設定に至るまで、クラスターの状態を記述します。

2. TPAのメリット

  • ベストプラクティスの実装: TPA は、テスト環境と本番環境の両方において EDB 推奨の設定を具現化しており、最初から正しくクラスターを構築することができます。
  • 汎用性: ストリーミングレプリケーション構成の Postgres や EDB Postgres Distributed など、様々なアーキテクチャをサポートしており、AWS、Docker、ベアメタル(物理サーバー)などの多様なプラットフォームに対応しています。
  • ライフサイクル全体の管理: 初期のセットアップだけでなく、構成変更、スイッチオーバー、ダウンタイムなしのマイナーバージョンアップグレード、ソフトウェア更新など、「2日目以降(Day 2)」の運用操作も処理します。
  • 冪等性(べきとうせい): TPA は、プロビジョニング、展開、テストを繰り返し実行できるように設計されています。設定やインスタンスに変更がない場合、プロセスを再実行してもクラスターの状態は変更されず、安定性が保たれます。
  • 自動化: OS 設定、パッケージインストール、レプリケーション設定、バックアップ設定 (Barman)、高可用性設定 (Repmgr, Patroni, EFM) などの複雑なタスクを自動化します。

3. メリットを実現するための TPA の仕組み
TPA は以下の4つの段階で動作し、上記のメリットを提供します。

  • 構成 (Configuration – tpaexec configure): ユーザーが高レベルのオプション(アーキテクチャ、プラットフォーム、Postgres バージョン)を選択します。TPA はクラスターの宣言的な設計図となる config.yml ファイルを生成します。
  • プロビジョニング (Provisioning – tpaexec provision): ターゲットプラットフォーム上に必要なインフラリソース(VM、コンテナ、VPC、サブネット)を作成するか、既存のサーバーに接続します。
  • 展開 (Deployment – tpaexec deploy): OS パッケージのインストール、OS 設定(カーネル設定、ユーザー、SSH)、Postgres および関連ソフトウェアのインストールを行い、config.yml に基づいてレプリケーションとバックアップを確立します。
  • テスト (Testing – tpaexec test): 展開されたクラスターに対してアーキテクチャおよびプラットフォーム固有のテストを実行し、完全に機能し、期待通りであることを検証します。

4. バージョン 23.41.0 の新機能
リリース 23.41.0(2025年11月26日公開)では、セキュリティ強化とアップグレード機能に関して以下の点が追加されました。

  • 包括的なコンポーネントアップグレード: Postgres と PGD だけでなく、すべてのクラスターソフトウェアコンポーネント(フェイルオーバーマネージャー、PEM、Barman など)を TPA で更新できるようになりました。
  • セキュリティ強化(セキュアなデフォルト設定):
    • tpaexec configure で作成される新規クラスターでは、etcd と Patroni の両方で SSL/TLS 暗号化と相互 TLS (mTLS) 認証がデフォルトで有効になります。
    • Patroni REST API のセキュリティが向上し、安全でないエンドポイントに対するアクセス許可リスト(allowlist)の設定がサポートされました。
    • EFM のデフォルトパスワード暗号化が scram-sha-256 に変更されました。
  • PGD の改善:
    • PGD 6 マイナーアップグレード: PGD-X および PGD-S アーキテクチャにおける Postgres と PGD のマイナーバージョンアップグレードのサポートが追加されました。
    • 移行の自動化: PGD Proxy (v5.9) から Connection Manager (v6) への移行を自動化する switch2cm コマンドが導入されました。
  • ソフトウェアサポート:
    • Postgres 18 のサポートが追加されました。
  • PEM 設定: Postgres Enterprise Manager (PEM) 内でのサーバーやエージェントのグループ化や表示方法を制御するための、新しいインスタンスレベルの変数が導入されました。

日本語マニュアルを見る
※ 日本語マニュアルの閲覧には ユーザー登録(パスワード)が必要です。