Mysql
 sql >> Database >  >> RDS >> Mysql

Implementazione multi-cloud per la replica MySQL

Negli ultimi anni, l'uso dell'infrastruttura della piattaforma è passato dall'on-premise al cloud computing. Ciò si basa sull'assenza di costi in conto capitale che devono essere sostenuti dall'azienda se utilizzati durante l'implementazione dell'infrastruttura IT. Il cloud computing offre flessibilità in ogni linea di risorse, ad es. su risorse umane, energia, risparmio di tempo.

Il cloud computing semplifica alle organizzazioni la pianificazione, l'esecuzione e la manutenzione delle piattaforme IT per supportare gli interessi commerciali.

Ma entrambi hanno delle somiglianze, abbiamo dovuto pensare al BCP (Business Continuity Plan) e al Disaster Recovery Plan (DRP) quando si utilizza il cloud. L'archiviazione dei dati diventa fondamentale quando si parla di DRP, della velocità con cui eseguiamo il ripristino (obiettivo del punto di ripristino) quando si verifica un disastro. L'architettura multi-cloud gioca un ruolo importante quando vogliamo progettare e implementare un'infrastruttura nell'ambiente cloud. In questo blog, esaminiamo la relativa distribuzione multi-cloud per l'archiviazione dei dati in MySQL.

Configurazione dell'ambiente nel cloud

Questa volta utilizziamo Amazon Web Service (AWS), ampiamente utilizzato dalle aziende, e Google Cloud Platform (GCP) come secondo provider cloud in una configurazione di database multi-cloud. Creare istanze (il termine utilizzato nel cloud computing per le nuove macchine virtuali) su AWS è molto semplice.

AWS utilizza il termine Amazon EC2 (Elastic Compute Cloud) per il proprio servizio di istanza di calcolo. Puoi accedere ad AWS, quindi selezionare il servizio EC2.

Ecco la visualizzazione di un'istanza di cui è stato eseguito il provisioning con EC2.

Per motivi di sicurezza, che è la principale preoccupazione dei servizi cloud, assicurati di abilitare solo le porte necessarie durante la distribuzione di ClusterControl, come la porta SSH (22), xtrabackup (9999) e il database ( 3306) sono protetti ma raggiungibili attraverso i provider cloud. Un modo per implementare tale connettività sarebbe creare una VPN che collegherebbe le istanze in AWS con le istanze in GCP. Grazie a tale design, possiamo trattare tutte le istanze come locali, anche se si trovano in diversi fornitori di servizi cloud. Non descriveremo esattamente il processo di configurazione della VPN, quindi tieni presente che la distribuzione che presentiamo non è adatta per la produzione nel mondo reale. È solo per illustrare le possibilità offerte da ClusterControl e configurazioni multi-cloud.

Dopo aver completato la configurazione di AWS EC2, continua con la configurazione dell'istanza di calcolo in GCP, in GCP il servizio di calcolo si chiama Compute Engine.

In questo esempio, creeremo 1 istanza nel cloud GCP che essere usato come uno degli Schiavi.

Al termine, verrà visualizzato nella console di gestione come segue:

Assicurati di proteggere e abilitare la porta SSH port (22), xtrabackup ( 9999) e banca dati (3306).

Dopo aver distribuito le istanze sia in AWS che in GCP, dovremmo continuare con l'installazione di ClusterControl su una delle istanze nel provider cloud, dove si troverà il master. In questa configurazione di esempio, utilizzeremo una delle istanze AWS come Master.

Distribuzione della replica MySQL su Amazon Web Service 

Per installare ClusterControl devi seguire delle semplici istruzioni che puoi trovare sul sito web di Diversinines. Una volta che ClusterControl è attivo e funzionante nel provider cloud in cui si troverà il nostro master (in questo esempio utilizzeremo AWS per il nostro nodo master), possiamo avviare la distribuzione di MySQL Replication utilizzando ClusterControl. Per installare il cluster di replica MySQL è necessario eseguire i seguenti passaggi:

Apri ClusterControl, quindi seleziona MySQL Replication, vedrai tre moduli da compilare ai fini dell'installazione

Impostazioni generali e SSH

Immettere l'utente SSH, la chiave e la password, la porta SSH e il nome del cluster

Quindi seleziona "Continua"

Definisci server MySQL 

Seleziona il fornitore, il numero di versione e la password di root di MySQL, quindi fai clic su "Continua"

Definisci topologia

Come ricorderai, abbiamo due nodi creati in AWS. Possiamo usarli entrambi qui. Uno sarà nostro padrone, l'altro dovrebbe essere aggiunto come schiavo. Quindi possiamo procedere con "Distribuisci"

Se lo desideri, e se la connettività cross-cloud è già attiva, puoi anche impostare l'indirizzo IP dell'istanza GCP in 'Aggiungi slave al master A', quindi continuare con ' Distribuire'. In questo modo, ClusterControl distribuirà il master e entrambi gli slave contemporaneamente.

Una volta avviata la distribuzione, puoi monitorare l'avanzamento nella scheda Attività. Puoi vedere l'esempio dei messaggi di avanzamento di seguito. Ora è il momento di attendere il completamento del lavoro.

Una volta completato, puoi vedere il cluster appena creato chiamato "Cloud Replica MySQL”.

Se hai già aggiunto il nodo GCP come secondo slave nella procedura guidata di distribuzione, hai già completato la configurazione Master-Slave tra AWS e le istanze GCP.

In caso contrario, puoi aggiungere lo slave GCP al cluster in esecuzione. Assicurati che la connettività sia attiva prima di procedere oltre.

Aggiungi un nuovo slave da Google Cloud Platform

Dopo che MySQL Replication su AWS è stato creato, puoi continuare aggiungendo il tuo nodo in GCP come nuovo slave. Puoi farlo eseguendo i seguenti passaggi::

  1.  
  1. Nell'elenco dei cluster trova il tuo nuovo cluster e quindi fai clic su e seleziona "Aggiungi slave di replica"
      1.  
      1.  
  2. Apparirà la procedura guidata Aggiungi slave di replica, come puoi vedere di seguito.
  3. Continua selezionando l'IP dell'istanza master (che si trova in AWS) e inserendo l'indirizzo IP e la porta dell'istanza GCP che desideri utilizzare come slave nella casella "Nome host slave/IP". Una volta riempito il tutto, puoi procedere cliccando su "Aggiungi Slave di replica".

Come prima, puoi monitorare l'avanzamento nella scheda attività. Ora è il momento di attendere il completamento del lavoro.

Una volta completata la distribuzione, possiamo controllare il cluster nella scheda della topologia.

Puoi vedere la topologia del nostro cluster Master-Slave di seguito.

Come puoi vedere, abbiamo un master e uno slave in AWS e abbiamo anche uno slave in GCP, rendendo più facile per il nostro database sopravvivere a eventuali interruzioni che si verificano in uno dei nostri fornitori di servizi cloud.

Conclusione

Per l'elevata disponibilità dei servizi di database, un'implementazione multi-cloud svolge un ruolo molto importante per realizzarla. ClusterControl è stato creato per navigare in questo processo e rendere più semplice per l'utente la gestione delle distribuzioni multi-cloud.

Uno degli aspetti critici da considerare quando si esegue la distribuzione multi-cloud sono gli aspetti di sicurezza. Come accennato in precedenza, puoi configurare una VPN da sito a sito tra i due provider di servizi cloud come best practice che può essere applicata. Ci sono anche altre opzioni come i tunnel SSH.