Infrastructure as Code project — Deployed a secure Ubuntu VM with Nginx in Azure using Terraform.
Automated deployment of a production-grade web server in Azure using Infrastructure-as-Code (IaC).
Includes:
- Virtual Network (VNet)
- Network Security Group (NSG) with restricted access
- Ubuntu 22.04 VM with Nginx and HTTPS
- Automated configuration via
cloud-init - Self-signed SSL certificate
- Automated end-to-end Azure web environment provisioning with Terraform, reducing manual setup effort.
- Enforced safer network access with NSG restrictions (IP-scoped access model).
- Standardized VM bootstrap using cloud-init for repeatable Nginx + HTTPS configuration.
- Demonstrated production-style IaC workflow suitable for junior cloud/DevOps portfolio validation.
- ✅ Terraform (IaC)
- ✅ Azure CLI
- ✅ Linux (Ubuntu 22.04)
- ✅ Nginx + OpenSSL
- ✅ Cloud-init
💡 Note: HTTPS uses a self-signed certificate — browser shows warning. This is expected.
- Clone this repo
- Create Azure Service Principal (with Contributor role)
- Fill in
terraform.tfvarswith your credentials:your_ipmust be in CIDR format (example:203.0.113.10/32)admin_ssh_public_keymust contain your full SSH public key
- Run:
terraform init terraform plan -var-file="terraform.tfvars" terraform apply -var-file="terraform.tfvars"



