Nov 17, 2018

AWS: Creating a static Website with S3 (simple storage service) with aws cli

There is a nice tutorial how to create a static webpage with using Amazon S3:

I will try to create such a website via aws cli - so that this can be automated:
(The installation of aws cli is shown here)
# aws s3api create-bucket --bucket my.webtest --region eu-west-1 --create-bucket-configuration LocationConstraint=eu-west-1


    "Location": ""


Then create a website.json file:

$ cat website.json 


    "IndexDocument": {

         "Suffix": "index.html"


     "ErrorDocument": {

          "Key": "error.html"



and run

$ aws s3api put-bucket-website --bucket my.webtest --website-configuration file://website.json

After that the web console should show:

Next step is to create the file policy.json:

$ cat policy.json 






       "Principal": "*",







and run

aws s3api put-bucket-policy --bucket my.webtest --policy file://policy.json

You can check via:
$ aws s3api get-bucket-policy --bucket my.webtest


    "Policy": "{\"Version\":\"2012-10-17\",\"Statement\":[{\"Sid\":\"PublicReadForGetBucketObjects\",\"Effect\":\"Allow\",\"Principal\":\"*\",\"Action\":\"s3:GetObject\",\"Resource\":\"arn:aws:s3:::my.webtest/*\"}]}"

Via the web console:
 Then upload you html page:
$ aws s3 cp TestWebPage.html s3://my.webtest/index.html
upload: ./TestWebPage.html to s3://my.webtest/index.html  
 And here we go:

That was easy. Ok - a DNS resolution via Amazon route 53 is missing, but with these commands you are able to deploy a static website without clicking around...

Postings related to AWS:

No comments:

Post a Comment