Host a Static Website on Amazon S3
A minimal AWS Python Pulumi program
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-py-s3-foldercd pulumi-examples/aws-py-s3-folderA static website that uses S3’s website support. For a detailed walkthrough of this example, see the tutorial Static Website on AWS S3.
Deploying and running the program#
Note: some values in this example will be different from run to run. These values are indicated
with ***.
-
Create a new stack:
Terminal window pulumi stack init website-testing -
Set the AWS region:
Terminal window pulumi config set aws:region us-west-2 -
Run
pulumi upto preview and deploy changes. After the preview is shown you will be prompted if you want to continue or not.Terminal window pulumi upPreviewing update (dev):Type Name Plan+ pulumi:pulumi:Stack aws-py-s3-folder-dev create+ ├─ aws:s3:Bucket s3-website-bucket create+ ├─ aws:s3:BucketObject index.html create+ ├─ aws:s3:BucketObject python.png create+ ├─ aws:s3:BucketObject favicon.png create+ └─ aws:s3:BucketPolicy bucket-policy createResources:+ 6 to createDo you want to perform this update?> yesnodetails -
To see the resources that were created, run
pulumi stack output:Terminal window pulumi stack outputCurrent stack outputs (2):OUTPUT VALUEbucket_name s3-website-bucket-***website_url ***.s3-website-us-west-2.amazonaws.com -
To see that the S3 objects exist, you can either use the AWS Console or the AWS CLI:
Terminal window aws s3 ls $(pulumi stack output bucket_name)2018-04-17 15:40:47 13731 favicon.png2018-04-17 15:40:48 249 index.html -
Open the site URL in a browser to see both the rendered HTML, the favicon, and Python splash image:
Terminal window pulumi stack output website_url***.s3-website-us-west-2.amazonaws.com -
To clean up resources, run
pulumi destroyand answer the confirmation question at the prompt.
