1. Packages
  2. AWS Cloud Control
  3. Host a Static Website on Amazon S3 with the AWS Cloud Control Provider

We recommend new projects start with resources from the AWS provider.

AWS Cloud Control v1.9.0 published on Monday, Nov 18, 2024 by Pulumi

Host a Static Website on Amazon S3 with the AWS Cloud Control Provider

aws-native logo

We recommend new projects start with resources from the AWS provider.

AWS Cloud Control v1.9.0 published on Monday, Nov 18, 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.

    Note: Some resources are not yet supported by the AWS Cloud Control provider, so we are also using the standard AWS provider for additional resources in this example.

    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 dev
      
    2. Set the AWS region:

      Either using an environment variable

      $ export AWS_REGION=us-west-2
      

      Or with the stack config

      $ pulumi config set aws:region us-west-2
      $ pulumi config set aws-native:region us-west-2
      
    3. Restore NPM modules via npm install or yarn install.

    4. 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)
      ...
      
      Updating (dev)
      
      View Live: https://app.pulumi.com/***/aws-native-ts-s3-folder/dev/updates/1
      
           Type                     Name                         Status
      +   pulumi:pulumi:Stack      aws-native-ts-s3-folder-dev  created
      +   ├─ aws-native:s3:Bucket  s3-website-bucket            created
      +   ├─ aws:s3:BucketPolicy   bucketPolicy                 created
      +   ├─ aws:s3:BucketObject   index.html                   created
      +   └─ aws:s3:BucketObject   favicon.png                  created
      
      Outputs:
      bucketName: "***"
      websiteUrl: "http://***.s3-website-us-west-2.amazonaws.com"
      
      Resources:
      + 5 created
      
      Duration: ***
      
    5. To see the resources that were created, run pulumi stack output:

      $ pulumi stack output
      Current stack outputs (2):
      OUTPUT      VALUE
      bucketName  ***
      websiteUrl  http://***.s3-website-us-west-2.amazonaws.com
      
    6. 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)
      2021-09-30 15:27:58      13731 favicon.png
      2021-09-30 15:27:58        198 index.html
      
    7. Open the site URL in a browser to see both the rendered HTML and the favicon:

      $ pulumi stack output websiteUrl
      ***.s3-website-us-west-2.amazonaws.com
      

      Hello S3 example

    8. To clean up resources, run pulumi destroy and answer the confirmation question at the prompt.

    aws-native logo

    We recommend new projects start with resources from the AWS provider.

    AWS Cloud Control v1.9.0 published on Monday, Nov 18, 2024 by Pulumi