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:
git clone --filter=blob:none --sparse https://github.com/pulumi/examples pulumi-examplesgit -C pulumi-examples sparse-checkout set azure-ts-webservercd pulumi-examples/azure-ts-webserverThis example provisions a Linux web server in an Azure Virtual Machine and gives it a public IP address.
Prerequisites#
- Node.js
- Download and install the Pulumi CLI (you will also need to configure Pulumi for a supported state backend; by default it will use Pulumi Cloud)
- Connect Pulumi with your Azure account (if your
azCLI is configured, no further changes are required)
Running the App#
These instructions assume you are running all commands in the same folder where the code resides (unless otherwise indicated).
-
Create a new stack:
$ pulumi stack init dev -
Configure the app 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.
$ 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>Note that
--secretensures your password is encrypted safely. -
Login to Azure CLI (you will be prompted to do this during deployment if you forget this step):
$ az login -
Restore NPM dependencies:
$ npm install -
Run
pulumi upto preview and deploy changes:$ pulumi upPreviewing changes:...Performing changes:...info: 7 changes performed:+ 7 resources createdUpdate duration: 2m38s -
Check the IP address:
$ pulumi stack output ipAddress40.112.181.239