Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Use modelos do Cloud Formation para ativar instâncias do MySQL no RDS


Neste artigo, discutirei como configurar uma instância MySQL no AWS RDS usando modelos do Cloud Formation. Em meu artigo anterior, Como configurar um ambiente do Amazon RDS para MySQL, forneci um passo a passo detalhado de como configurar uma instância do MySQL na Amazon. Você pode usar o console da AWS para fornecer todas as informações necessárias para configurar a instância e usá-la. No entanto, neste artigo, discutiremos uma maneira automatizada de obter as mesmas funcionalidades usando modelos do Cloud Formation.

O que é um modelo do CloudFormation?


Para começar a escrever os modelos, primeiro precisamos entender o que é a formação de nuvens. A AWS oferece o Cloud Formation como um serviço de nuvem que permite que os clientes da AWS escrevam o estado desejado de qualquer infraestrutura como um código e depois o usem para implantar recursos na AWS. Ele nos permite criar um recurso ou um grupo de recursos seguindo modelos de configuração simples. Por exemplo, se você deseja implantar um aplicativo Web em uma instância do EC2 que também usará um banco de dados RDS, basta combinar os dois recursos em uma pilha e escrever o código para configurar as instâncias. Depois de executado, ele criará a instância do EC2 e do RDS e também implantará seu aplicativo Web.



Figura 1 – Modelo do CloudFormation no Console AWS

Os componentes de um modelo de formação de nuvens são os seguintes:
  • Um JSON ou YAML arquivo no qual os recursos serão definidos como um modelo
  • Uma pilha pode ser uma combinação de vários recursos que precisam ser configurados como parte do aplicativo. Por exemplo, EC2 e RDS
  • Um changeset pode ser usado para visualizar uma lista de operações a serem executadas pela pilha
  • Um conjunto de pilhas também pode ser considerado como um grupo gerenciado de pilhas que são reproduzidas ou replicadas

Fora do exposto, vamos nos concentrar principalmente no modelo JSON/YAML e na pilha neste artigo. Os modelos oferecem suporte a uma ampla variedade de recursos na AWS. Para obter uma lista completa, acesse este link.

Gravando o arquivo de modelo JSON ou YAML


Um dos principais desafios que enfrentamos ao escrever um modelo pela primeira vez é o conteúdo que deve ser incluído nele. Para facilitar isso, a AWS fornece muitos amostras de modelo que podem ser facilmente encontradas na documentação oficial. Depois de encontrar o modelo necessário para criar um recurso necessário, você pode usá-lo para criar seu próprio modelo. O modelo pode ser criado usando JSON ou YAML e convertido de um para outro também. Em uma nota pessoal, prefiro escrever os modelos usando YAML, pois isso me ajuda a ficar longe das chaves e vírgulas e mantém o documento mais limpo. No entanto, você pode escolher qualquer opção entre JSON e YAML.

Para este exercício, vamos tentar criar uma instância do MySQL no RDS e escreveremos o código em YAML. Para configurar um banco de dados MySQL usando a formação de nuvem, precisaríamos dos seguintes itens.
  • Nome do recurso – O nome do recurso que você vai configurar.
  • Tipo de recurso – O tipo do recurso.
  • Propriedades do recurso – O nome do banco de dados, nome de usuário e senha para se conectar.
  • O mecanismo de banco de dados – MySQL, SQL Server, PostgreSQL, etc.
  • Tipo de armazenamento – O tipo de armazenamento a ser usado.
  • Acessibilidade pública – Se o banco de dados deve ter acesso público ou não.
  • Memória alocada – A memória que deve ser alocada para a instância do banco de dados.
  • Região da AWS – A região na qual a instância deve ser criada.

Agora que temos alguns pontos conosco, vamos em frente e começar escrevendo o arquivo de modelo.

https://gist.github.com/aveek22/a188b02abde65479bbba2deba5ec90d6



Figura 2 – O arquivo de modelo para criação de instância MySQL no RDS

Como você pode ver na figura acima, a estrutura do arquivo é dividida em duas partes. Na primeira parte, definimos alguns parâmetros que serão usados ​​pelas definições de recursos na segunda parte ao criar os recursos na AWS. Você pode usar o mesmo script em sua máquina para criar uma instância em sua conta da AWS.

Configurando a pilha no console


Agora que criamos nosso modelo para MySQL, é hora de configurá-lo para ver se tudo funciona bem. Vá até o console da AWS e procure por Cloud Formation na barra de pesquisa. Clique em Create Stack e carregue o arquivo de modelo do seu local. Clique em Avançar Uma vez feito.



Figura 3 – Criando a pilha a partir do template

Na próxima página, você será solicitado a fornecer os parâmetros que foram definidos no modelo de formação de nuvens. Vá em frente, forneça os detalhes necessários e clique em Avançar .



Figura 4 – Parâmetros de pilha fornecidos

Revise as alterações e os parâmetros da pilha e clique em Criar pilha na última página. A criação da pilha será iniciada. Pode levar algum tempo para criar todos os recursos antes que eles estejam disponíveis para uso. Enquanto isso, você pode clicar no botão Recarregar para verificar se todos os eventos foram criados com sucesso.



Figura 5 – Criação de pilha em andamento

Como você pode ver nos timestamps, demorei cerca de 6 minutos para que os recursos estivessem disponíveis e também fossem visíveis no console. Navegue até os Recursos guia e clique em ID físico do recurso. Isso o levará ao console RDS.



Figura 6 – Pilha criada com sucesso

Conectando o banco de dados MySQL


Quando estiver no console do RDS, você poderá obter o nome do host para a instância do banco de dados e usá-lo para se conectar ao banco de dados. Pegue o endpoint do console e use-o para se conectar.



Figura 7 – Detalhes da instância MySQL no RDS

Vamos agora para o MySQL Workbench e tente conectar-se ao nome do host com as credenciais que fornecemos anteriormente. Use o nome do host, o nome de usuário e a senha para se conectar à instância.



Figura 8 – Conectando-se à instância MySQL usando MySQL Workbench

Como você pode ver na figura acima, conectamos com sucesso à instância do banco de dados no RDS. Vamos agora executar algumas consultas e ver se funciona.



Figura 9 – Executando scripts no MySQL Workbench

Como você pode ver na figura acima, conseguimos nos conectar à instância do banco de dados e executar consultas. Com isso, você pode escrever seu próprio modelo de formação de nuvem e ativar quaisquer outros recursos, como o banco de dados SQL Server ou PostgreSQL.

Removendo os recursos


Se você estiver realizando isso como um exercício, recomendo remover os recursos que criamos, pois isso incorrerá em algumas cobranças. Você pode navegar até o console do RDS, selecionar a instância e clicar em Excluir para remover os recursos permanentemente.



Figura 10 – Excluindo os recursos criados

Depois que os recursos forem excluídos com sucesso, você poderá verificar no console novamente se há alguma instância em execução apenas para evitar adicionar custos de cobrança desnecessários.

Conclusão


Neste artigo, discutimos em detalhes como configurar uma instância de banco de dados MySQL em um ambiente AWS RDS e automatizá-la usando o modelo Cloud Formation. Dessa forma, se configurar recursos na nuvem também é conhecido como serviço de infraestrutura como código, onde você pode configurar toda a infraestrutura como código e usá-la em vários ambientes. Esses modelos podem ser usados ​​não apenas para implantar instâncias de banco de dados, mas também outras infraestruturas na AWS, como EC2, Lambda, RedShift etc. Para saber mais sobre os modelos de formação de nuvem, você pode ver os modelos de amostra disponíveis no site oficial.