接続文字列
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> | デフォルトは main。CREATE DATABASE で追加します。 |
?sslmode=require | TLS は必須。verify-full も動作し、推奨されます。 |
TLS
エンドポイントは *.kisenon.com 向けの Let's Encrypt 証明書で TLS を終端します。標準的な
Postgres クライアントはシステムのトラストストアに対して検証します。カスタム CA は不要です。
本番コードには sslmode=verify-full を推奨します。証明書チェーン と ホスト名の両方を
チェックします。
プロキシがエンドポイントへルーティングする仕組み
データプレーンのプロキシは、2 つのシグナルから、接続がどのエンドポイントに属するかを順番 に判断します。
- クライアントが送る場合は、
neon.endpoint_idの スタートアップオプション。 - フォールバックとして、TLS の SNI ホスト名(
<endpoint_id>.kisenon.com)。
ルーティングにユーザー名フィールドは 参照されません。ブランチが定義する任意のロールを 選んでください。コンソールが生成する接続文字列はホスト名にエンドポイントを含むので、自動 的に SNI 経由でルーティングされ、追加で何かを設定する必要はありません。
クライアントが SNI でエンドポイントを提示できない場合にのみ、neon.endpoint_id を明示的
に渡してください。例えば Server Name 拡張を送らない TLS スタックや、ホストを書き換える
トンネルなどです。ほとんどの Postgres ドライバはデフォルトで SNI を送るので、これが必要に
なることはまれです。
プーリング
各エンドポイントはデフォルトで最大約 100 の同時接続を受け付けます。短命の接続(サーバー レス関数、エッジランタイム)には、PgBouncer やドライバ組み込みのプールのようなクライアント 側プーラーを使ってください。
マネージドプーラーエンドポイントはロードマップにあります。それまでは、エンドポイントを単一 の Postgres インスタンスとして扱ってください。
複数のエンドポイント
同じブランチ上に複数のエンドポイントを生成できます。それらはストレージを共有しますが、接続 制限とキャッシュは独立しています。次の用途で分離するのに使えます。
- アプリと分析のトラフィック。
- 読み取りレプリカ(ブランチ上の任意のエンドポイントは、書き込まなければ本質的に読み取り レプリカです)。
- 開発ブランチ上の環境ごとのエンドポイント。