Web Server Using Amazon EC2
Basic example of an AWS 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 aws-ts-webservercd pulumi-examples/aws-ts-webserverThis example deploys a simple AWS EC2 virtual machine running a Python web server.
Deploying the App#
To deploy your infrastructure, follow the below steps.
Prerequisites#
Steps#
After cloning this repo, from this working directory, run these commands:
-
Create a new stack, which is an isolated deployment target for this example:
Terminal window pulumi stack init -
Set the required configuration variables for this program:
Terminal window pulumi config set aws:region us-east-1 -
Stand up the VM, which will also boot up your Python web server on port 80:
Terminal window pulumi up -
After a couple minutes, your VM will be ready, and two stack outputs are printed:
Terminal window pulumi stack outputCurrent stack outputs (2):OUTPUT VALUEpublicHostName ec2-53-40-227-82.compute-1.amazonaws.compublicIp 53.40.227.82 -
Thanks to the security group making port 80 accessible to the 0.0.0.0/0 CIDR block (all addresses), we can curl it:
Terminal window curl $(pulumi stack output publicIp)Hello, World! -
From there, feel free to experiment. Simply making edits and running
pulumi upwill incrementally update your VM. -
Afterwards, destroy your stack and remove it:
Terminal window pulumi destroy --yespulumi stack rm --yes