"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > Creación de una instancia AWS MySQL RDS con Terraform

Creación de una instancia AWS MySQL RDS con Terraform

Publicado el 2024-09-02
Navegar:520

Creating an AWS MySQL RDS Instance with Terraform

Creación de una instancia AWS MySQL RDS con Terraform

Amazon RDS (Relational Database Service) simplifica la configuración, operación y escalado de bases de datos relacionales en la nube. Al utilizar Terraform, puede administrar sus instancias de MySQL RDS como código, lo que garantiza coherencia y facilidad de implementación. En este artículo, recorreremos el proceso de creación de una instancia RDS de MySQL en AWS utilizando Terraform.

Requisitos previos

Antes de comenzar, asegúrese de tener lo siguiente:

  • Cuenta de AWS: Una cuenta de AWS activa con los permisos necesarios para crear instancias de RDS.
  • Terraform instalado: Terraform debe estar instalado en su máquina local.
  • Clave de acceso y clave secreta de AWS: Necesitará estas credenciales para autenticar Terraform con AWS.

Pasos para crear una instancia MySQL RDS

1. Defina el proveedor de AWS

Comience definiendo el proveedor de AWS en su archivo de configuración de Terraform. Esto le indicará a Terraform que interactúe con los servicios de AWS en la región especificada utilizando sus credenciales.

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. Cree un grupo de seguridad

A continuación, defina un grupo de seguridad que controlará el acceso a su instancia MySQL RDS. Este grupo de seguridad permitirá el tráfico entrante en el puerto 3306, que es el puerto predeterminado 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. Cree la instancia MySQL RDS

Ahora, defina la propia instancia de MySQL RDS. Esta configuración especifica el tipo de instancia, el almacenamiento, la versión del motor y otros detalles.

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. Inicializar y aplicar la configuración de Terraform

Con la configuración de Terraform lista, siga estos pasos para implementar la instancia MySQL RDS:

  • Inicializar Terraform:
  terraform init
  • Crear un plan de ejecución:
  terraform plan 
  • Aplicar el Plan:
  terraform apply

Este proceso creará una instancia de MySQL RDS en AWS como se define en su configuración. La instancia estará protegida con el grupo de seguridad personalizado, que controla el acceso a la base de datos.

5. Accediendo a la instancia MySQL RDS

Una vez que la instancia esté en funcionamiento, puede acceder a ella a través del punto final proporcionado en la Consola de administración de AWS o mediante la salida de Terraform si está configurada. Asegúrese de que su grupo de seguridad esté configurado correctamente para permitir el acceso solo desde fuentes confiables.

6. Limpiar recursos

Si ya no necesita la instancia MySQL RDS, puede destruir los recursos creados por Terraform para evitar incurrir en costos:

terraform destroy

Este comando eliminará la instancia de RDS y el grupo de seguridad asociado de su cuenta de AWS.

Conclusión

Crear una instancia de AWS MySQL RDS con Terraform es un proceso simplificado que le permite administrar la infraestructura de su base de datos como código. Al definir su instancia de RDS y su configuración de seguridad en un archivo de configuración de Terraform, puede implementar, modificar y destruir fácilmente los recursos de su base de datos con coherencia y eficiencia.

Para entornos de producción, considere configuraciones adicionales, como implementaciones multi-AZ, cifrado y monitoreo mejorado. La flexibilidad y el poder de Terraform lo convierten en una herramienta ideal para administrar la infraestructura de la nube, garantizando que sus recursos se implementen y mantengan de acuerdo con las mejores prácticas.

Declaración de liberación Este artículo se reproduce en: https://dev.to/giasuddin90/creating-an-aws-mysql-rds-instance-with-terraform-4h8g?1 Si hay alguna infracción, comuníquese con [email protected] para eliminar él
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3