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!.
Running the App#
-
Create a new stack:
$ pulumi stack init dev -
Configure the project:
$ pulumi config set gcp:project YOURGOOGLECLOUDPROJECT$ pulumi config set gcp:zone us-central1-a -
Run
pulumi upto preview and deploy changes:$ pulumi up -yPreviewing update (dev):Type Name Plan Info+ pulumi:pulumi:Stack gcp-py-webserver-dev create+ ├─ gcp:compute:Address address create+ ├─ gcp:compute:Network network create+ ├─ gcp:compute:Firewall firewall create+ └─ gcp:compute:Instance instance createUpdating (dev):Type Name Status Info+ 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:
$ curl $(pulumi stack output instanceIP)Hello, World! -
SSH into the server:
$ gcloud compute ssh $(pulumi stack output instanceName)Warning: Permanently added 'compute.967481934451185713' (ECDSA) to the list of known hosts.The programs included with the Debian GNU/Linux system are free software;the exact distribution terms for each program are described in theindividual files in /usr/share/doc/*/copyright.Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extentpermitted by applicable law.user@instance-8ad9bd8:~$ -
Cleanup
$ pulumi destroy$ pulumi stack rm