【製品情報】Trusted Postgres Architect(TPA)23.39.0
音声ガイド
1. Trusted Postgres Architect (TPA) とは?
Trusted Postgres Architect (TPA) は、EnterpriseDB (EDB) が開発したオーケストレーションツールであり、Ansibleを活用してPostgresクラスターのデプロイメントと管理を効率化します。EDBが推奨するベストプラクティスを実装するよう設計されており、テスト環境と本番環境の両方で堅牢かつ効率的なPostgres環境を保証します。
2. Trusted Postgres Architect (TPA) の利点
TPAは、複雑なデータベース操作を自動化することで、いくつかの重要な利点を提供します。
- 宣言的な構成: ユーザーは、シンプルなYAMLファイルでクラスターの望ましい状態(トポロジー、ソフトウェア、設定など)を定義し、TPAはその状態が達成され維持されることを保証します。
- 組み込みのベストプラクティス: TPAは、EDBのPostgresデプロイメントとサポートにおける長年の経験を取り入れ、これらの推奨事項を自動的に適用します。
- 自動化と一貫性: サーバーのプロビジョニング、OS構成、ソフトウェアインストール、テストを自動化し、手動エラーを大幅に削減し、一貫性のあるデプロイメントを保証します。
- 包括的な管理: 初期デプロイメントだけでなく、設定変更、アップグレード、スイッチオーバー、再構築などの継続的なクラスター運用をサポートします。
- 拡張性: TPAはAnsibleを介して拡張可能であり、ユーザーは特定の環境やアプリケーションのニーズに合わせてカスタムコマンド、テスト、フックを作成できます。
3. Trusted Postgres Architect (TPA) がこれらの利点を実現する仕組み
TPAは、4段階の冪等(べきとう)プロセスを通じて動作します。
- 構成 (Configuration): ユーザーは tpaexec configure を実行して初期の config.yml ファイルを生成し、Postgresバージョン、アーキテクチャ(例:M1、PGD-Always-ON)、プラットフォーム(例:AWS、Docker、ベアメタル)などの高レベルな選択肢を指定します。
このYAMLファイルは、クラスターの望ましい状態に対する唯一の信頼できる情報源(Single Source of Truth)として機能します。 - プロビジョニング (Provisioning): tpaexec provision は、config.yml に基づいて必要なインフラストラクチャリソース(例:AWS EC2インスタンス、Dockerコンテナ、VPC、ストレージボリューム)を作成します。
- デプロイメント (Deployment): tpaexec deploy は、プロビジョニングされたサーバー上にオペレーティングシステム、Postgres、および関連コンポーネント(PGD、Barman、pgbouncer、repmgr、拡張機能など)をインストールして構成します。
レプリケーションの設定、バックアップ、その他の構成を処理し、クラスターを完全に運用可能な状態にします。 - テスト (Testing): tpaexec test は、デプロイされたクラスターが期待どおりに機能するかどうかを検証するために、自動化されたアーキテクチャおよびプラットフォーム固有のテストを実行します。
- 増分変更 (Incremental Changes): TPAの設計は、config.yml で行われた構成変更が、冪等であり必要な変更のみを適用するため、プロセスを再実行することで安全に適用できることを保証します。
4. 23.39.0 での新機能
Trusted Postgres Architect 23.39.0リリースでは、いくつかの重要な機能強化、変更、およびバグ修正が導入されました。
ハイライト:
- s390xアーキテクチャのサポート: TPAは、s390x(IBM ZおよびLinuxONE)CPUアーキテクチャをサポートするようになりました。検証済みのオペレーティングシステムには、RHEL 8、RHEL 9、およびSLES 15が含まれます。
- EDB Stat Monitor の統合: edb_stat_monitorが認識される拡張機能となり、Postgres内でのインストールと構成が簡素化されました。
- EFMプロパティの強化: EFM 5.0以降で新しいプロパティがサポートされました。これには、auto.rewind(プライマリサーバーの再構築失敗時)、jdbc.properties、jdbc.loglevel(JDBCドライバーのログ記録用)、check.vip.timeout(VIP到達性チェック用)が含まれます。
主な変更点とバグ修正:
- Ubuntu 20.04のレガシー化とリポジトリの削除: Ubuntu 20.04はレガシーディストリビューションとなり、廃止されたEDB/2qリポジトリのサポートは削除され、パッケージはEDB Repos 2.0から取得されるようになりました。
- PGD Proxyのバージョン管理とDSN処理: デフォルトのPGD Proxyバージョンが改善され、PGD6クラスターのDSN処理が修正されました。bdr_connection_manager_route_dsnとbdr_connection_manager_dsn_attributesが導入されています。
- PEMデプロイメントの修正: pem.setup SQL関数の変更によりPEM 10.1.1でのPEMデプロイメント失敗を引き起こす問題に対処し、PEM 10ではpostgresexpert.sqlが実行されないようにしました。
- 重要なバグ修正: .pgpassにレプリケーションユーザーが不足する問題 (48224)、PGD6のサブスクライバー専用ルーティングの誤り (49673)、harp_dcs_userが作成されない問題 (49150)、bdr_node_groupsオーバーライドの失敗 (50550)、pgbouncer_get_auth()関数の配置誤り (42911, 45068) などが解決されました。後者の修正はCVE-2025-2291も解決します。
- TPA Dockerイメージの改善: Dockerイメージは現在、Python 3.12+を搭載したDebian Trixieを使用し、openssh-clientを含み、使いやすさと信頼性向上のためにビルドタイムバージョニングが組み込まれています。
日本語マニュアルを見る
※ 日本語マニュアルの閲覧には ユーザー登録(パスワード)が必要です。