Skip to main content

Web server using Azure Virtual Machine

Basic example of an Azure web server accessible over HTTP

This example lives in the pulumi/examples repository. Check out just this directory to use it:

Get started with this example
git clone --filter=blob:none --sparse https://github.com/pulumi/examples pulumi-examples
git -C pulumi-examples sparse-checkout set azure-ts-webserver
cd pulumi-examples/azure-ts-webserver

This example provisions a Linux web server in an Azure Virtual Machine and gives it a public IP address.

Prerequisites#

  1. Install Pulumi
  2. Configure Azure credentials
  3. Install Node.js

Deploying the example#

  1. Create a new stack:

    Terminal window
    pulumi stack init dev
  2. Configure the deployment. The username and password here will be used to configure the Virtual Machine. The password must adhere to the Azure restrictions on VM passwords. The --secret flag ensures your password is encrypted safely.

    Terminal window
    pulumi config set azure-native:location westus # any valid Azure region will do
    pulumi config set username webmaster
    pulumi config set password --secret <your-password>
  3. Log in to the Azure CLI (you will be prompted to do this during deployment if you forget this step):

    Terminal window
    az login
  4. Install dependencies:

    Terminal window
    npm install
  5. Deploy the stack:

    Terminal window
    pulumi up
    Previewing changes:
    ...
    Performing changes:
    ...
    info: 7 changes performed:
    + 7 resources created
    Update duration: 2m38s
  6. Check the IP address:

    Terminal window
    pulumi stack output ipAddress
    40.112.181.239

Cleaning up#

Once you’re finished experimenting, tear down your stack’s resources by destroying and removing it:

Terminal window
pulumi destroy
pulumi stack rm

Related

The infrastructure as code platform for any cloud.