Back to blog

【製品解説】Trusted Postgres Architect(TPA)23.38.1

July 15, 2025

Ansibleによる高可用性Postgres構築の自動化基盤 〜PGD 6構成時のプラットフォーム検知や変数フォールバックの是正:EnterpriseDB(EDB)が提供するオーケストレーションツール「Trusted Postgres Architect(TPA)」のバージョン 23.38.1 がリリースされました。YAML形式の宣言的ブループリントに基づき、クラウドからベアメタルまで一貫したPostgreSQLクラスタの構築・運用自動化を支えるツールです。最新版では、ベアプラットフォーム環境におけるPGD 6設定エラーの解消、初期デプロイ時のpgpassパスワード自動生成の適正化、無効なクラスタ変数に対する厳格なエラー検知への改善が行われ、自動デプロイメントの堅牢性がさらに高まりました。

1. TPAとは?

Trusted Postgres Architect(TPA)は、EnterpriseDB(EDB)によって開発されたオープンソース(GPLv3)のオーケストレーションツールです。EDBが培ってきた長年のベストプラクティスに基づき、Ansibleを活用してPostgreSQLクラスタのデプロイ、構成、運用管理を包括的に自動化します。設定ファイル(config.yml)による宣言的な構成アプローチを採用し、プライマリ/スタンバイ構成(M1)から分散マルチマスター(PGD-Always-ON、PGD-S、PGD-X等)まで、AWS、Docker、ベアメタルサーバーを問わず標準的なPostgres環境を再現性高く構築できます。

2. 実現の仕組み

TPAは、tpaexec コマンドを通じて実行される明確な4段階のワークフローにより、予測可能で安全なクラスタ構築を実現します。

  • 構成(tpaexec configure): クラスタ構成、対象プラットフォーム、Postgresバージョンなどの基本要件を指定し、設計図となる config.yml を自動生成します。
  • プロビジョニング(tpaexec provision): 構成定義に従い、クラウド上のVM、VPC、サブネット、ストレージ、あるいはコンテナ環境など必要なインフラリソースを自動確保します。
  • デプロイメント(tpaexec deploy): プロビジョニングされた各インスタンスへAnsible経由で接続し、OS設定、PostgreSQL、周辺コンポーネント(PGD、Barman、PgBouncer、repmgr等)の導入とクラスタ同期を一括実行します。
  • テスト(tpaexec test): 構築完了後、選択されたアーキテクチャに応じた自動検証テストを実行し、クラスタが設計通りに動作しているかを即座に確認します。

3. 主な利点と長所

手動運用に伴うリスクや構築工数を削減し、本番環境に耐えうる堅牢なデータベース基盤を迅速に確立できます。

  • プロセスの完全自動化: サーバー確保からDB構成、レプリケーション、バックアップ設定、動作検証までをワンストップで自動化します。
  • 確実な冪等性(べきとうせい): 処理は何度実行しても安全な冪等性を備えており、設定変更時も必要な差分のみを安全かつ予測通りに反映できます。
  • 優れた保守性とDay 2運用: パラメータの動的変更、計画的スイッチオーバー、ゼロダウンタイムでのマイナーバージョン更新など、構築後の運用タスクを簡素化します。
  • 高い拡張性と柔軟性: クラウド、ベアメタル、コンテナに対応し、独自のAnsibleフックやカスタムテストを追加して既存の運用フローに統合可能です。
  • エアギャップ環境への対応: 外部インターネットへ直接接続できない隔離環境向けに、パッケージの事前取得やローカルリポジトリ設定機能を備えています。

4. バージョン23.38.1 新機能

【デプロイ安定性と設定制御のバグ修正】

  • PGD 6プラットフォーム判定の修正: ベアプラットフォーム環境で PGD 6 クラスタの tpaexec configure を実行した際に、誤って「Unknown Platform error」が発生していた問題を解消しました。
  • 自動生成パスワードの反映修正: pgpass_users リストで generate_password: true を設定したユーザーが、初期デプロイ時に ~postgres/.pgpass へ正しく追記されない問題を修正しました。
  • クラスタ変数フォールバックの適正化: config.yml 内の無効な cluster_vars に対し、空辞書へ暗黙的にフォールバックして予期せぬ構成になる挙動を是正。未定義時はAnsible側で明示的にエラーを通知するよう改善しました。

5. 日本語マニュアル

Trusted Postgres Architect(TPA)23.38.1 日本語マニュアル

機能の詳細な設定方法やパラメータ仕様、導入手順については日本語マニュアルをご覧ください。

日本語マニュアルを見る >>


Share this