You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* No tags are necessarily needed, so just click `Next: Review`.
62
+
* Review the presented information and if all seems good click `Create user`.
63
+
* You are presented with `Access key ID` and `Secret access key` which you will need to complete this example, so store them safely.
64
+
* Click `Close`.
65
65
66
66
5.[Install AWS Command Line Interface (AWS CLI)](https://docs.aws.amazon.com/cli/latest/userguide/install-cliv1.html) to gain programmic access to AWS cloud.
67
67
68
68
6. Configure AWS CLI with command `aws configure` as desribed in the [instructions](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-quickstart.html#cli-configure-quickstart-config)
69
69
70
70
7. Create AWS S3 bucket for the web site content. Note that the S3 bucket names must be globally unique.
71
71
72
-
* The syntax is `aws s3 mb <bucket name>` as described in the [instructions](https://docs.aws.amazon.com/cli/latest/userguide/cli-services-s3-commands.html#using-s3-commands-managing-buckets-creating)
73
-
* For example `aws s3 mb s3://my-static-website-jh34jsjmg`
74
-
* Verify that the bucket was successfully created with command `aws s3 ls` which list the existing buckets
72
+
* The syntax is `aws s3 mb <bucket name>` as described in the [instructions](https://docs.aws.amazon.com/cli/latest/userguide/cli-services-s3-commands.html#using-s3-commands-managing-buckets-creating)
73
+
* For example `aws s3 mb s3://my-static-website-jh34jsjmg`
74
+
* Verify that the bucket was successfully created with command `aws s3 ls` which list the existing buckets
75
75
76
76
8. Configure the bucket as a web site with command `aws s3 website` as described in the [instructions](https://docs.aws.amazon.com/cli/latest/reference/s3/website.html).
77
77
78
-
* E.g. `aws s3 website s3://my-static-website-jh34jsjmg --index-document index.html --error-document error.html`
78
+
* E.g. `aws s3 website s3://my-static-website-jh34jsjmg --index-document index.html --error-document error.html`
79
79
80
80
9. Upload content to the bucket.
81
81
82
-
* First create the content, at least `index.html` and `error.html` documents.
82
+
* First create the content, at least `index.html` and `error.html` documents.
83
83
84
-
index.html
85
-
```html
86
-
<!doctype html>
87
-
<head>
88
-
<title>My Static Web Site</title>
89
-
</head>
90
-
<body>
91
-
<h1>I'm the index.html</h1>
92
-
</body>
93
-
```
94
-
95
-
error.html
96
-
```html
97
-
<!doctype html>
98
-
<head>
99
-
<title>My Static Web Site</title>
100
-
</head>
101
-
<body>
102
-
<h1>I'm the index.html</h1>
103
-
</body>
104
-
```
105
-
106
-
* Upload the content to your bucket as described [here](https://docs.aws.amazon.com/cli/latest/userguide/cli-services-s3-commands.html#using-s3-commands-managing-objects-copy)
107
-
* E.g. `aws s3 cp index.html s3://my-static-website-jh34jsjmg` and `aws s3 cp error.html s3://my-static-website-jh34jsjmg`
84
+
index.html
85
+
```html
86
+
<!doctype html>
87
+
<head>
88
+
<title>My Static Web Site</title>
89
+
</head>
90
+
<body>
91
+
<h1>I'm the index.html</h1>
92
+
</body>
93
+
```
94
+
95
+
error.html
96
+
```html
97
+
<!doctype html>
98
+
<head>
99
+
<title>My Static Web Site</title>
100
+
</head>
101
+
<body>
102
+
<h1>I'm the index.html</h1>
103
+
</body>
104
+
```
105
+
106
+
* Upload the content to your bucket as described [here](https://docs.aws.amazon.com/cli/latest/userguide/cli-services-s3-commands.html#using-s3-commands-managing-objects-copy)
107
+
* E.g. `aws s3 cp index.html s3://my-static-website-jh34jsjmg` and `aws s3 cp error.html s3://my-static-website-jh34jsjmg`
108
108
109
109
10. Next we need to set the bucket policy to allow read access.
110
110
111
-
* Create `policy.json` with the following contents (note that you need to replace the bucket name with your own).
* Set the bucket policy according to these [instructions](https://docs.aws.amazon.com/cli/latest/reference/s3api/put-bucket-policy.html)
129
+
* E.g. `aws s3api put-bucket-policy --bucket my-static-website-jh34jsjmg --policy file://policy.json`
130
130
131
131
11. Test the web site in your browser.
132
132
133
-
* The web site URL format is `http://<bucket-name>.s3-website-<region-name>.amazonaws.com`
134
-
* E.g. this web site was created in `eu-west-1` region with name `my-static-website-jh34jsjmg` so it can be accessed via url `http://my-static-website-jh34jsjmg.s3-website-eu-west-1.amazonaws.com`
133
+
* The web site URL format is `http://<bucket-name>.s3-website-<region-name>.amazonaws.com`
134
+
* E.g. this web site was created in `eu-west-1` region with name `my-static-website-jh34jsjmg` so it can be accessed via url `http://my-static-website-jh34jsjmg.s3-website-eu-west-1.amazonaws.com`
135
135
136
136
12. Create CloudFormation distribution for the web site.
137
137
138
-
* The syntax is described in [this reference](https://docs.aws.amazon.com/cli/latest/reference/cloudfront/create-distribution.html)
139
-
* E.g. the easiest way is to call `aws cloudfront create-distribution --origin-domain-name my-static-website-jh34jsjmg.s3.amazonaws.com --default-root-object index.html`
140
-
* There's also JSON syntax e.g. `--distribution-config file://dist-config.json` to pass distribution configuration arguments in file
141
-
* The output of the call will show you the exact distribution settings including the generated CloudFront domain name you can use for testing e.g. `d2k3xwnaqa8nqx.cloudfront.net`
142
-
* CloudFormation distribution deployment takes some time, but once it's completed your web site is served from data centers all around the globe!
138
+
* The syntax is described in [this reference](https://docs.aws.amazon.com/cli/latest/reference/cloudfront/create-distribution.html)
139
+
* E.g. the easiest way is to call `aws cloudfront create-distribution --origin-domain-name my-static-website-jh34jsjmg.s3.amazonaws.com --default-root-object index.html`
140
+
* There's also JSON syntax e.g. `--distribution-config file://dist-config.json` to pass distribution configuration arguments in file
141
+
* The output of the call will show you the exact distribution settings including the generated CloudFront domain name you can use for testing e.g. `d2k3xwnaqa8nqx.cloudfront.net`
142
+
* CloudFormation distribution deployment takes some time, but once it's completed your web site is served from data centers all around the globe!
143
143
144
144
13. That's it! You have implemented a static web site with content distribution network serving it lightning fast all around the world.
145
145
146
-
* To update the web site you need to update the objects in S3 bucket and invalidate the objects in the CloudFront distribution
147
-
* To do it from AWS CLI see [this reference](https://docs.aws.amazon.com/cli/latest/reference/cloudfront/create-invalidation.html)
148
-
* Some further development you might want to do is serve the content over https and add a domain name for your site
146
+
* To update the web site you need to update the objects in S3 bucket and invalidate the objects in the CloudFront distribution
147
+
* To do it from AWS CLI see [this reference](https://docs.aws.amazon.com/cli/latest/reference/cloudfront/create-invalidation.html)
148
+
* Some further development you might want to do is serve the content over https and add a domain name for your site
0 commit comments