⚡ ~/naveed Interview Prep
⚡ Portfolio Home ✍️ Engineering Blog Deep Dives 🎯 Interview Hub 998+ Scenarios ☸️ Kubernetes Mastery Hub 24 Modules 🎮 DevOps Arcade & Quizzes Subnet Blitz ⚡ 🗺️ DevOps Roadmaps PDFs & Guides 🤖 Morpheus Analysis AI Quant ↗ 🛠️ Developer Tools Utilities 🧪 Labs & Experiments 📄 Interactive CV & Certs 🔗 All Links & Socials ⚡ Join The Dispatch (Weekly SRE Newsletter) →
Staff SRE / Principal Architect [L3] Terraform State & Locking Staff SRE Scenario [L3]

Q: You have a Terraform configuration that manages resources in 3 AWS accounts. How do you structure this?

Use multiple provider configurations with aliases or split into multiple workspaces/modules:

#Terraform #State & Locking #L3 #IaC #Cloud Infrastructure #S3
🎙️ Candidate Opening & Architectural Context
""Treat Terraform code with the same rigor as application code: pre-merge plans, state locks, and automated drift detection. When addressing this question, I walk the interviewer through our production incident runbook: isolating the blast radius, checking diagnostic logs and metrics, and applying a safe fix.""
Advertisement

🛠️ Production Runbook & Step-by-Step Resolution

1️⃣

Production Solution & Architecture

Use multiple provider configurations with aliases or split into multiple workspaces/modules: Better approach at scale: separate Terraform root modules per account. Each module has its own state file, backend config, and runs independently. Avoid cross-account state dependencies — they create tight coupling. Use Terragrunt to DRY (Don't Repeat Yourself) across multiple root modules.

provider "aws" {
  alias  = "account-a"
  assume_role {
    role_arn = "arn:aws:iam::111111111:role/terraform"
  }
}

provider "aws" {
  alias  = "account-b"
  assume_role {
    role_arn = "arn:aws:iam::222222222:role/terraform"
  }
}

resource "aws_s3_bucket" "a" {
  provider = aws.account-a
  bucket   = "my-bucket-a"
}
💡 The Senior SRE Gold Nugget (Key Architectural Takeaway)
"Pro-Tip: Use multiple provider configurations with aliases or split into multiple workspaces/modules:."
⚡ 60-Second Elevator Pitch Talking Points
  • Immediate Triage: Use multiple provider configurations with aliases or split into multiple workspaces/modules:
  • Run targeted verification commands before modifying configuration.
  • Automate permanent guardrails (CI check, alerts, IaC policy) to prevent recurrence.
Advertisement
Want more Terraform scenarios?
Explore our complete collection of scenario-based Terraform interview runbooks.
Browse All Terraform Questions →

📚 Related Production Scenarios in Terraform