Web Server Using Amazon EC2
This example deploys a simple AWS EC2 virtual machine running a Python web server.
Deploying the App
To deploy your infrastructure, follow the below 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:
$ pulumi stack init
Set the required configuration variables for this program:
$ pulumi config set aws:region us-east-1
Stand up the VM, which will also boot up your Python web server on port 80:
$ pulumi up
After a couple minutes, your VM will be ready, and two stack outputs are printed:
$ pulumi stack output Current stack outputs (2): OUTPUT VALUE publicHostName ec2-53-40-227-82.compute-1.amazonaws.com publicIp 18.104.22.168
Thanks to the security group making port 80 accessible to the 0.0.0.0/0 CIDR block (all addresses), we can curl it:
$ 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:
$ pulumi destroy --yes $ pulumi stack rm --yes