PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Suggerimenti per la distribuzione di PostgreSQL nel cloud ibrido

Hybrid Cloud è un progetto di architettura comune in qualsiasi azienda. Questo concetto combina cloud pubblico, cloud privato e persino soluzioni on-premise consentendo alle aziende di avere flessibilità su dove archiviare e come utilizzare i propri dati. Aiuta anche nell'implementazione di un ambiente ad alta disponibilità. Il problema è che la distribuzione di questo tipo di ambiente potrebbe essere un compito difficile e dispendioso in termini di tempo. In questo blog vedremo cos'è l'Hybrid Cloud, alcune considerazioni da tenere in considerazione prima di utilizzarlo e come distribuire questo ambiente utilizzando ClusterControl.

Cos'è il cloud ibrido?

Si tratta di una topologia che utilizza un mix di cloud privato e pubblico e persino servizi locali. Sembra simile a un ambiente Multi-Cloud, ma la differenza principale è che questo concetto si riferisce alle combinazioni di pubblico e privato in particolare, che potrebbero includere anche on-premise.

Considerazioni sui database del cloud ibrido

Il passaggio a un ambiente ibrido è diverso per ogni azienda in quanto dispone di un proprio insieme unico di dati, requisiti, limitazioni e processi che lo accompagnano.

Vediamo alcune considerazioni da tenere in considerazione quando si pianifica questo tipo di topologia.

  • Conformità:assicurati di selezionare un fornitore specializzato nel tuo settore e che abbia familiarità con le misure di conformità uniche che deve essere soddisfatto indipendentemente dal fatto che si tratti di HIPAA, FISMA, PCI o qualsiasi altra normativa a cui la tua azienda si abboni. In definitiva, la tua strategia di gestione del database dovrebbe essere determinata dall'architettura in grado di soddisfare al meglio le esigenze della tua azienda e di scalare con te man mano che cresci.

  • Carichi di lavoro:ogni database ha carichi di lavoro diversi. Alcuni di questi funzioneranno meglio in un cloud pubblico, altri in locale e altri in un cloud privato. Conoscere il tuo carico di lavoro è essenziale per trovare il miglior mix per i tuoi database.

  • Gestione e manutenzione:un nuovo ambiente significa un nuovo modo di gestirlo e mantenere i dati. Assicurati di avere i pezzi giusti e le persone in atto per gestire quei nuovi ambienti devono essere determinate prima di fare il salto.

Come distribuire PostgreSQL in un ambiente cloud ibrido

Presumiamo che tu abbia un'installazione ClusterControl in esecuzione e che tu abbia già creato due diversi account Cloud Provider, oppure un account se stai usando Public e Private Cloud nello stesso Cloud Provider, o se stai usando un Cloud Provider combinazione di ambienti Cloud e On-premise.

Preparazione del tuo ambiente cloud

Per prima cosa, devi creare il tuo ambiente nel tuo Cloud Provider principale. In questo caso, utilizzeremo AWS con 2 nodi PostgreSQL:

Assicurati di avere il traffico SSH e PostgreSQL consentito dal tuo server ClusterControl da modifica del tuo gruppo di sicurezza:

Quindi, vai al Cloud Provider secondario, o ai server Private o On-premise, e crea almeno una macchina virtuale che sarà il nodo di standby.

E ancora, assicurati di consentire il traffico SSH e PostgreSQL dal tuo server ClusterControl:

In questo caso stiamo consentendo il traffico senza alcuna restrizione sulla fonte, ma è solo un esempio e non è consigliato nella vita reale.

Distribuzione di un cluster PostgreSQL

Vai al tuo server ClusterControl e seleziona l'opzione “Deploy”. Se hai già un'istanza PostgreSQL in esecuzione, devi invece selezionare "Importa server/database esistente".

Quando selezioni PostgreSQL, devi specificare Utente, Chiave o Password e la porta per connetterti tramite SSH ai tuoi nodi PostgreSQL. Hai anche bisogno del nome per il tuo nuovo cluster e se vuoi che ClusterControl installi per te il software e le configurazioni corrispondenti.

Controlla i requisiti utente di ClusterControl per ulteriori informazioni su questo passaggio.

Dopo aver impostato le informazioni di accesso SSH, è necessario definire l'utente, la versione e la datadir del database (opzionale). Puoi anche specificare quale repository utilizzare. Nel passaggio successivo, devi aggiungere i tuoi server al cluster che creerai.

Quando aggiungi i tuoi server, puoi inserire IP o nome host. In questo passaggio puoi anche aggiungere il nodo posto nel Cloud Provider secondario o on-prem, in quanto ClusterControl non ha limitazioni sulla rete da utilizzare, ma per chiarire lo aggiungeremo nel prossimo sezione. L'unico requisito qui è avere l'accesso SSH al nodo.

Nell'ultimo passaggio, puoi scegliere se la tua replica sarà Sincrona o Asincrona.

Se stai aggiungendo qui il tuo nodo remoto, è importante utilizzare la replica asincrona, altrimenti il ​​tuo cluster potrebbe essere interessato dalla latenza o da problemi di rete.

Puoi monitorare lo stato di creazione nel monitor attività ClusterControl.

Una volta terminata l'attività, puoi vedere il tuo nuovo cluster PostgreSQL nella schermata principale di ClusterControl.

Aggiunta di un nodo di standby remoto

Una volta creato il cluster, puoi eseguire diverse attività su di esso, come distribuire/importare un sistema di bilanciamento del carico o un nodo di replica.

Vai alle azioni del cluster e seleziona "Aggiungi slave di replica":

Utilizziamo l'opzione "Aggiungi nuovo slave di replica" poiché assumiamo che il nodo remoto sia una nuova installazione, in caso contrario, puoi utilizzare l'opzione "Importa slave di replica esistente".

Qui, devi solo scegliere il tuo server primario, inserire l'indirizzo IP per il tuo nuovo server di standby e la porta del database. Quindi è possibile scegliere se si desidera che ClusterControl installi il software e se la replica deve essere sincrona o asincrona. Anche in questo caso, se si aggiunge un nodo in una posizione diversa (provider cloud diverso o in locale), è necessario utilizzare la replica asincrona per evitare problemi relativi alle prestazioni della rete.

In questo modo, puoi aggiungere tutte le repliche che desideri e distribuire il traffico di lettura tra di esse utilizzando un sistema di bilanciamento del carico, che puoi implementare anche con ClusterControl.

Puoi monitorare la creazione del nodo di replica nel monitor attività ClusterControl.

E controlla la tua topologia finale nella sezione Vista topologia.

Conclusione

Queste funzionalità di ClusterControl ti permetteranno di configurare velocemente la replica in un ambiente Hybrid Cloud, tra diversi Cloud Provider, o anche tra un Cloud Provider e un ambiente On-prem, per un database PostgreSQL (e diverse tecnologie), e gestire il setup in un modo facile e amichevole. In merito alla comunicazione tra i Cloud Provider, o tra Private e Public Cloud, per motivi di sicurezza, devi limitare il traffico solo da fonti conosciute, per ridurre il rischio di accessi non autorizzati alla tua rete.