Skip to content

Latest commit

 

History

History
63 lines (45 loc) · 1.82 KB

File metadata and controls

63 lines (45 loc) · 1.82 KB

Azure Networking and Linux VM using Terraform

image

This project uses Terraform to provision Azure infrastructure including:

  • Resource Group
  • Virtual Network (VNet)
  • Subnet
  • Network Security Group (NSG) with SSH access
  • Public IP
  • Network Interface (NIC)
  • Ubuntu Linux Virtual Machine
  • Remote Terraform state stored in Azure Blob Storage

The infrastructure is created using the AzureRM provider and follows Infrastructure as Code (IaC) best practices.


🧱 Architecture

Resources created by this project:

  • Azure Resource Group
  • Virtual Network (10.0.0.0/16)
  • Subnet (10.0.2.0/24)
  • Network Security Group (allows SSH on port 22)
  • Public IP (Static)
  • Network Interface
  • Linux VM (Ubuntu 22.04 LTS)
  • SSH public key is stored in Azure (best practice is to use Azure AD login or store SSH keys in a centralized service such as Key Vault)

Note: Terraform state is stored remotely in Azure Blob Storage using an Azure backend configuration.


⚙️ Prerequisites

  • Azure Subscription
  • Terraform v1.x installed
  • Azure CLI installed and logged in
  • SSH key pair (RSA) generated
  • Azure Storage Account for remote backend

🔐 Backend Configuration (Remote State)

Terraform state is stored in Azure Blob Storage.

terraform {
  backend "azurerm" {
    storage_account_name = "Add your blob storage account name here"
    container_name       = "Add container name here" 
    key                  = "terraform.tfstate"
    access_key           = "Add your storage account access key here"
  }
}
image