Skip to content

GLChamika/Azure-Networking-Linux-VM-Deployment-using-Terraform

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 

Repository files navigation

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

About

Terraform project to provision Azure infrastructure including Resource Group, VNet, Subnet, NSG, Public IP, NIC, and an Ubuntu Linux VM with remote state stored in Azure Blob Storage.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages