Static Website on Amazon S3

View Code Deploy

The component version of aws-go-s3-folder. For a detailed walkthrough of this example, see Tutorial: Pulumi Components.

Deploying and running the program

Note: some values in this example will be different from run to run. These values are indicated with ***.

  1. Create a new stack:

    $ pulumi stack init website-component-testing
  2. Set the AWS region:

    $ pulumi config set aws:region us-west-2
  3. Run pulumi up to preview and deploy changes. After showing the preview you will be prompted if you want to continue or not.

    $ pulumi up
    Previewing stack 'website-component-testing'
    Previewing changes:
    Updating stack 'website-component-testing'
    Performing changes:
        Type                        Name                                                  Status
    +   pulumi:pulumi:Stack         aws-go-s3-folder-component-website-component-testing  created
    +   └─ pulumi:example:S3Folder  pulumi-static-site                                     created
    +      ├─ aws:s3:Bucket         pulumi-static-site                                     created
    +      ├─ aws:s3:BucketPolicy   bucketPolicy                                          created
    +      ├─ aws:s3:BucketObject   index.html                                            created
    +      └─ aws:s3:BucketObject   favicon.png                                           created
        bucketName: "pulumi-static-site-***"
        websiteUrl: "pulumi-static-site-***"
        + 6 created
    Duration: 14s
    Permalink: ***
  4. To see the resources that were created, run pulumi stack output:

    $ pulumi stack output
    Current stack outputs (2):
        OUTPUT      VALUE
        bucketName  pulumi-static-site-***
        websiteUrl  pulumi-static-site-***
  5. To see that the S3 objects exist, you can either use the AWS Console or the AWS CLI:

    $ aws s3 ls $(pulumi stack output bucketName)
    2020-04-20 22:52:15      13731 favicon.png
    2020-04-20 22:52:15        249 index.html    
  6. Open the site URL in a browser to see both the rendered HTML and the favicon:

    $ pulumi stack output websiteUrl
  7. To clean up resources, run pulumi destroy and answer the confirmation question at the prompt.