kisenon

接続文字列

Kisenon エンドポイントの形式、TLS、ロールとパスワードのルール。

すべての Kisenon エンドポイントは、標準的な postgresql:// URI を公開します。

postgresql://<role>:<pwd>@<endpoint_id>.kisenon.com:5432/<database>?sslmode=require

構成要素

フィールド意味
<role>ブランチ上に作成された Postgres ロール。エンドポイントカードには自動作成された app ロールが表示されます。SQL で追加できます。
<pwd>ロールのパスワード。作成時に一度だけ表示されます。SQL でローテーションします。
<endpoint_id>エンドポイントごとに安定(例 ep_4f3c12a9b8e6)。SNI でルーティングされます。
kisenon.comデータプレーンの apex。TLS SNI 経由でエンドポイントにルーティングします。
5432標準の Postgres ポート。
<database>デフォルトは mainCREATE DATABASE で追加します。
?sslmode=requireTLS は必須。verify-full も動作し、推奨されます。

TLS

エンドポイントは *.kisenon.com 向けの Let's Encrypt 証明書で TLS を終端します。標準的な Postgres クライアントはシステムのトラストストアに対して検証します。カスタム CA は不要です。

本番コードには sslmode=verify-full を推奨します。証明書チェーン ホスト名の両方を チェックします。

プロキシがエンドポイントへルーティングする仕組み

データプレーンのプロキシは、2 つのシグナルから、接続がどのエンドポイントに属するかを順番 に判断します。

  1. クライアントが送る場合は、neon.endpoint_idスタートアップオプション
  2. フォールバックとして、TLS の SNI ホスト名<endpoint_id>.kisenon.com)。

ルーティングにユーザー名フィールドは 参照されません。ブランチが定義する任意のロールを 選んでください。コンソールが生成する接続文字列はホスト名にエンドポイントを含むので、自動 的に SNI 経由でルーティングされ、追加で何かを設定する必要はありません。

クライアントが SNI でエンドポイントを提示できない場合にのみ、neon.endpoint_id を明示的 に渡してください。例えば Server Name 拡張を送らない TLS スタックや、ホストを書き換える トンネルなどです。ほとんどの Postgres ドライバはデフォルトで SNI を送るので、これが必要に なることはまれです。

プーリング

各エンドポイントはデフォルトで最大約 100 の同時接続を受け付けます。短命の接続(サーバー レス関数、エッジランタイム)には、PgBouncer やドライバ組み込みのプールのようなクライアント 側プーラーを使ってください。

マネージドプーラーエンドポイントはロードマップにあります。それまでは、エンドポイントを単一 の Postgres インスタンスとして扱ってください。

複数のエンドポイント

同じブランチ上に複数のエンドポイントを生成できます。それらはストレージを共有しますが、接続 制限とキャッシュは独立しています。次の用途で分離するのに使えます。

  • アプリと分析のトラフィック。
  • 読み取りレプリカ(ブランチ上の任意のエンドポイントは、書き込まなければ本質的に読み取り レプリカです)。
  • 開発ブランチ上の環境ごとのエンドポイント。