Web server using Compute Engine
Basic example of a Google Cloud 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 gcp-py-webservercd pulumi-examples/gcp-py-webserverStarting point for building the Pulumi web server sample in Google Cloud.
This example deploys a Google Compute Engine virtual machine — together with a network and firewall rule that allows SSH and HTTP access — and runs a simple HTTP server on it that responds with Hello, World!.
Prerequisites#
Deploying the example#
-
Create a new stack:
Terminal window pulumi stack init dev -
Configure the project:
Terminal window pulumi config set gcp:project YOURGOOGLECLOUDPROJECTpulumi config set gcp:zone us-central1-a -
Install dependencies:
Terminal window python3 -m venv venvsource venv/bin/activatepip install -r requirements.txt -
Run
pulumi upto preview and deploy changes:Terminal window pulumi upUpdating (dev):Type Name Status+ pulumi:pulumi:Stack gcp-py-webserver-dev created+ ├─ gcp:compute:Address address created+ ├─ gcp:compute:Network network created+ ├─ gcp:compute:Firewall firewall created+ └─ gcp:compute:Instance instance createdOutputs:instanceIP : "35.188.118.61"instanceName: "instance-91b70e1"Resources:+ 5 createdDuration: 1m51s -
Curl the HTTP server:
Terminal window curl $(pulumi stack output instanceIP)Hello, World! -
SSH into the server:
Terminal window gcloud compute ssh $(pulumi stack output instanceName)
Cleaning up#
Once you’re finished experimenting, destroy your stack and remove it:
pulumi destroypulumi stack rm