1. Packages
  2. AWS
  3. How-to Guides
  4. Host a Static Website on Amazon S3
AWS v6.60.0 published on Tuesday, Nov 19, 2024 by Pulumi

Host a Static Website on Amazon S3

aws logo
AWS v6.60.0 published on Tuesday, Nov 19, 2024 by Pulumi

    View Code Deploy this example with Pulumi

    A 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 ***.

    1. Create a new stack:

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

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

      $ pulumi up
      Previewing update (dev):
      
          Type                    Name                  Plan
      +   pulumi:pulumi:Stack     aws-py-s3-folder-dev  create
      +   ├─ aws:s3:BucketV2      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         create
      
      Resources:
          + 6 to create
      
      Do you want to perform this update?
      > yes
        no
        details
      
    4. To see the resources that were created, run pulumi stack output:

      $ pulumi stack output
      Current stack outputs (2):
          OUTPUT                                           VALUE
          bucket_name                                      s3-website-bucket-***
          website_url                                      ***.s3-website-us-west-2.amazonaws.com
      
    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 bucket_name)
      2018-04-17 15:40:47      13731 favicon.png
      2018-04-17 15:40:48        249 index.html
      
    6. Open the site URL in a browser to see both the rendered HTML, the favicon, and Python splash image:

      $ pulumi stack output website_url
      ***.s3-website-us-west-2.amazonaws.com
      
    7. To clean up resources, run pulumi destroy and answer the confirmation question at the prompt.

    aws logo
    AWS v6.60.0 published on Tuesday, Nov 19, 2024 by Pulumi