«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Создание экземпляра AWS MySQL RDS с помощью Terraform

Создание экземпляра AWS MySQL RDS с помощью Terraform

Опубликовано 2 сентября 2024 г.
Просматривать:450

Creating an AWS MySQL RDS Instance with Terraform

Создание экземпляра AWS MySQL RDS с помощью Terraform

Amazon RDS (служба реляционных баз данных) упрощает настройку, эксплуатацию и масштабирование реляционных баз данных в облаке. Используя Terraform, вы можете управлять экземплярами MySQL RDS как кодом, обеспечивая согласованность и простоту развертывания. В этой статье мы рассмотрим процесс создания экземпляра MySQL RDS на AWS с использованием Terraform.

Предварительные условия

Прежде чем начать, убедитесь, что у вас есть следующее:

  • Учетная запись AWS: Активная учетная запись AWS с необходимыми разрешениями для создания экземпляров RDS.
  • Terraform установлен: Terraform должен быть установлен на вашем локальном компьютере.
  • Ключ доступа и секретный ключ AWS: Эти учетные данные потребуются вам для аутентификации Terraform с помощью AWS.

Шаги по созданию экземпляра MySQL RDS

1. Определите поставщика AWS

Начните с определения поставщика AWS в файле конфигурации Terraform. Это позволит Terraform взаимодействовать с сервисами AWS в указанном регионе, используя ваши учетные данные.

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. Создайте группу безопасности.

Далее определите группу безопасности, которая будет контролировать доступ к вашему экземпляру MySQL RDS. Эта группа безопасности разрешит входящий трафик через порт 3306, который является портом по умолчанию для 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. Создайте экземпляр MySQL RDS.

Теперь определите сам экземпляр MySQL RDS. В этой конфигурации указывается тип экземпляра, хранилище, версия ядра и другие сведения.

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. Инициализируйте и примените конфигурацию Terraform.

Когда конфигурация Terraform готова, выполните следующие действия для развертывания экземпляра MySQL RDS:

  • Инициализировать Terraform:
  terraform init
  • Создайте план выполнения:
  terraform plan 
  • Примените план:
  terraform apply

Этот процесс создаст экземпляр MySQL RDS на AWS, как определено в вашей конфигурации. Экземпляр будет защищен специальной группой безопасности, которая контролирует доступ к базе данных.

5. Доступ к экземпляру MySQL RDS

Как только экземпляр будет запущен, вы сможете получить к нему доступ через конечную точку, указанную в консоли управления AWS, или через выходные данные Terraform, если это настроено. Убедитесь, что ваша группа безопасности правильно настроена и разрешает доступ только из надежных источников.

6. Очистите ресурсы

Если вам больше не нужен экземпляр MySQL RDS, вы можете уничтожить ресурсы, созданные Terraform, чтобы избежать затрат:

terraform destroy

Эта команда удалит экземпляр RDS и связанную с ним группу безопасности из вашей учетной записи AWS.

Заключение

Создание экземпляра AWS MySQL RDS с помощью Terraform — это оптимизированный процесс, позволяющий управлять инфраструктурой базы данных как кодом. Определив экземпляр RDS и его параметры безопасности в файле конфигурации Terraform, вы можете легко развертывать, изменять и уничтожать ресурсы базы данных согласованно и эффективно.

Для производственных сред рассмотрите дополнительные конфигурации, такие как развертывание в нескольких зонах доступности, шифрование и расширенный мониторинг. Гибкость и мощность Terraform делают его идеальным инструментом для управления облачной инфраструктурой, гарантируя развертывание и обслуживание ваших ресурсов в соответствии с лучшими практиками.

Заявление о выпуске Эта статья воспроизведена по адресу: https://dev.to/giasuddin90/creating-an-aws-mysql-rds-instance-with-terraform-4h8g?1. Если есть какие-либо нарушения, свяжитесь с [email protected], чтобы удалить это
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3