Nos últimos anos, o uso da infraestrutura de plataforma mudou do local para a computação em nuvem. Isso se baseia na ausência de custos de capital de custo que devem ser incorridos pela empresa se usados na implementação da infraestrutura de TI. A computação em nuvem oferece flexibilidade em todas as linhas de recursos, ou seja. em recursos humanos, energia, economia de tempo.
A computação em nuvem torna mais fácil para as organizações planejar, executar e manter plataformas de TI para dar suporte aos interesses comerciais.
Mas ambos têm semelhanças, tivemos que pensar em BCP (Plano de Continuidade de Negócios) e Plano de Recuperação de Desastres (DRP) ao usar a nuvem. O armazenamento de dados se torna crítico quando falamos sobre DRP, quão rápido fazemos a recuperação (objetivo do ponto de recuperação) quando ocorre um desastre. A arquitetura multinuvem desempenha um papel importante quando queremos projetar e implementar infraestrutura no ambiente de nuvem. Neste blog, analisamos a implantação de várias nuvens relacionada para armazenamento de dados no MySQL.
Configuração do ambiente na nuvem
Desta vez, usamos o Amazon Web Service (AWS), que é amplamente utilizado por empresas, e o Google Cloud Platform (GCP) como o segundo provedor de nuvem em uma configuração de banco de dados multinuvem. Criar instâncias (o termo usado na computação em nuvem para novas máquinas virtuais) na AWS é muito simples.
A AWS usa o termo Amazon EC2 (Elastic Compute Cloud) para seu serviço de instância de computação. Você pode fazer login na AWS e selecionar o serviço EC2.
Aqui está a exibição de uma instância que foi provisionada com EC2.
Por motivos de segurança, que é a maior preocupação dos serviços em nuvem, certifique-se de habilitar apenas as portas necessárias ao implantar o ClusterControl, como porta SSH (22), xtrabackup (9999) e banco de dados ( 3306) são seguros, mas acessíveis em todos os provedores de nuvem. Uma maneira de implementar essa conectividade seria criar uma VPN que conectasse instâncias na AWS com instâncias no GCP. Graças a esse design, podemos tratar todas as instâncias como locais, mesmo que estejam localizadas em diferentes provedores de nuvem. Não descreveremos exatamente o processo de configuração da VPN, portanto, lembre-se de que a implantação que apresentamos não é adequada para a produção no mundo real. É apenas para ilustrar as possibilidades que vêm com o ClusterControl e as configurações de várias nuvens.
Após concluir a configuração do AWS EC2, continue com a configuração da instância de computação em GCP, no GCP, o serviço de computação é chamado de Compute Engine.
Neste exemplo, criaremos 1 instância na nuvem do GCP que ser usado como um dos Escravos.
Quando estiver concluído, será mostrado no console de gerenciamento conforme abaixo:
Certifique-se de proteger e habilitar a porta SSH port (22), xtrabackup ( 9999) e banco de dados (3306).
Após implantar as instâncias na AWS e no GCP, devemos continuar com a instalação do ClusterControl em uma das instâncias do provedor de nuvem, onde o mestre estará localizado. Nesta configuração de exemplo, usaremos uma das instâncias da AWS como mestre.
Implantação da replicação MySQL no Amazon Web Service
Para instalar o ClusterControl você deve seguir as instruções simples que você pode encontrar no site da Variousnines. Assim que o ClusterControl estiver funcionando no provedor de nuvem onde nosso mestre estará localizado (neste exemplo, usaremos a AWS para nosso nó mestre), podemos iniciar a implantação do MySQL Replication usando o ClusterControl. Seguem as etapas que você precisa seguir para instalar o cluster de replicação do MySQL:
Abra o ClusterControl e selecione MySQL Replication, você verá três formulários que precisam ser preenchidos para a instalação
Configurações gerais e SSH
Insira o usuário SSH, a chave e a senha, a porta SSH e o nome do cluster
Em seguida, selecione ‘Continuar’
Definir servidores MySQL
Selecione o fornecedor, o número da versão e a senha de root do MySQL e clique em 'Continuar'
Definir topologia
Como você se lembra, temos dois nós criados na AWS. Podemos usar os dois aqui. Um deve ser nosso mestre, o outro deve ser adicionado como escravo. Então podemos prosseguir com 'Implantar'
Se desejar, e se a conectividade entre nuvens já estiver em vigor, você também poderá definir o endereço IP da instância do GCP em 'Adicionar escravos ao mestre A' e continuar com ' Implantar'. Dessa forma, o ClusterControl implantará o mestre e os dois escravos ao mesmo tempo.
Uma vez iniciada a implantação, você pode monitorar o progresso na guia Atividade. Você pode ver o exemplo das mensagens de progresso abaixo. Agora é esperar até que o trabalho seja concluído.
Depois de concluído, você pode ver o cluster recém-criado chamado “Cloud Replicação MySQL”.
Se você já adicionou o nó GCP como um segundo escravo no assistente de implantação, você já concluiu a configuração Master-Slaves entre as instâncias AWS e GCP.
Caso contrário, você pode adicionar o escravo do GCP ao cluster em execução. Certifique-se de que a conectividade está em vigor antes de prosseguir.
Adicionar um novo escravo do Google Cloud Platform
Após a criação da Replicação MySQL na AWS, você pode continuar adicionando seu nó no GCP como um novo escravo. Você pode fazer isso executando as seguintes etapas:
- Na lista de clusters, encontre seu novo cluster e clique em e selecione 'Adicionar escravo de replicação'
-
- Adicionar escravo de replicação será exibido, como você pode ver abaixo.
- Continue escolhendo o IP da instância mestre (localizada na AWS) e inserindo o endereço IP e a porta da instância do GCP que você deseja usar como escravo na caixa "Nome do host / IP escravo". Depois de preencher tudo, você pode continuar clicando em 'Adicionar escravo de replicação'.
Como antes, você pode monitorar o progresso na guia de atividade. Agora é esperar até que o trabalho seja concluído.
Depois que a implantação estiver concluída, podemos verificar o cluster na guia topologia.
Você pode ver a topologia do nosso cluster Master-Slave abaixo.
Como você pode ver, temos um mestre e um escravo na AWS e também temos um escravo no GCP, tornando mais fácil para nosso banco de dados sobreviver a quaisquer interrupções que ocorram em um de nossos provedores de nuvem.
Conclusão
Para a alta disponibilidade dos serviços de banco de dados, uma implantação em várias nuvens tem um papel muito importante para que isso aconteça. O ClusterControl foi criado para navegar nesse processo e facilitar ao usuário o gerenciamento das implantações em várias nuvens.
Uma das coisas críticas a considerar ao fazer o Multi-Cloud Deployment são os aspectos de segurança. Como mencionamos anteriormente, você pode configurar uma VPN Site to Site entre os dois provedores de nuvem como a melhor prática que pode ser aplicada. Existem também outras opções, como túneis SSH.