Deploy a Virtual Network and Virtual Machine Using Bicep

Beginner
4.9Rating
3,459Deployments
60 mDuration

Build a real-world Bicep template that deploys a VNet with subnets, NSG rules, a public IP, and a Linux VM with SSH access.

Lab Overview & Objectives

Deploying networking and compute resources is one of the most common tasks in cloud engineering, and Azure Bicep makes it dramatically simpler than writing raw ARM JSON. In this hands-on lab, you will build a complete multi-resource Bicep template from scratch that deploys a Virtual Network with subnets, a Network Security Group with SSH rules, a public IP address, a network interface, and a Linux Virtual Machine.

You will start by defining the networking foundation. You will create a VNet with a subnet and an NSG with an inbound SSH allow rule. Then you will add compute resources including a public IP, a NIC, and a Linux VM with password authentication protected by the @secure() decorator. Finally, you will deploy the entire stack using az deployment group create and verify all resources and their relationships in the Azure Portal.

Objectives

Upon completing this beginner level lab, you will be able to:

  • Define a Virtual Network with subnets using Azure Bicep
  • Create a Network Security Group with an inbound SSH allow rule
  • Deploy a public IP address and a network interface card referencing the VNet and NSG
  • Provision a Linux Virtual Machine with password authentication using the @secure() parameter
  • Understand implicit resource dependencies via symbolic name references vs explicit dependsOn
  • Verify all deployed resources and their relationships in the Azure Portal

Who is this lab for?

This lab is designed for:

  • Cloud engineers who want to deploy real-world networking and compute infrastructure using Bicep
  • IT professionals looking to build multi-resource templates with proper dependency management

Real-Time Validation

Our platform uses an automated validation engine to verify your configurations as you work through the lab modules. No multiple choice—just real-world proficiency.

[SYSTEM] VALIDATION_ACTIVEv2.4.0
Checking resource: vpc-ingress-01...
Scanning security policy: allow-ssh...
Modules
4
Duration
60 m

Lab Curriculum

01

Logging into Azure CLI

02

Writing Bicep for VNet Subnet and NSG Rules

03

Adding Public IP Network Interface and Linux VM

04

Deploying Full Stack and Verifying VM Resources