Qual è la procedura migliore per archiviare le credenziali del database per un ambiente di ridimensionamento automatico, ma richiede anche la possibilità di aggiornare le informazioni del database?
Ad esempio, ho un sito di ridimensionamento automatico su AWS. Al momento esiste un solo database, ma ad un certo punto verranno aggiunte nuove istanze di database (o per la condivisione dei dati o readonlys)
Sto cercando di capire il modo migliore per archiviare le credenziali del database in modo da renderle facilmente aggiornabili. Anche se ho menzionato AWS qui idealmente mi piacerebbe qualcosa che sia indipendente dalla piattaforma, se possibile.
Ovviamente è sbagliato memorizzare le credenziali del database nel controllo del codice sorgente, quindi le mie considerazioni iniziali sono le seguenti (ma anche questo sembra sbagliato)
Utilizza lo stesso nome utente e password su tutti i server di database (potrebbero esserci ancora utenti diversi a seconda che si tratti di un DB di scrittura o readonly, ma tutti gli utenti si troveranno nei server che ne hanno bisogno). Quindi in qualche modo memorizzarli in modo sicuro su un'immagine del server web. Anche se ho letto anche alcuni post che sostengono che anche le variabili d'ambiente non dovrebbero essere utilizzate, chiedendo come fare.
Un file di configurazione separato potrebbe potenzialmente vivere nel controllo del codice sorgente che descrive semplicemente gli indirizzi e i nomi dei server del database anche se penso che questo dovrebbe essere segreto. Sorge quindi il problema di ottenere facilmente un elenco aggiornato dei server di database per tutti i server Web.
Il problema che sto affrontando è come aggiornare x il numero di server con i dettagli dei database y in modo sicuro quando x e y possono entrambi cambiare. in teoria sarebbe più stabile di x se x fosse scalato automaticamente. Ma allo stesso tempo, quando cambia, avrebbe un impatto maggiore.
Molto probabilmente sarà su una macchina Linux (Ubuntu). Tuttavia, non ho elencato un linguaggio di scripting specifico in quanto sarebbe bello se esistessero soluzioni che possono essere utilizzate più ampiamente
Grazie