연결 문자열
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 | 데이터 플레인 정점. 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은 프로덕션 코드에 권장됩니다. 인증서 체인 그리고
호스트명을 확인합니다.
프록시가 엔드포인트로 라우팅하는 방식
데이터 플레인 프록시는 두 가지 신호로부터 연결이 어느 엔드포인트에 속하는지 순서대로 결정합니다:
- 클라이언트가 보내는 경우,
neon.endpoint_idstartup 옵션. - 폴백으로서 TLS SNI 호스트명(
<endpoint_id>.kisenon.com).
라우팅에는 사용자명 필드가 참조되지 않습니다 — 브랜치가 정의하는 아무 역할이나 고르세요. 콘솔이 생성한 연결 문자열은 호스트명에 엔드포인트를 담고 있으므로 SNI를 통해 자동으로 라우팅되며, 추가로 설정할 것이 없습니다.
neon.endpoint_id를 명시적으로 전달하는 것은 클라이언트가 SNI에
엔드포인트를 제시할 수 없을 때뿐입니다 — 예를 들어 Server Name 확장을 보내지
않는 TLS 스택이나, 호스트를 다시 쓰는 터널의 경우입니다. 대부분의 Postgres
드라이버는 기본적으로 SNI를 보내므로 이것은 거의 필요하지 않습니다.
풀링
각 엔드포인트는 기본적으로 약 100개의 동시 연결까지 허용합니다. 수명이 짧은 연결(서버리스 함수, 엣지 런타임)의 경우 PgBouncer 같은 클라이언트 측 풀러나 드라이버의 내장 풀을 사용하세요.
관리형 풀러 엔드포인트는 로드맵에 있습니다. 그때까지는 엔드포인트를 단일 Postgres 인스턴스로 취급하세요.
다중 엔드포인트
같은 브랜치에 여러 엔드포인트를 띄울 수 있습니다. 이들은 스토리지를 공유하지만 독립적인 연결 한도와 캐시를 가집니다. 다음을 격리하는 데 사용하세요:
- 앱 대 분석 트래픽.
- 읽기 복제본(브랜치의 어떤 엔드포인트든 쓰기를 하지 않으면 본질적으로 읽기 복제본입니다).
- 개발 브랜치의 환경별 엔드포인트.