Connessioni

Le connessioni sono il modo in cui le applicazioni e i database possono comunicare. Esistono due tipi principali di connessioni:

  • Una connessione esterna effettua un viaggio di andata e ritorno su internet, quindi è molto più lenta della comunicazione interna. Vi consigliamo di utilizzare connessioni esterne se state ospitando presso di noi solo il database e non il front-end. Per i database, forniamo i dettagli della connessione esterna al database.
    Nota: in futuro, le connessioni esterne saranno disattivate per impostazione predefinita per i database e vi consigliamo di tenerle spente quando non vengono utilizzate per motivi di sicurezza.
  • Una connessione interna rimane all’interno della nostra rete ed è quindi molto più veloce e sicura. Vi consigliamo questo metodo se ospitate sia il front-end che il database sull’Hosting di Applicazioni e l’Hosting di Database.

Aggiungere una connessione interna

Potete aggiungere connessioni interne dalla pagina Impostazioni di un’applicazione o dalla pagina Info di un database. Non importa da dove iniziate il processo: il risultato sarà lo stesso.

Per aggiungere una connessione da un database a un’applicazione, andate su Database > nome del database > Panoramica > nella sezione Connessioni interne, cliccate su Aggiungi applicazione e selezionate l’applicazione verso cui volete creare la connessione interna.

Aggiungere una connessione interna da un database a un'applicazione in MyKinsta.
Aggiungere una connessione interna da un database a un’applicazione in MyKinsta.

Variabili d’ambiente

Possiamo inserire automaticamente le variabili d’ambiente di un’applicazione a partire dai dettagli della connessione al database. Non copiate e incollate i dettagli della connessione interna nelle variabili d’ambiente. Cliccate su Aggiungi connessione o Aggiungi applicazione e selezionate la casella Aggiungi variabili d’ambiente…. In questo modo verranno popolate automaticamente le variabili d’ambiente del database a cui vi state connettendo.

Alcune applicazioni potrebbero prevedere variabili d’ambiente (chiavi) con nomi diversi. Potete modificare i nomi nell’elenco prima di aggiungere la connessione o modificarli successivamente nella pagina delle impostazioni dell’applicazione.

Compilazione automatica delle variabili d'ambiente dai dettagli della connessione al database.
Compilazione automatica delle variabili d’ambiente dai dettagli della connessione al database.

Connessioni interne e processo di build

Le connessioni interne sono disponibili solo in fase di esecuzione; non sono disponibili durante il processo di build.

Se l’applicazione tenta di connettersi a un database utilizzando una connessione interna durante il processo di build, si verifica un errore che indica che il database non è in esecuzione e la build fallisce. Questo è previsto perché la connessione interna non è attiva durante la build; può essere utilizzata solo in fase di esecuzione.

Ci sono un paio di modi per ovviare a questo problema.

Opzione 1: spostare la logica di connessione al database dal comando di build dell’applicazione al comando Start. Ad esempio, se nel processo di build avete un comando come prisma migrate e lo spostate nel comando di avvio, la vostra applicazione accederà al database solo in fase di esecuzione e la build avrà successo.

Opzione 2: aggiungere variabili d’ambiente separate per la connessione al database, una disponibile per il processo di build e l’altra solo per l’esecuzione. Le chiavi possono essere le stesse (ad esempio DB_CONNECTION_URL) purché una sia disponibile solo durante il processo di build e l’altra solo durante l’esecuzione. Utilizzate i dettagli della connessione esterna del database (Database > dbname > Panoramica > Connessioni esterne) per i valori delle variabili da utilizzare nel processo di build.

Porte

La porta per le connessioni interne a un’applicazione è 8080 e la porta per le connessioni interne a un database è 3306. Le porte di queste connessioni interne non possono essere modificate.

Per le applicazioni, Kinsta imposta automaticamente la variabile d’ambiente PORT. Non è necessario definirla da soli o inserirla nell’applicazione. Quando un’applicazione viene distribuita, è raggiungibile su internet sulle porte 80 e 443 e noi instradiamo queste porte al container sulla porta 8080.

Rimuovere una connessione interna

Per rimuovere una connessione, andate alla pagina Panoramica del database e, alla voce Connessioni interne, cliccate sull’icona di cancellazione (cestino).

Connessioni interne tra database e applicazioni
Connessioni interne tra database e applicazioni

Nel modale/pop-up Rimuovi connessione, cliccate su Rimuovi connessione per confermare e rimuovere la connessione tra l’applicazione e il database.

Rimozione di una connessione interna tra un'applicazione e un database
Rimozione di una connessione interna tra un’applicazione e un database

Connessioni esterne

Potete trovare i dettagli della connessione per le connessioni esterne, all’interno di Database > nome del database > Panoramica > Connessioni esterne. Potete utilizzare questi dettagli per connettervi al database tramite la riga di comando (CLI) o con uno strumento per database.

Connessioni esterne al database
Connessioni esterne al database

Modifica della password del database

Potete modificare la password del database per le connessioni interne ed esterne. Nella pagina Panoramica del database, all’interno della connessione interna o della connessione esterna, cliccate su Cambia password e inserite una nuova password. In alternativa, cliccate su Genera una nuova password per creare una nuova password automaticamente.

Le password devono essere di almeno 8 caratteri e includere almeno una lettera minuscola, una lettera maiuscola, un numero e uno dei seguenti caratteri speciali: , & * [ ] : ’ $ ` ”

Quando cambiate la password, Kinsta avvia automaticamente una nuova distribuzione per le applicazioni con una connessione interna al database, utilizzando i valori delle variabili d’ambiente corrispondenti alla vecchia password. Dovrete modificare manualmente la password in ogni client che utilizzate per connettervi al database e aggiornare tutte le variabili d’ambiente pertinenti.

Questo articolo ti è stato utile?