Addons 탭을 사용하면 사이트를 위한 서버를 직접 구축하거나 유지 관리할 필요 없이 관리되는 PostgreSQL 데이터베이스나 관리되는 Redis 인스턴스를 사이트에 연결할 수 있습니다. KapsuleHost가 이를 프로비저닝하고, 연결 문자열을 제공하며, 제거할 때 깔끔하게 정리합니다.
Addons는 어디에 있는가
웹사이트를 열고, 사이트를 클릭한 다음, 사이트의 왼쪽 메뉴에서 앱 그룹을 열고 애드온를 선택합니다. 페이지 제목은 관리되는 애드온입니다.
카탈로그에는 두 가지 옵션이 있습니다:
| 애드온 | 일반적인 용도 |
|---|---|
| PostgreSQL | MySQL을 사용하지 않는 애플리케이션을 위한 주요 데이터 저장소 |
| Redis | 캐싱, 세션 저장, 백그라운드 작업 큐 |
이들은 표준 호스팅 사이트와 함께 제공되는 MySQL 데이터베이스와는 별개입니다. 그 데이터베이스는 데이터베이스 탭에 있으며 별도의 프로비저닝이 필요 없습니다. SSH 터널을 통한 데이터베이스 연결을 참고하세요.

애드온 요청하기
- 관리되는 데이터베이스 추가 섹션에서 애드온을 찾습니다.
- 사이트에 추가를 클릭합니다.
요청은 즉시 기록되며, 애드온이 자신의 애드온에 PENDING 배지와 프로비저너 대기 중이라는 메모와 함께 나타납니다. 페이지는 15초마다 자동으로 새로고침되므로 열어둔 채로 기다려도 됩니다.
백그라운드 작업이 몇 분마다 대기 중인 요청을 가져와 사이트 전용 데이터베이스와 사이트 전용 사용자를 생성하고, 암호화된 연결 문자열을 다시 기록합니다. 이후 상태는 ACTIVE로 바뀝니다.
애드온을 요청하거나 제거하려면 sites:write 권한이 필요합니다. 읽기 전용 팀원은 어떤 애드온이 존재하는지와 그 상태를 볼 수 있지만, 버튼은 숨겨져 있습니다.
사이트당 각각 하나씩
하나의 사이트는 PostgreSQL 애드온 하나와 Redis 애드온 하나를 가질 수 있습니다. 같은 유형을 두 번째로 요청하면 이미 프로비저닝되어 있다는 메시지로 거부되며, 카탈로그는 설치가 끝난 옵션을 숨깁니다. 두 가지가 모두 설치되면 카탈로그 섹션에는 설치 가능한 모든 애드온이 설치되었습니다라고 표시됩니다.
상태 읽기
| 상태 | 의미 |
|---|---|
| PENDING | 요청됨, 프로비저너 대기열에 있음 |
| PROVISIONING | 현재 생성 중 |
| ACTIVE | 사용 준비 완료 |
| FAILED | 프로비저닝이 완료되지 않음, 이유가 해당 행에 표시됨 |
| DELETED | 제거됨, 더 이상 목록에 표시되지 않음 |
FAILED 행은 일반적인 메시지 대신 실제 오류 텍스트를 바로 아래에 표시합니다. 그 이유로 직접 조치할 수 없다면, 지원 티켓에 그 내용을 그대로 인용하세요. 지원 티켓 열기를 참고하세요.
연결 문자열 가져오기
애드온이 ACTIVE 상태가 되면, 해당 행에는 비밀번호가 점으로 가려진 마스킹된 연결 문자열이 표시되므로, 자격 증명을 노출하지 않고도 호스트와 데이터베이스 이름을 한눈에 확인할 수 있습니다.
연결 복사를 클릭하면 전체 연결 문자열이 클립보드에 복사됩니다. 이 문자열은 해당 요청 한 건에 대해서만 서버 측에서 복호화되며 페이지에는 결코 출력되지 않으므로, 화면 공유나 스크린샷으로는 유출되지 않습니다. 문자열을 드러낼 때마다 사이트의 감사 기록에 기록되며 사이트 활동 로그에서 확인할 수 있습니다.
이 문자열은 각 엔진에서 사용하는 일반적인 URL 형식으로 되어 있으며, 이 사이트를 위해 생성된 호스트, 포트, 사용자, 비밀번호, 데이터베이스 이름을 담고 있습니다.
애플리케이션에서 사용하기
연결 문자열을 애플리케이션이 설정을 읽어오는 위치에 붙여 넣으세요. Node.js 사이트의 경우, 적절한 위치는 production 환경의 DATABASE_URL 또는 REDIS_URL과 같은 키 아래의 Secrets 탭입니다.
커밋하는 파일에 연결 문자열을 하드코딩하지 마세요. 이 문자열에는 실제 작동하는 비밀번호가 포함되어 있습니다. git 원격 저장소에 올라가면 유출된 것으로 간주해야 하며, 패널에서는 자격 증명을 그 자리에서 교체할 수 없으므로 유일한 실질적 해결책은 애드온을 삭제하고 새로 요청하는 것입니다.
애드온 제거하기
해당 행에서 Delete를 클릭합니다. KPanel은 확인을 요구하며 무슨 일이 일어나는지 명확히 알립니다: 관리되는 데이터베이스가 제거되며, 데이터는 복구할 수 없습니다.
해당 행은 즉시 삭제된 것으로 표시되며, 프로비저너가 다음 실행 때 기본 데이터베이스와 사용자를 정리합니다. 이 정리 과정의 일부로 기존 연결은 종료됩니다.
관리되는 애드온을 삭제할 때 백업은 생성되지 않으며, 되돌릴 방법도 없습니다. 보관하고 싶은 데이터가 있다면 애드온이 아직 활성 상태이고 연결 문자열이 여전히 작동할 때 pg_dump 또는 redis-cli --rdb로 먼저 덤프해 두세요.
옵션 중에서 선택하기
PostgreSQL을 사용하세요: 애플리케이션이 관계형 데이터베이스가 필요하고 Postgres에 맞춰 작성된 경우입니다. 강력한 제약 조건, 트랜잭션, JSON 컬럼, 그리고 따로 추가해야 했을 전체 텍스트 검색 기능을 갖추고 있습니다.
Redis를 사용하세요: 사라져도 괜찮은 데이터를 위해 사용합니다. 캐시된 조각, 요청 제한 카운터, 세션 저장, 작업 큐 등입니다. 빠르지만 휘발성이 있는 저장소로 취급하고, 정식 기록 시스템으로는 사용하지 마세요.
내장된 MySQL 데이터베이스를 사용하세요: WordPress와 이미 MySQL용으로 작성된 모든 것을 위해 사용합니다. WordPress 사이트에 Postgres 애드온을 추가해도 아무 소용이 없는데, WordPress는 이와 통신할 수 없기 때문입니다.
문제 해결
애드온이 오랫동안 PENDING 상태입니다. 프로비저너는 즉시가 아니라 일정에 따라 실행됩니다. 페이지는 자동으로 새로고침되므로 열어둔 채로 나중에 다시 확인해 보세요. 몇 번의 실행 후에도 변화가 없다면, 사이트 도메인과 애드온 유형을 포함해 지원 티켓을 열어 주세요.
프로비저닝에 FAILED가 발생했습니다. 해당 행의 오류를 읽어 보세요. 실패한 애드온을 삭제하고 다시 요청하면 안전합니다. 실패한 행에는 작동 중인 데이터베이스가 전혀 없었기 때문입니다.
연결 복사를 클릭해도 아무 일도 일어나지 않습니다. 일부 브라우저는 탭이 포커스되어 있지 않을 때 클립보드 쓰기를 차단합니다. 먼저 페이지를 클릭한 다음, 버튼을 다시 클릭해 보세요.
애플리케이션이 연결할 수 없습니다. 다음 세 가지를 순서대로 확인하세요: 애드온 상태가 ACTIVE인지, 문자열을 다시 입력하지 않고 복사해서 사용했는지, 그리고 애플리케이션이 이전 배포에서 남은 오래된 값이 아니라 실제로 설정한 값을 읽고 있는지입니다. 새 설정이 적용되려면 보통 재시작이 필요합니다.
재배포 후 연결이 거부됩니다. 설정에 있는 연결 문자열이 이 페이지에 있는 것과 여전히 일치하는지 확인하세요. 애드온을 삭제하고 다시 요청하면 새로운 사용자와 새로운 비밀번호가 생성되므로, 이전 문자열은 더 이상 작동하지 않습니다.
다음으로 가 볼 곳
- 사이트를 위한 앱 비밀 정보 저장하기, 연결 문자열을 보관해야 할 올바른 위치입니다.
- 내장된 MySQL 데이터베이스를 위한 SSH 터널을 통한 데이터베이스 연결입니다.
- 나머지 사이트 수준 설정을 위한 사이트 설정입니다.