1. Firewalls

By default the only enabled port in Azure Load Balancer, when creating a new Linux VM, is 22 for SSH. You can open more ports in the management portal or with the command line tools.

The Linux images in the gallery do not enable the iptables firewall inside the Linux virtual machines. If desired, the IPtables firewall may be configured to provide additional capabilities. In other words, no firewall is enabled by default when creating a new Linux VM. (This is a big difference from creating Windows VM:s.)

2. Load Balancing

When you first create a new Linux VM you give it a public DNS name, such as http://buzz2345.cloudapp.net. (As I said above, the only port that will work by default is the SSH port. So you will not get anything if you browse to this address.)

You can now add more VM:s to the same DNS name.

Your route the traffic from the Azure Load Balancer by creating new endpoints. Each endpoint has a public and private port. To get them load balanced you need to specify a special endpoint that is load balanced.


Here is a thorough walkthrough how to load balance virtual machines.

3. Installing a Linux VM with Azure Command-Line Interface

Azure CLI is a command line tool that is written in node.js, which means that it can run on any operating system. On Windows it is also possible to use PowerShell to create scripts.

Good examples of finished scripts you can find on the Microsoft VM Depot website. Here is an example that creates a Linux VM that includes the whole MEAN stack.

4. Supported Linux distributions

This list will grow old rather fast. Go to this link to get a fresh version of it. Azure have also over 1 000 Linux images preinstalled with popular open source frameworks that you can use.

Distribution Version Drivers Kernel Compatibility Patch Agent
Canonical UBUNTU Ubuntu 12.04.1, 12.10, and 13.04 In Kernel Required for 12.04 or 12.04.01 only Package: In package repo under walinuxagent
Source: GITHUB
CENTOS by Open Logic CentOS 6.3+ CentOS 6.3: LIS drivers; CentOS 6.4+ drivers: in Kernel Required for 6.3 only Package:In Open Logic package repo under walinuxagent
Source: GITHUB
Oracle Linux 6.4+ In Kernel N/A Package: In repo, name: WALinuxAgent
Source: GITHUB
SUSE Linux Enterprise SLES 11 SP3+ In Kernel N/A Package: In Cloud:Tools repo, name: WALinuxAgent
Source Code: GITHUB
openSUSE OpenSUSE 13.1+ In Kernel N/A Package: In Cloud:Tools repo, name: WALinuxAgent
Source Code: GITHUB

5. Azure Linux Agent

This agent is installed on the Linux VM and is responsible to communicate with the Azure Frabric Controller. It provides the following functionality:

  • Image Provisioning
    • Creation of a user account
    • Configuring SSH authentication types
    • Deployment of SSH public keys and key pairs
    • Setting the host name
    • Publishing the host name to the platform DNS
    • Reporting SSH host key fingerprint to the platform
    • Resource Disk Management
    • Formatting and mounting the resource disk
    • Configuring swap space
  • Networking
    • Manages routes to improve compatibility with platform DHCP servers
    • Ensures the stability of the network interface name
  • Kernel
    • Configuring virtual NUMA
    • Consume Hyper-V entropy for /dev/random
    • Configuring SCSI timeouts for the root device (which could be remote)
  • Diagnostics
    • Console redirection to the serial port
  • SCVMM Deployments
    • Detect and bootstrap the VMM agent for Linux when running in a System Center Virtual Machine Manager 2012R2 environment

More information about the Linux Agent.

You can manually download and install it from GitHub.

Use this agent also for creating redistributable images. To do that you use the command:

sudo waagent deprovision

More information how to capture a Linux image.

6. Add data disks to a Linux VM

You can attach data disks, both empty or with data, to a Linux VM. A disk can be up to 1 TB. Number of disks is based on the size of the virtual machine.

  • Extra Small – 1 disk
  • Small – 2 disks
  • Medium – 4 disks
  • Large – 8 disks
  • Extra Large – 16 disks
  • A5 – 4 disks
  • A6 – 8 disks
  • A7 – 16 disks

More information how to create and attach disks.