Terraform
Audience: Cloud Engineers and DevOps practitioners.
Purpose: Infrastructure as Code for provisioning and managing cloud resources.
Overview
Terraform is an open-source Infrastructure as Code tool that enables you to safely and predictably create, change, and improve infrastructure.
Training Resources
Instruqt Training
Access HashiCorp's official training platform:
Training Link: play.instruqt.com/hashicorp/invite/ad10y7qrpt2c
| Course | Level |
|---|---|
| Terraform Foundations | 101 |
| Terraform Module Lab | 102 |
| Collaborative Infrastructure as Code | 201 |
| Terraform: Cloud Compliance and Management | 300 |
| Advanced Sentinel Governance | 400 |
Additional Resources
| Resource | Link |
|---|---|
| Terraform Registry Badges | terraform.io/docs/registry/providers |
| Cisco ACI Automation | blogs.cisco.com/developer/terraform-with-aci-1 |
TAMU Terraform Modules
| Module | Purpose |
|---|---|
| terraform-google-project-factory | GCP project creation |
| it-ae-tfmod-vra-linux-deployment | AggieCloud Linux VMs |
| it-ae-tfmod-vra-windows-deployment | AggieCloud Windows VMs |
Authentication
Configure provider authentication for each cloud platform:
Azure Authentication
Use Azure CLI or Service Principal authentication.
provider "azurerm" {
features {}
}
AWS Authentication
Use AWS CLI profile or environment variables.
provider "aws" {
region = "us-east-1"
}
GCP Authentication
Use Application Default Credentials or service account key.
provider "google" {
project = "your-project-id"
region = "us-central1"
}
State Management
Store Terraform state remotely for team collaboration:
- Azure: Azure Storage Account with blob container
- AWS: S3 bucket with DynamoDB for locking
- GCP: Cloud Storage bucket