Como criar instantâneo da AWS RDS usando Terraform

Como criar instantâneo da AWS RDS usando Terraform

Amazon Relational Database Service ou RDS é um banco de dados relacional que pode ser facilmente configurado usando a AWS Management Console-AWS CLI e com API RDS. Além dessas maneiras, também podemos usar a ferramenta Terraform para criar e gerenciar um banco de dados da AWS RDS.

O Terraform pode ser usado para implantar a infraestrutura em nuvem de muitos provedores de serviços em nuvem. Ele pode ser baixado e instalado em principais sistemas operacionais, como Linux, MacOS e Windows. Possui sua própria linguagem sintática conhecida como HCl (Hashicorp Configuration Language) para criar arquivos de configuração. Podemos especificar o provedor de serviços em nuvem e outros detalhes da infraestrutura usando a sintaxe HCl. Terraform primeiro cria um plano de execução que visualiza as alterações planejadas para a infraestrutura. Só será implantado assim que você confirmar este plano. Existem três principais comandos do Terraform que são usados ​​com destaque: 1) Plano de Terraforma, 2) Aplicação do Terraforma e 3) Destruir Terraforma.

O que vamos cobrir?

Este artigo apresenta o processo de criação de um instantâneo da AWS RDS usando Terraform. Primeiro criaremos um banco de dados RDS e depois criaremos seu instantâneo usando o TerraForm.

O que você precisará?

  1. Conta da AWS configurada em seu sistema.
  2. Acesso à internet.

O que esperamos de você?

Antes de prosseguirmos, certifique -se de instalar o Terraform no seu sistema (Ubuntu 20.04 no nosso caso). Também assumimos que você já configurou as credenciais de usuário da AWS. Essas credenciais são usadas no bloco de provedores Terraform mais tarde, quando o Terraform será executado.

Veja se o Terraform já está instalado em seu sistema executando o seguinte comando Terraform:

$ Terraform -Version

Como você pode ver, instalamos a versão 1.7 de Terraform. Se você ainda não o instalou, pode usar o pacote binário oficial fornecido pela Terraform. Ou você pode usar o gerenciador de pacote padrão de distribuição. Mais detalhes sobre a instalação podem ser encontrados no site da Terraform.

Criando instantâneo da AWS RDS usando Terraform

Agora que já instalamos o Terraform em nossa máquina local, podemos continuar nossa tarefa em trabalhar com a AWS RDS.

A configuração do Terraform para diferentes componentes é armazenada em diferentes arquivos, como:

  1. variáveis.TF: Definição de vários usos nos arquivos.
  2. principal.tf

Como mencionado anteriormente, o Terraform usa vários arquivos de configuração para provisionar recursos. Cada um desses arquivos deve residir em sua respectiva pasta/diretório de trabalho. Vamos criar um diretório para esse fim:

Passo 1. Faça uma pasta para conter seus arquivos de configuração e altere o diretório para esta pasta.

$ mkdir linuxhint-terraform && CD Linuxhint-Terraform

Passo 2. Vamos criar nosso primeiro arquivo de configuração “variáveis.tf”Isso conterá as informações sobre nossa região da AWS e o tipo de instância que queremos usar.

$ nano variáveis.tf

Agora, coloque o seguinte texto dentro dele e salve o arquivo.

variável "aws_region"
Descrição = "A região da AWS para trabalhar."
default = "EUA-East-1"

etapa 3. Fazer um "principal.tf”Arquivo que conterá a definição para nossa infraestrutura.

$ nano Main.tf

Agora, coloque a seguinte configuração dentro dela.

Terraform
requerir_providers
aws =
fonte = "Hashicorp/AWS"
versão = "~> 3.27 "


requerir_version = "> = 0.14.9 "

Provedor "AWS"
região = var.aws_region
shared_credentials_file = "/home/nome de usuário/.AWS/credenciais "
perfil = "perfil1"

Recurso "AWS_DB_INSTANCE" "MYDB"
alocado_storage = 10
Engine = "MySQL"
Engine_version = "8.0.28 "
instance_class = "db.T2.micro "
name = "dbname"
senha = "dbpassword"
nome de usuário = "dbuser"
Identifier = "Linuxhint-Terraform-DB"
backup_retention_period = 0
parameter_group_name = "padrão.mysql8.0 "
skip_final_snapshot = true

Recurso "AWS_DB_SNAPSHOT" "Teste"
db_instance_entifier = aws_db_instance.mydb.eu ia
db_snapshot_identifier = "testsnapshot"

No arquivo anterior, substitua o “Nome de usuário”Com o valor no seu caso. Vamos ver um pouco sobre alguns dos parâmetros usados ​​acima:

  • shared_credentials_file: é o caminho do arquivo que contém as credenciais dos usuários da AWS.
  • Perfil: Especifica o perfil do usuário a ser usado para trabalhar com a AWS.
  • AWS_DB_INSTANCE: Recurso para criar uma nova instância RDS.
  • db_instance_identifier: Especifica o identificador de instância do banco de dados a partir do qual o instantâneo RDS será gerado.
  • db_snapshot_identifier: usado como identificador de instantâneo.

Inicialize o diretório Terraform

Para baixar e instalar o provedor que definimos em nossa configuração e outros arquivos, precisamos inicializar o diretório que contém este arquivo.

$ Terraform init

Construir a infraestrutura

Para construir a infraestrutura desejada, aplique as alterações usando o seguinte comando:

$ Terraform se aplica

Insira 'sim' no terminal quando solicitado.

Verifique o procedimento

Agora, vamos verificar se o balde de instância RDS desejado é criado ou não. Vá para o console RDS e verifique os bancos de dados disponíveis.

Podemos ver que o "Linuxhint-Terraform-DB" é criado. Da mesma forma, nas seções de instantâneos, verifique se o instantâneo que especificamos no arquivo de configuração é criado ou não.

Exclua os recursos

Quando você concluir sua tarefa e não precisar mais dos recursos da AWS, basta excluí -los executando o seguinte comando:

$ Terraform Destruir

Conclusão

Neste guia, aprendemos e demonstramos sobre a criação do balde S3 na AWS usando o Terraform. Você provavelmente percebeu o quão simples é trabalhar com o Terraform.