CertMaster

🏗️ Terraform Modules

Module struktura, Registry, reusable components

Terraform Associate · TF-Associate · ⏱️ 20 min · ❓ 5 savol

📦 Module nima?

Terraform fayllar to'plami — reusable infrastructure component. Root module — asosiy working directory. Child module — `module` block orqali chaqiriladi. Published modules: Terraform Registry (registry.terraform.io).

🏗️ Module Tuzilmasi

main.tf — asosiy resurslar. variables.tf — input variables. outputs.tf — output values. versions.tf — required_providers. README.md — documentation. Bu standart structure.

📡 Module Sources

Local path: `"./modules/vpc"`. Terraform Registry: `"hashicorp/consul/aws"`. GitHub: `"github.com/org/repo//modules/vpc"`. S3: `"s3::https://..."`. Module versioning: `version = "~> 3.0"` (Registry modules uchun).

🔄 Module Best Practices

💡 Asosiy nuqtalar
📋 Kod misoli
# Module chaqirish
module "vpc" {
  source  = "terraform-aws-modules/vpc/aws"
  version = "~> 5.0"

  name = "my-vpc"
  cidr = "10.0.0.0/16"
  azs  = ["us-east-1a", "us-east-1b"]
  private_subnets = ["10.0.1.0/24", "10.0.2.0/24"]
  public_subnets  = ["10.0.101.0/24", "10.0.102.0/24"]
  enable_nat_gateway = true
}

# Module outputidan foydalanish
resource "aws_instance" "app" {
  subnet_id = module.vpc.private_subnets[0]
  # ...
}

# Local module
module "database" {
  source = "./modules/rds"
  db_name     = "myapp"
  vpc_id      = module.vpc.vpc_id
  subnet_ids  = module.vpc.private_subnets
}
🎯 Imtihon maslahatlari
⚠️ Ko'p adashadigan
🧠 Eslab qolish: "Module = Lego Block": qayta ishlatiladi, birlashtirish mumkin, standart interfeys (variables + outputs). "MOVE = Main, Outputs, Variables, Existing-data (data.tf)"

Terraform Modules bo'yicha o'zingizni sinab ko'ring

Bepul interaktiv quiz, mock imtihon va to'liq darslar — CertMaster platformasida.

Bepul boshlash →