Siti web

Managed Addons: Postgres e Redis

The Addons tab lets you attach a managed PostgreSQL database or a managed Redis instance to a site without building or maintaining a server for it. Kapsule provisions it, gives you a connection…

La scheda Addons ti consente di allegare un database PostgreSQL gestito o un'istanza Redis gestita a un sito senza costruire o mantenere un server dedicato. Kapsule lo esegue il provisioning, ti fornisce una stringa di connessione e lo rimuove completamente quando lo elimini.

Dove si trovano gli Addons

Apri Websites, fai clic sul sito, apri il menu Settings nella barra delle schede del sito e scegli Addons. La pagina è intitolata Managed addons.

Ci sono due opzioni nel catalogo:

AddonUtilizzo tipico
PostgreSQLL'archivio dati principale per un'applicazione che non utilizza MySQL
RedisCache, archiviazione sessioni e code di processi in background

Questi sono separati dal database MySQL fornito con un sito di hosting standard. Quello si trova nella scheda Files, quindi Database e non richiede provisioning: vedi Connessione al tuo database tramite un tunnel SSH.

Pagina addons gestiti per un sito in KPanel

Richiesta di un Addon

  1. Trova l'addon nella sezione Add a managed database.
  2. Fai clic su Add to site.

La richiesta viene registrata immediatamente e l'addon appare in Your addons con un badge PENDING e la nota Waiting for provisioner. La pagina si aggiorna ogni quindici secondi, quindi puoi lasciarla aperta.

Un processo in background raccoglie le richieste in sospeso ogni pochi minuti, crea un database dedicato e un utente dedicato per il tuo sito, e scrive una stringa di connessione crittografata. Lo stato passa quindi ad ACTIVE.

La richiesta o la rimozione di un addon richiede il permesso sites:write. I membri del team con accesso in sola lettura possono vedere quali addon esistono e il loro stato, ma i pulsanti sono nascosti.

Uno per tipo, per sito

Un sito può contenere un addon PostgreSQL e un addon Redis. Richiedere un secondo dello stesso tipo viene rifiutato con un messaggio che dice che è già sottoposto a provisioning, e il catalogo nasconde un'opzione una volta installata. Quando entrambi sono installati, la sezione del catalogo recita All available addons are installed.

Lettura dello stato

StatoSignificato
PENDINGRichiesto, in coda per il provisioner
PROVISIONINGIn fase di creazione
ACTIVEPronto per l'uso
FAILEDIl provisioning non è stato completato; la ragione è mostrata sulla riga
DELETEDRimosso, non più elencato

Una riga FAILED mostra il testo di errore effettivo sottostante invece di un messaggio generico. Se la ragione non è qualcosa su cui puoi agire, citala testualmente in un ticket di supporto: vedi Apertura di un ticket di supporto.

Ottenimento della stringa di connessione

Una volta che un addon è ACTIVE, la sua riga mostra una stringa di connessione mascherata con la password sostituita da punti, così puoi confermare l'host e il nome del database a colpo d'occhio senza esporre la credenziale.

Fai clic su Copy connection per inserire la stringa di connessione completa negli appunti. Viene decriptata lato server per quella singola richiesta e non viene mai stampata sulla pagina, quindi le condivisioni dello schermo e gli screenshot non la espongono. Ogni rivelazione viene scritta nel registro di audit del sito e appare nel Site Activity Log.

La stringa è nella forma URL usuale per ogni motore, contenente l'host, la porta, l'utente, la password e il nome del database creati per questo sito.

Utilizzo nella tua applicazione

Incolla la stringa di connessione ovunque la tua applicazione legga la sua configurazione. Su un sito Node.js, la giusta posizione è la scheda Secrets, sotto una chiave come DATABASE_URL o REDIS_URL, nell'ambiente production.

Non codificare in modo rigido la stringa di connessione in un file di cui esegui il commit. Contiene una password attiva. Se raggiunge un repository git deve essere trattata come compromessa, e l'unica vera soluzione è eliminare l'addon e richiederne uno nuovo, perché la credenziale non può essere ruotata sul posto dal pannello.

Rimozione di un Addon

Fai clic su Delete sulla riga. KPanel ti chiede di confermare ed è esplicito su cosa accade: questo rimuove il database gestito e i dati non sono recuperabili.

La riga viene contrassegnata come eliminata immediatamente e il provisioner abbatte il database e l'utente sottostanti al suo prossimo passaggio. Le connessioni esistenti vengono terminate come parte di tale abbattimento.

Non viene eseguito alcun backup di un addon gestito al momento dell'eliminazione, e non c'è annullamento. Se c'è qualcosa al suo interno che desideri conservare, scaricalo prima con pg_dump o redis-cli --rdb mentre l'addon è ancora attivo e la stringa di connessione funziona ancora.

Scelta tra le opzioni

Usa PostgreSQL quando la tua applicazione ha bisogno di un database relazionale ed è scritta per Postgres: vincoli forti, transazioni, colonne JSON e ricerca full-text che altrimenti dovresti aggiungere.

Usa Redis per le cose a cui è consentito scomparire: frammenti memorizzati nella cache, contatori di limite di velocità, archiviazione sessioni e code di processi. Trattalo come veloce e volatile, non come un sistema di record.

Usa il database MySQL integrato per WordPress e per qualsiasi cosa già scritta per MySQL. Aggiungere un addon Postgres a un sito WordPress non serve a nulla, perché WordPress non può comunicare con esso.

Risoluzione dei problemi

L'addon è PENDING da molto tempo. Il provisioner funziona secondo una pianificazione piuttosto che istantaneamente. Lascia la pagina aperta, poiché si aggiorna da sola, e controlla di nuovo. Se non è passato dopo alcuni passaggi, apri un ticket di supporto con il dominio del sito e il tipo di addon.

Il provisioning FAILED. Leggi l'errore sulla riga. Elimina l'addon non riuscito e richiedilo di nuovo, il che è sicuro: una riga non riuscita non ha mai avuto un database attivo dietro di essa.

Copy connection non fa nulla. Alcuni browser bloccano le scritture negli appunti quando la scheda non è in focus. Fai clic sulla pagina prima, quindi fai clic di nuovo sul pulsante.

L'applicazione non può connettersi. Controlla tre cose in ordine: che lo stato dell'addon sia ACTIVE, che tu abbia copiato la stringa anziché digitarla manualmente, e che la tua applicazione stia leggendo il valore che hai effettivamente impostato piuttosto che uno stantio da un deployment precedente. Di solito è necessario un riavvio prima che la nuova configurazione venga acquisita.

Le connessioni vengono rifiutate dopo un ridistribuzione. Conferma che la stringa di connessione nella tua configurazione corrisponda ancora a quella su questa pagina. L'eliminazione e la rerichiesta di un addon creano un nuovo utente e una nuova password, quindi una stringa precedente non funzionerà.

Dove andare dopo

Hai ancora bisogno di aiuto?

Scrivici a support@kapsulehost.com oppure apri una chat in KPanel.

Apri KPanel