Amazon RDS(關聯式資料庫服務)簡化了雲端中關聯式資料庫的設定、操作和擴充。透過使用 Terraform,您可以將 MySQL RDS 執行個體作為程式碼進行管理,從而確保一致性和易於部署。在本文中,我們將逐步介紹使用 Terraform 在 AWS 上建立 MySQL RDS 實例的過程。
開始之前,請確保您具備以下條件:
首先在 Terraform 設定檔中定義 AWS 提供者。這將指示 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 }
接下來,定義一個安全群組來控制對 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 } }
現在,定義 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 } }
Terraform 設定準備就緒後,請依照下列步驟部署 MySQL RDS 實例:
terraform init
terraform plan
terraform apply
此程序將依照您的配置中的定義在 AWS 上建立 MySQL RDS 實例。此執行個體將使用自訂安全群組進行保護,該群組控制對資料庫的存取。
執行個體啟動並執行後,您可以透過 AWS 管理主控台中提供的端點或透過 Terraform 輸出(如果已設定)存取它。確保您的安全性群組已正確配置為僅允許來自受信任來源的存取。
如果您不再需要MySQL RDS實例,您可以銷毀Terraform所建立的資源以避免產生費用:
terraform destroy
此命令將從您的 AWS 帳戶中刪除 RDS 執行個體和關聯的安全群組。
使用 Terraform 建立 AWS MySQL RDS 實例是一個簡化的過程,可讓您以程式碼形式管理資料庫基礎架構。透過在 Terraform 設定檔中定義 RDS 執行個體及其安全性設置,您可以輕鬆、一致、有效率地部署、修改和銷毀資料庫資源。
對於生產環境,請考慮其他配置,例如多可用區部署、加密和增強監控。 Terraform 的靈活性和強大功能使其成為管理雲端基礎架構的理想工具,確保根據最佳實務部署和維護您的資源。
以上是使用 Terraform 建立 AWS MySQL RDS 實例的詳細內容。更多資訊請關注PHP中文網其他相關文章!