"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Criando uma instância AWS MySQL RDS com Terraform

Criando uma instância AWS MySQL RDS com Terraform

Publicado em 2024-09-02
Navegar:608

Creating an AWS MySQL RDS Instance with Terraform

Criando uma instância AWS MySQL RDS com Terraform

O Amazon RDS (Relational Database Service) simplifica a configuração, a operação e o dimensionamento de bancos de dados relacionais na nuvem. Ao usar o Terraform, você pode gerenciar suas instâncias MySQL RDS como código, garantindo consistência e facilidade de implantação. Neste artigo, percorreremos o processo de criação de uma instância MySQL RDS na AWS usando Terraform.

Pré-requisitos

Antes de começar, certifique-se de ter o seguinte:

  • Conta AWS: Uma conta AWS ativa com as permissões necessárias para criar instâncias RDS.
  • Terraform instalado: O Terraform deve ser instalado em sua máquina local.
  • Chave de acesso e chave secreta da AWS: Você precisará dessas credenciais para autenticar o Terraform com AWS.

Etapas para criar uma instância MySQL RDS

1. Defina o provedor AWS

Comece definindo o provedor AWS em seu arquivo de configuração do Terraform. Isso instruirá o Terraform a interagir com os serviços da AWS na região especificada usando suas credenciais.

provider "aws" {
  region     = "ap-southeast-2"
  access_key = "your-access-key"  # Replace with your AWS access key
  secret_key = "your-secret-key"  # Replace with your AWS secret key
}

2. Crie um grupo de segurança

Em seguida, defina um grupo de segurança que controlará o acesso à sua instância MySQL RDS. Este grupo de segurança permitirá o tráfego de entrada na porta 3306, que é a porta padrão para MySQL.

resource "aws_security_group" "mysql_rds_sg" {
  name        = "rds-sg"
  description = "Security group for MySQL RDS instance"

  ingress {
    from_port   = 3306
    to_port     = 3306
    protocol    = "tcp"
    cidr_blocks = ["0.0.0.0/0"]  # Open to all; consider restricting this to specific IPs for better security
  }
}

3. Crie a instância MySQL RDS

Agora, defina a própria instância do MySQL RDS. Esta configuração especifica o tipo de instância, armazenamento, versão do mecanismo e outros detalhes.

resource "aws_db_instance" "awsdevrds" {
   allocated_storage      = 20
   max_allocated_storage  = 150
   storage_type           = "gp2"  # General Purpose SSD storage
   identifier             = "myrdsdev"
   engine                 = "mysql"
   engine_version         = "8.0.33"
   instance_class         = "db.t2.micro"  # Choose an instance class based on your workload
   username               = "admin"  # Replace with your desired username
   password               = "Passw!123"  # Replace with a strong password
   db_name                = "test_mysql_db"  # Name of the database
   backup_retention_period = 7  # Number of days to retain backups
   publicly_accessible    = true  # Make the instance publicly accessible (consider the security implications)
   skip_final_snapshot    = true  # Skip final snapshot when destroying the instance
   vpc_security_group_ids = [aws_security_group.mysql_rds_sg.id]  # Associate with the security group

   tags = {
     Name = "devrds"  # Tag your instance for easy identification
   }
}

4. Inicialize e aplique a configuração do Terraform

Com a configuração do Terraform pronta, siga estas etapas para implantar a instância MySQL RDS:

  • Inicializar o Terraform:
  terraform init
  • Crie um plano de execução:
  terraform plan 
  • Aplique o Plano:
  terraform apply

Este processo criará uma instância MySQL RDS na AWS conforme definido em sua configuração. A instância será protegida com o grupo de segurança personalizado, que controla o acesso ao banco de dados.

5. Acessando a instância MySQL RDS

Depois que a instância estiver instalada e em execução, você poderá acessá-la por meio do endpoint fornecido no AWS Management Console ou por meio da saída do Terraform, se configurado. Certifique-se de que seu grupo de segurança esteja configurado corretamente para permitir acesso apenas de fontes confiáveis.

6. Limpar recursos

Se você não precisar mais da instância MySQL RDS, poderá destruir os recursos criados pelo Terraform para evitar incorrer em custos:

terraform destroy

Este comando excluirá a instância RDS e o grupo de segurança associado de sua conta AWS.

Conclusão

Criar uma instância AWS MySQL RDS com Terraform é um processo simplificado que permite gerenciar sua infraestrutura de banco de dados como código. Ao definir sua instância RDS e suas configurações de segurança em um arquivo de configuração do Terraform, você pode facilmente implantar, modificar e destruir seus recursos de banco de dados com consistência e eficiência.

Para ambientes de produção, considere configurações adicionais, como implantações multi-AZ, criptografia e monitoramento aprimorado. A flexibilidade e o poder do Terraform o tornam uma ferramenta ideal para gerenciar infraestrutura em nuvem, garantindo que seus recursos sejam implantados e mantidos de acordo com as melhores práticas.

Declaração de lançamento Este artigo foi reproduzido em: https://dev.to/giasuddin90/creating-an-aws-mysql-rds-instance-with-terraform-4h8g?1 Se houver alguma violação, entre em contato com [email protected] para excluir isto
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3